Hacker News new | comments | ask | show | jobs | submit login

I, for one, find the TIOBE index absolutely incredible - ie, I don't believe it at all. As it says:

"The index can be used to check whether your programming skills are still up to date"

C is #2. Javascript, for better or worse the most important language for web dev, is #8. So what is this list implying - that JS developers should get with the times and learn C?

Without details on how this list is compiled, I think it's pretty useless. Even the most cursory search of any job site will show orders of magnitudes more jobs for "unpopular" languages like JS, ruby and golang than for C. I'm not even sure what C is used for these days beyond kernel/driver development or embedded systems. I think I've met precisely one C developer in the last 10 years.

Maybe I live in a bubble but this list just seems divorced from (my) reality.




You 100% live in a bubble.

First of all, I'm a C developer. Hi!

Second of all, web developers are not the majority they think they are. The internet is huge, sure, but remember it's not just running on web browsers. It's also running on servers which have network interfaces that need drivers and implementations of the IP suite, through firewalls, routers, switches, and load balancers that are all written in C, and running your trendy web app in a hypervisor that's written in C. Your database - be it PostgreSQL, MariaDB, Redis, etc - it's written in C. Your web browser uses C for loads of stuff like sqlite, rendering, etc. The Python and Ruby interpreters are written in C. The .NET CLR is written in C, too.

Beyond the internet, C has an even more pronounced presence. Every microcontroller around you - your fridge, microwave, coffee machine, car, subway train - all written in C. The code on your phone is at least 50% written in C. Your fancy mouse and keyboard? C. Manufacturing robots in factories are coded in C. CNC machines and PNP machines are written in C. 3D printers are programmed in C. Airplanes are programmed in C, and trains and boats too. All spacecraft are programmed in C, from the Curiosity rover to the Rosetta spacecraft (and it's lander) to the international space station.

All of your utilities like grep, ls, git - written in C. So is the code that's decoding the music you're listening to right now, and the YouTube video you watched earlier, and most other multimedia code is C. Your crypto libraries are written in C. Compression algorithms are usually implemented in C. Most font rendering is done in C. Nginx, postfix, openssh - C.

All that being said, TIOBE is probably bullshit. I can't imagine C isn't #1.


Maybe you live in a bubble too. That's just a guess but a majority of windows programs may be made in C#


On the contrary, I also regularly work in depth with JavaScript, TypeScript, Python, Golang, Java, Scala, Rust, C#, Perl, assembly, and more, in no particular order, and I routinely work as a sysadmin, network administrator, and operations. I may live in a bubble but I'd say it's of adequate breadth to judge the relevative scales of many ecosystems.


That's quite the repertoire, so you mind if I ask what your role/position is?


This is not as uncommon. For example here where I live (Colombia) we are used to be "the guy that know all about computers". As developer, not only I use a lot of programming languages and tools, but also do stuff like:

- Fix the computers problems of (End users, customers, the son of the customer, my owm team-mates...)

- Do tech support (that is separate of the above 'cause that are task done when doing programming (?) not as a concret position on the company)

- Build the network infraestructure (not the software!) (put the literal wires, do small land-lord reparations while on that...)

- Build the network infraestructure, but on software

- Mount the security of the company. Sadly, the software side. Nobody let me use actual weapons and tactical gear ....

- Do design, UX and similar stuff because that kind of people not exist here (or is very rare).

That not mean I actually push for this. Some of this task are never paid (and I do 'cause I wanna to be pay for my primary work!).

This are just situations that happened...


I don't really have a particular role, I just work on a bunch of different stuff as needs demand. I think officially it's just a generic software engineer title.


He is the main developer on the Linux Window Manager I use https://github.com/swaywm/sway


Programmer.

As a programmer you should be versatile.


>but a majority of windows programs may be made in C#

If that were true, and I'm not sure it is, it doesn't account for all the much software, since almost everything is a web app now.


Airbus and Boeing both use Ada for their avionics.


I don't know about Boeing but Airbus uses C in addition to Ada. IIRC they made significant use of Caveat and are now supporting Frama-C.


Specifically, unless my knowledge is out of date, they use a subset of C known as MISRA-C that is easier to analyze using static analysis.


I'm also a C dev, Hi OP.


>I'm not even sure what C is used for these days beyond kernel/driver development or embedded systems. I think I've met precisely one C developer in the last 10 years.

I meet hundreds every day, and nary any web developers. I'm working in an embedded shop though, so YMMV on personal experience here.

I learned some JS in school but haven't needed it since. Except writing some extensions, which was easy enough to learn in an afternoon if you know C-like languages. (I used TypeScript to be fair, much easier for me, why anyone would use pure JS is beyond me).

I'm not sure TIOBE is useful for anything either. But a lot of legacy programs in C need maintenance. A lot of government software, flight control systems, banking systems etc. are probably still in large parts C.

Just look at the salaries of COBOL developers (where is that on TIOBE again?), and you'll see that maintenance is big business. And that language is as ANCIENT as ALLCAPS.

Looking as C is still at the heart of almost everything, I think maintenance work will still be a big consideration for the next 50 years. It might not be sexy or what you want to do though.


I'm not sure I agree with your point about COBOL developers, though I do agree with your larger point about C. The reason that COBOL developers get big bucks today is because so few of them remain. During the late-80s and the '90s, there were massive layoffs that decimated the COBOL job market. The developers earning big bucks today doing COBOL doing today are the ones that survived those layoffs, not your "typical" COBOL developer. I would wager that the median COBOL developer either transitioned into management, out of the industry or is working in a completely different language today.


The reason that COBOL developers get big bucks today is because so few of them remain. During the late-80s and the '90s, there were massive layoffs that decimated the COBOL job market.

This if false, I work at a company that still employees several hundred cobol developers onshore, and many hundreds more offshore. This is down from > 1,000 several years aog. Cobol pay is mediocre, here it's around $75k at the 10 year mark. Plus they're subject to being RIF'ed and any time (reduction in force, layed off).

The idea that there's a shortage is false too. In the local market there are several hundred if not thousands of cobol developers who have been laid off over the past couple of decades. Most probably left the field entirely.

I see no reason to believe this local experience is not typical of the US in general.


I think you might be underestimating the unwillingness of older people to relocate or travel long distances for a 'job opportunity'. These are also people who probably tend not to live in bigger cities as much.

They've seen countless jobs come & go, but they choose to live where they are for long-standing reasons which are often harder to let go of the older they get. They've moved away from the hustle and bustle and are happy with their choice.

I have personally met older people with higher end skills (that would command a six figure salary in certain cities) choosing to work as janitors at a local institution instead of chasing that dollar, because they love their town and lifestyle and the cost of living is low.

Edit: Forgot to add, I also know a guy over 70 who flies all over the place doing COBOL work and is making bank doing it.


> if false

After the Freudian slip I think this is the first time I come across a Boolean slip.


Yes, my main point here was maintenance is important and the number of people who know old languages usually shrinks, making it a very good job market as you point out.


What are “big bucks” these days in the context of FAANG? I think you have to get to 450k+, or is that still too low?


OK thanks for that. I guess you confirm that I do, indeed, live in a bubble!


And I live in mine :)


> Maybe I live in a bubble but this list just seems divorced from (my) reality.

Are you a web developer?

Yes, C# and Javascript are all the ads I see for developer jobs, if I'm looking at web developer jobs.

But doing a search in my area for C/C++ developers and plenty of jobs vacancies come back.

Plenty for Java too, one for Python (from my cursory look, the Python position I saw was the highest paid too, by a good margin).

The whole world doesn't use javascript, some of us want nothing to do with it / avoid it like the plague.

I would agree though, if you just want to play a numbers game it's probably safest to learn JS, C# or Java nowadays if all you care about is getting employed.


This cuts both ways though. Sure, if you learn Java you'll be likely to find employment.

If you learn Java and also Scala and Clojure, and some Haskell and R just to round out your experience, then you will find a much higher paying job regardless of what language you end up doing, because you'll not only be better at programming in a "standard" job but you'll become eligible for more niche, higher-paying positions.


Hi! Developer working in C here. I'm neither a kernel dev nor an embedded dev.

My current job is network programming on the core product of my employer. It's "legacy" in the sense that it's been around a long time but it's actively developed and continually extended to meet rapidly evolving customer needs.

I also wrote C in my previous job doing non-flight software for a space mission, analyzing telemetry, processing image data, automated planning of camera targeting, etc. Much other work was done in scripting languages, and when those weren't performant enough for the task then I wrote C libraries to do the heavy lifting for them to interface with.

You don't live in a bubble. There are whole segments of the software industry where you'll never see C developers, and there are many companies where you C could (should?) be used but isn't because it's unhip and old. Software development these days is pretty fragmented and there's a tendency for people to think that their experience describes everything, but it's not the case.


> Maybe I live in a bubble but this list just seems divorced from (my) reality.

Drive down the road and look around. There are sensors and devices on poles everywhere. Your car iteself, elevators, automatic doors, etc. Think of all the devices that you encounter in a day. There's an entire world of software out there that has absolutely nothing to do with web technologies.


Yep, any emerging physical technology most likely had low level developers behind it. The low level guys are the ons who make it compatible with the high level stuff too.


> So what is this list implying - that JS developers should get with the times and learn C?

Presently on said path. You want to program hardware for satellites? Because C is how you program hardware for satellites (etc).

In serious, there seems to be a ton of jobs out there for C(& C++) developers. Funny though— if you search for "software engineer" or "software developer" you're not likely to see them rise to the top of the list. You'll probably have to more specifically search for "hardware" or "embedded" developer and you'll find a ton looking for C/C++, assembly(in various incarnations and sub-specs), and Java ME.


> Without details on how this list is compiled, I think it's pretty useless.

"Since there are many questions about the way the TIOBE index is assembled, a special page is devoted to its definition."

https://www.tiobe.com/tiobe-index/programming-languages-defi...


Thanks for that. OK, that indeed confirms the list's uselessness.

TL;DR: It counts all the hits on N search engines for any language with its own wikipedia page.

Obviously that will bias towards older languages with a large cumulative number of mentions. I don't see it as useful for evaluating the current popularity of languages.


Popularity is too ambiguous, current popularity even more so. Any index can be considered a popularity index.

TIOBE is more like a long term impact kind of index. It's good enough if you want to understand familiarity with the language or penetration of the language. If you want to know which languages people hear about currently, check out PYPL index [1]. And of course job market is an index of languages used today. More insight can be extracted from combining metrics, like adoption speed index.

[1] http://pypl.github.io/PYPL.html


Supporting this view from the linked post: "A few of the more obscure languages that TIOBE ranks higher than Haskell are Scratch, D, ABAP, Apex, and PL/I."

Scratch? If TIOBE is measuring children learning a language in middle school, maybe, but I take it that's not what people ordinarily mean by language use or popularity...


The index is clearly not credible:

https://www.tiobe.com/tiobe-index/visual-basic-dotnet/

There is no way that in reality visual basic is surging up the charts and more popular than most other languages, instead I would guess they are attributing some .Net results to VB instead of C#.

for comparison, this is the google trends chart of visual basic: https://trends.google.com/trends/explore?date=all&q=visual%2...


I have my doubts about it as well. They incorrectly ranked Crystal higher than it should have been because there is this phenomenon known as "crystal programming" which clashes with the Crystal programming language[1]. To their credit, they fixed it when I emailed them about it, but who knows what other misrankings exist.

1 - https://meanings.crystalsandjewelry.com/how-to-program-cryst...


I also have a hard time believing that VB6 is more popular than Objective-C.


If VB6==VBA then we're including Excel power users, and there are a lot of them.


software_development.web != software_development




Applications are open for YC Summer 2019

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact

Search: