4 ms·
> Where are all the C++ programmers? People are seemingly scared away from the language by a terrible stigma: the notion that it is a legacy program. I think t
by mywittyname 4y ago
> Where are all the C++ programmers? People are seemingly scared away from the language by a terrible stigma: the notion that it is a legacy program.
I think this is because the pool of jobs for C++ programmers is so small.
I took a position as a web dev at a company whose main product was a CAD application. Most of my work was in NodeJS, but occasionally, I'd have to dip into the C/C++ layer to make some API changes to facilitate my JS development. When my project was cancelled, I was given the option to move to a team doing all C++ development for the desktop app. I gave it some thought and realized that this was probably the only company within 100 miles who needed C++ developers, and that most of the people I worked with were hired out of college.
I left immediate afterwards. I didn't want to be stuck in my 40s-50s with a unless skillset and have to start back from the beginning. I'm sure other people considering fintech work feel similarly. We live in a world where people keep their jobs for 2-5 years, meaning we live in a world where workers need to consider the needs of the entire job market, not the needs of an individual company.
- AshamedCaptain 4y ago> I didn't want to be stuck in my 40s-50s with a unless skillset and have to start back from the beginning. This is absolutely nonsensical. In 20 years no one will remember about NodeJS (or it will not be the mainstream tool for web dev), but the C++ CAD application will definitely still be here, in both use and active development, and it will very likely still be in C++. Just think about it. The last C++ CAD application I worked in was started in 1987. In 2023 it was still C++, and not only still sellable, but also incredibly profitable. They are practically a monopoly in their target market. A market which is highly likely to continue to exist for the next century or so. How did NodeJS look like in 1987 ? A single skillset that can carry for 30years+ in computing is _nothing_ to scoff at.
- janalsncm 4y agoThe basic fact that the current internet uses so much NodeJS means that in 20 years it will continue to be in-demand.
- AshamedCaptain 4y agoAny luck finding Perl CGI webdev jobs these days? (I'm sure there are. I hope the point is clear, though).
- kjksf 4y agoIn the context of this discussion Perl is an exception that proves the rule. There are no Perl jobs because Perl was supplanted by Python and Ruby and embarked on a disastrous Perl 6 journey. This will not happen to node. JavaScript is and will continue to be for the next 10 years the most popular programming language ("popular" == "most jobs") because it has monopoly in the browser. As a result JavaScript will continue to be used in other domains (backend, desktop, mobile) due to sheer number of JavaScript programmers. Quantity is a quality of its own. So node (and deno and bun) will continue to be used and there will be plenty of jobs for JavaScript programmers ("node" programmer is 90% JavaScript programmer and 10% "node specific APIs" programmer). Of all programming languages that you worry might disappear in the future, JavaScript is at the end of the list.
- dekhn 4y agoVinyl records outlasted CDs. Some technologies, even if they are popular today, die a death of slow attrition. There may be demand, but it's niche (like COBOL today). C (and C++) will remain popular for a longer time for a number of reasons; after all, under the hood NodeJS is a C program right? Because it's the most useful portable macro assembler anybody has invented, and it forms the basis of nearly every higher-level system.
- spoiler 4y agoYou're conflating runtime and language. I doubt JS or TS will go away anytime soon, seeing as they power the Web. Sure, there will be ways to augment them and the languages evolved since what they used to be, but I don't think they'll "die"
- krisoft 4y ago> I doubt JS or TS will go away anytime soon, seeing as they power the Web. We have a Javascript interpreter orbiting around the L2 Lagrange point.[1] Safe to say that will remain there even if our culture down here on Earth collapses. As far as cultural artefacts go that one will probably survive all of us. 1: https://www.stsci.edu/~idash/pub/dashevsky0607rcsgso.pdf https://www.stsci.edu/~idash/pub/dashevsky0607rcsgso.pdf section 3.1
- AshamedCaptain 4y agoI am not conflating, just replying to OP. Anyway, even if you do want to talk about web dev in general... how did web dev look in 1987, again? The mere fact that you are listing languages that are only a decade or so old in your statement should be a rather large hint that web development is a much faster moving target, and highly unlikely to still be recognizable in a couple decades.
- mywittyname 4y agoTo be clear, my thought process was something like this: I have useful skills that I can use to leverage into another job right now. In a year, those skills will be slightly irrelevant, in two years, those skills will be very irrelevant, etc. Basically, the longer I stayed there, the less likely I was to be able to get another job based on my current skillset. Three jobs later, I don't do NodeJS development anymore. I leveraged my skillset to get a GCP consulting gig and now I work for a startup where I use my expertise to get new products off the ground. If I decided to leave tomorrow, I have 1000x more job opportunities as a GCP consultant than I would as a C++ developer. My goal is to keep learning the tools that will give me the best job opportunities. Some people want to be experts in a niche area. But I want to have the most job opportunities available to me. One is not better than the other, but I think more people share my outlook. A new developer today could make an entire career out of doing PHP development for the next 30 years, but would that be an advisable choice of action?
- Firmwarrior 4y agoThere's this mindset that you have to avoid finding a niche, because you're limiting your options. Being a perfect fullstack devops generalist is like fishing in the ocean with trillions of fish, while having a niche is more like just shooting fish in a barrel. You don't need an unlimited supply of jobs. You just need one job, and specializing in something puts you in a good position to find one.
- kjksf 4y agoYes, but you should specialize in domain and not programming language. It's better to be a specialist in JavaScript + crypto than forth. If crypto doesn't pan out, you're still a JavaScript developer that can get a non-crypto job. If forth doesn't pan out, you have to become JavaScript developer to get a job.
- eddsh1994 4y agoC++ is here for longer than your career will last. Outside of HN/Web bubbles it's still used everywhere. Chances are you're writing this message on a C/C++ OS running a C/C++ browser engine. NodeJS and v8 are C++ applications. I went to a lecture by Stroustrup once who was asked what he thought of Java and jokingly said he didn't like to be negative about C++ applications. While this is a joke and Java isn't actually written in C++ (anymore?), it's good to remember the majority of the stack under yours is probably in it.
- spoiler 4y ago> Chances are you're writing this message on a C/C++ OS running a C/C++ browser engine. NodeJS and v8 are C++ applications. That's because there was hardly any mainstream alternatives (sans C, I guess) within its domains (ie systems programming and related field) until recently. That's not to say people haven't wished for alternatives. God knows I have
- AshamedCaptain 4y agoThere have been a million things hyped as alternatives, and even though it is very easy to argue retrospectively that they were not really alternatives, they definitely were hyped as much or even more than e.g. Rust is hyped these days. think Java and Go. I have already _lived_ an era where I thought C++ would eventually be replaced with Java and I would have to learn Java (this was so long ago). The effect was so pervasive that e.g. universities started teaching Java instead of C as their introductory language. Why would anyone want to manage memory manually, ever again? Benchmarks were showing Java as beating C++ in some algorithms, and theoretical papers appeared about how some kind of programs are much easier to optimize for JIT VMs than classical compilers. Everyone thought it was just a matter of time until classical compiled languages were irrelevant. Even in the embedded space (and Java made significant inroads). The effect was so big I was actually convinced to start up learning Java ... only for C++ to eventually prevail over Java. The last time this happened was with Go. Every single week there would be an article here in HN about Go this and Go that, or how Google is rewritting their C/C++ codebases into Go. Turns out, they did not. You then start to hear retroactive justifications about how Go was actually a "services" language instead of a C replacement (despite the fact it was literally sold as a C replacement made by the creators of C itself no less). Nowadays we get articles about Google rewriting their codebases into Rust.
- fartsucker69 4y agopeople talking about tech and frameworks as if it takes more than 2 weeks to switch
- bubbleRefuge 4y agoWorked at cruise line company many years ago that had some IBM mainframe developers who I think used COBOL as the programming platform. Given my preconceptions that few engineers had COBOL skills, I assumed that there were making big $'s in this niche market. Found out it was like 50 dollars an hour which was significantly less that I was getting as an enterprise java dev. Asked one of them why the comp was so low and they said its was because there was still allot of graybearded COBOL devs around and fewer opportunities.