Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Electric engineering programming language

  1. Dec 13, 2009 #1
    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: Dec 13, 2009
  2. jcsd
  3. Dec 13, 2009 #2
    You're not likely to go wrong with c, I don't know of any microcontrollers that don't have a c compiler.
  4. Dec 16, 2009 #3
    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.
  5. Dec 17, 2009 #4
    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.
  6. Dec 18, 2009 #5
    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!
  7. Dec 18, 2009 #6
    +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.
  8. Dec 18, 2009 #7
    Dont forget the "start vector" of a microprocessor.
  9. Dec 19, 2009 #8
    then ill learn C first. Thanks
  10. Jan 24, 2010 #9
    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.


Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook