Electric engineering programming language

Click For Summary

Discussion Overview

The discussion revolves around the best programming languages for someone studying electrical engineering and computer engineering, particularly in relation to microchip and microprocessor programming. Participants explore various languages and their applications in embedded systems and hardware development.

Discussion Character

  • Exploratory
  • Technical explanation
  • Debate/contested

Main Points Raised

  • One participant suggests starting with C, noting its prevalence in microcontroller programming.
  • Another participant agrees that C is a solid choice, stating that most microcontrollers have a C compiler.
  • Some participants propose learning both C and Python, highlighting their different uses and features, such as compiled vs. interpreted languages and memory management.
  • There is mention of assembly language as being useful for programming microcontrollers, with some advocating for its importance alongside C.
  • One participant emphasizes the need to familiarize oneself with datasheets and manuals for different microcontrollers, as they vary significantly.
  • Another participant suggests learning basic assembly language like x86 and programming FPGAs with VHDL or Verilog, arguing that high-level languages like C may not utilize hardware efficiently.
  • Several participants agree on the importance of C and assembly for microcontroller programming, with one noting that most microcontrollers can be programmed using these languages.
  • There is a brief mention of the "start vector" of a microprocessor, indicating a specific technical detail relevant to the discussion.

Areas of Agreement / Disagreement

Participants generally agree on the importance of C and assembly for microcontroller programming, but there are differing opinions on the necessity and efficiency of using high-level languages like Python and Java in this context. The discussion remains unresolved regarding the best approach to learning programming languages for embedded systems.

Contextual Notes

Some participants express uncertainty about the efficiency of high-level languages in hardware implementation, and there are varying opinions on the best languages for specific applications, such as FPGAs and microcontrollers.

SuperMiguel
Messages
109
Reaction score
0
Well I am studying electric engineering and computer engineering major... i really want to get into microchips/microprocessor programing.. i don't know any programming language at this moment should i learn C? or i should start with another language like phyton?
 
Last edited:
Engineering news on Phys.org
You're not likely to go wrong with c, I don't know of any microcontrollers that don't have a c compiler.
 
I suggest you learn both C and Python. There are different uses for each and they have different features. Learning both and contrasting the way things are handled in each will help you get a good understanding of programming in general. Interpreted vs. compiled, dynamically typed vs statically typed vs. strongly typed, memory allocation, etc. are some things that you would learn about. C is widely used for embedded programming and also for hardware development via System C and because knowing C will help you with verilog. Python is useful for higher level work, prototyping things, tying things together, etc.

Over your career you will probably have to learn or use many languages so demonstrating that you can learn two common ones is a good start.
 
For programming microcontrollers, C and assembler are very useful. Many embedded systems also use Java.
When writing code for a PC, Python, Java or C# are great choices.
 
Learn C and assembly. These are what I learned in my micro class. Get familiar with datasheets and manuals about microcontrollers because they are all different and I doubt the one you learn in school is the one you use on your job. Easier said than done though!
 
+1 for C and Assembly. Like stated above, I don't think you will ever find a micro that can't be programmed using either one of those languages with perhaps the exception of some FPGA chips.
 
Dont forget the "start vector" of a microprocessor.
 
then ill learn C first. Thanks
 
If you want to get involved with microprocessors/microcontrollers/FPGA etc. I would suggest first learning some basic assembly language like x86, and play around with Intel80188 for example. While its true you can write the code in C for microprocessors it defeats the purpose because it is a high level language. A lot of your code would be impemented inefficiently in hardware by the compliers. Similarly for FGGA you should learn VHDL or Verilog( Verilog is widely used in the industry, but VHDL is mmuch better because again it's a little low level than verilog) to harness full power of FPGAs. If you have some time on your hands before dabbling into FPGAs you should program a couple of PALs and CPLDs either with ABEL or PALASM.

-------------------------------------------------------------------------------------------------------

www.digitalblggr.blogspot.com
 

Similar threads

  • · Replies 7 ·
Replies
7
Views
3K
  • · Replies 102 ·
4
Replies
102
Views
4K
Replies
3
Views
2K
  • · Replies 25 ·
Replies
25
Views
1K
  • · Replies 15 ·
Replies
15
Views
30K
Replies
86
Views
3K
Replies
3
Views
4K
  • · Replies 6 ·
Replies
6
Views
3K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 18 ·
Replies
18
Views
4K