Thought Leadership

Another programming language survey – what are you using?

By Colin Walls

As I have talked about before, I am particularly interested in programming languages, with a strong focus on embedded, of course. So, I always take a look when I see a survey that looks at what developers are using and what the trends are. When I saw that the IEEE were publishing some results, they really had my attention.

However, all was not what it seems …

The IEEE results may be viewed interactively here. If you filter on Embedded [by clicking on the other categories to exclude them], then show Show Extended Ranking, the ranking order is like this:

  1. C
  2. C++
  3. Assembly
  4. Arduino
  5. D
  6. Haskell
  7. VHDL
  8. Verilog
  9. Erlang
  10. Ada
  11. TCL
  12. Ladder Logic
  13. Forth

The top of the list is fine. C/C++ are dominant and assembly matters. Arduino is essentially C/C++ like. Later on there is Ada, Erlang and Forth – I am OK with those. But then there are so many anomalies:

  • I have heard of D and Haskell, but are they really being used in a volume that merits their inclusion here?
  • VHDL and Verilog are hardware definition languages – nothing to do with embedded programming.
  • TCL is a widely used scripting language, but Python and Lua are also widely used options. Also, such scripting languages are less likely to be used for programming embedded systems, but are often applied to configuring development tools.
  • Ladder Logic is used to parametrically program programmable logic controllers [PLCs]. I would not class that as embedded programming.
  • Where is Java? Although you cannot build a complete embedded system in Java, it has a place.
  • Javascript and HTML [5] are likely to be of interest to anyone developing a device with a graphical user interface.
  • Maybe XML should have a look in.

I am sure that there are other omissions that I have not thought of.



0 thoughts about “Another programming language survey – what are you using?
  • Thanks a lot for yYou mentioned: “VHDL and Verilog are hardware definition languages – nothing to do with embedded programming”. Many experts in this area say so. But I think an FPGA or a CPLD can be used in an embedded system and these are programmed by HDL. So VHDL and Verilog come under embedded programming. Please give your views.

  • I agree that FPGAs introduce a degree of fuzziness and what is software and what is hardware. I took a class in VHDL a while back and was stuck by how different the process was from writing “real” software, despite the similarities in syntax etc.

Leave a Reply

This article first appeared on the Siemens Digital Industries Software blog at