Programming language for satellites?

In summary, the majority of satellites use C, C++, and Ada programming languages due to their safety features. ASM is also used in some cases. However, the development for these systems is often done in MATLAB/Simulink due to their ease of use for complex calculations and simulations. The Pumpkin Cubesat kit also uses C as its primary programming language.
  • #1
Biosyn
115
0
Hello,

What programming languages are used in the majority of satellites? I was thinking it would be C,C++, and Ada because these languages are close to the processor. I'm sure ASM is also used too.
Am I correct? I don't think any satellite uses Java but I could be wrong.
 
Physics news on Phys.org
  • #2
Biosyn said:
Hello,

What programming languages are used in the majority of satellites? I was thinking it would be C,C++, and Ada because these languages are close to the processor. I'm sure ASM is also used too.
Am I correct? I don't think any satellite uses Java but I could be wrong.
Ada was developed precisely for applications such as this, but it never quite took hold. The biggest problems are lack of good Ada programmers and lack of good support tools. The language of choice nowadays is C++, sans some keywords that are either verboten or whose usage is very restricted (register, volatile, mutable, new, delete, catch, and throw). Closeness to the processor is not a factor. Neither Ada nor C++ is a close to the metal language. The primary reason for choosing Ada and C++ is safety. C isn't used all that much because C is not type safe. It's not a safe language, period. The burden of safety lies solely with the programmer rather than being built into the language.

Under the hood, the RTOS may well have good amounts of C and assembly in it. But I don't think you're asking about the RTOS. You're asking about the software used to operate and control the spacecraft .
 
  • #3
Although C/C++ are usually used for RTOS but the development (at least the type of dev that a non-software engineer likes) for these systems is done in MATLAB/Simulink. MATLAB has tools for computing euler angles and quaternion math easily which is used extensively in spacecraft simulation and GNC design.

Most Aero's are more interested in the physics than the details of the language, which is why MATLAB/Simulink are preferred over C. They do generate C/C++ code for the processors used on board.
 
  • #4
I actually designed a satellite as part of a team for my design project. We used STK software. I am not sure what language it had under the hood though.

If you mean the actual language inside the satellite well I have no idea. It would be whatever is the simplest and least complicated. There are also strict guidelines (due to the orbit mechanics) on how much data can actually be sent to the satellite and what ground-stations actually receive. I remember X band was touted a lot and some other band which I forgot.
 
  • #5
Thanks for the responses!

What programming language is used for the Pumpkin Cubesat kit?
Is it C programming language? I believe that's what the Salvo RTOS is programmed in.
 
  • #6
Biosyn said:
Thanks for the responses!

What programming language is used for the Pumpkin Cubesat kit?
Is it C programming language? I believe that's what the Salvo RTOS is programmed in.

Yes, it's C. More info here.
 

1. What is the most commonly used programming language for satellites?

The most commonly used programming language for satellites is Assembly language. This is because it is low-level and allows for precise control over hardware, which is essential for satellites that operate in extreme conditions.

2. Can any programming language be used for satellites?

Yes, any programming language can be used for satellites. However, some languages may be more suitable than others depending on the specific requirements of the satellite project.

3. How do programming languages affect the performance of satellites?

Programming languages can greatly affect the performance of satellites. For example, using a high-level language may result in slower processing times compared to a low-level language. Additionally, the efficiency of the code written in a particular language can also impact the performance of the satellite.

4. Are there any specific programming languages recommended for satellite development?

There are no specific programming languages recommended for satellite development. However, some commonly used languages in the industry include Assembly, C, and Java. Ultimately, the choice of language will depend on the specific requirements and constraints of the satellite project.

5. How important is it to have a reliable programming language for satellites?

Having a reliable programming language is crucial for satellites as they operate in remote and harsh environments where failure is not an option. The language used must be able to handle the demands of the satellite's mission and ensure the accuracy and reliability of its operations.

Similar threads

Replies
11
Views
2K
Replies
0
Views
211
  • Science and Math Textbooks
Replies
4
Views
1K
  • STEM Academic Advising
Replies
12
Views
1K
  • STEM Career Guidance
Replies
22
Views
3K
  • Programming and Computer Science
Replies
6
Views
1K
  • Computing and Technology
Replies
9
Views
1K
  • Programming and Computer Science
Replies
16
Views
1K
  • Programming and Computer Science
Replies
8
Views
878
  • Programming and Computer Science
Replies
15
Views
1K
Back
Top