Electric engineering programming language

Well im studying electric engineering and computer engineering major... i really want to get into microchips/microprocessor programing.. i dont know any programming language at this moment should i learn C? or i should start with another language like phyton?
Last edited:
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.



The Physics Forums Way

We Value Quality
• Topics based on mainstream science
• Proper English grammar and spelling
We Value Civility
• Positive and compassionate attitudes
• Patience while debating
We Value Productivity
• Disciplined to remain on-topic
• Recognition of own weaknesses
• Solo and co-op problem solving