32 comments

[ 2.7 ms ] story [ 75.6 ms ] thread
A slightly odd selection of languages - some seriously obscure stuff in there, yet missing some really obvious ones.
I think it's because it's the IEEE, so the choice of language is screwed a bit towards hardware engineers, and developers of embedded devices.

The languages most would think is missing would most likely be languages like Swift and perhaps Rust. As popular as these languages seem, how many shipping applications really use them? Not that many in the grand scheme of things I would say.

This looks somewhat different to me than other rankings I've seen lately. Python is a nice language but putting it in first place kind of raises a lot of questions about the methodology since it is nowhere near that spot in essentially all similar rankings I've seen, ever. Also, python for embedded development?! I'm sure people do that but it hardly sounds like a typical use case for python.
Well, from what they say you can massage the data to get various views. Perhaps in ieee world, python is the top. But more generally it probably isn't.
The example they give for embedded Python is building an illuminated halloween costume (using a microcontroller). Another example I know of is comma.ai which is using it for their Android phone-powered self-driving car project.

I suppose Python can be used on embedded, but so can JavaScript (neither should be). One is on 1st, the other on 8th, doesn't make much sense.

I see a lot of job listings that want python as a general skill, but few job listings for python developers.
Python is used a lot for embedded development, not on the devices themselves but in the supporting tools and test systems. Every embedded system I've worked on in the last decade has had a python test system associated with it.
With the "robot" framework, python is fantastic to test embeded systems.
You just brought out bad dreams, having been one of their guinea pigs, back when it was HTML based.

I hope it is more user friendly nowadays.

>>Also, python for embedded development?! I'm sure people do that but it hardly sounds like a typical use case for python.

I think they mean for hobby coding like on RasberryPi. These days anything that doesn't come in a box is called a 'embedded system'.

MicroPython runs on micro-controllers and can even compile to native, a bit like Cython.

Lets not forget many embedded devices are more powerful than 8 bit home computers.

Good list but I think GitHub's list matches more closely to what I see people using: https://octoverse.github.com/

In particular, GitHub's list has JavaScript as #1 and I've seen a lot of frontend and middle-tier work moving to JavaScript via React, Node, Angular, Vue, etc.

Also, how is Assembly in the top 10 on the IEEE list??? I get that every machine runs it but I don't see a lot of people programming in assembly these days...

I don’t think GitHubs list is good either. It only contains open source software (right?) and does not account for any in-house software by big enterprise companies (and I think that those are still the biggest).
IEEE focuses a lot more on embedded and industry stuff IIRC so that would basically kill Javascript outright. Python is fairly popular there as is Assembly (I maintained a Assembly based production line controller from the 80s in a previous job)
Clarify "see". What do I use, what do 5 of my friends use?

Internet creates bias in that it seems like "the whole world", but this is hardly so.

WASM, I'm guessing.

Which would make this survey a really terrible survey.

I feel like the IEEE is more focused on embedded and industrial software. At least, when I was in that industry that's the last time I saw people with ieee.org e-mail addresses. And that explains why this list may appear weird to the HN audience. And this is a great reminder that what we (HN visitors) see is just our own filter bubble.
> First, Python is now listed as an embedded language. Previously, writing for embedded applications tilted heavily toward compiled languages, to avoid the overhead of evaluating code on the fly on machines with limited processing power and memory. But while Moore’s Law may be fading, it’s not dead yet. Many modern microcontrollers now have more than enough power to host a Python interpreter.

And more importantly, you can use Python and template frameworks to generate C code for your embedded targets. We don't write C manually these days.

> We don't write C manually these days.

I do.

Something like ESP32 is way more powerful than the PCW 1512 where we played Defender of the Crown.

There is plenty of juice on those systems for programming, given the languages we could use on MS-DOS.

> Programming Languages > HTML

Can the list even be taken seriously?

The whole thing with ranking programming languages and gauging technology trends is warping the minds of budding programmers. It's like they are watching a market ticker to figure out what to learn, instead of just asking them selves what they like doing.