3 ms·
I've seen this story several times. Once a language no longer has a developer pipeline, it becomes a language with no future. No matter how important and wide
by btilly 4y ago
I've seen this story several times.
Once a language no longer has a developer pipeline, it becomes a language with no future. No matter how important and widely used. You wind up with jobs begging for qualified developers. Given how systems last, the language may survive indefinitely. As nobody dares migrate projects off of it. But employers will struggle more and more to find employees.
The first language that this happened to was COBOL. There are still a lot of COBOL systems out there. And a lot of COBOL jobs. But nobody wants to go into COBOL for fairly obvious reasons.
- Bost 4y ago> But nobody wants to go into COBOL for fairly obvious reasons. On YouTube, type in "COBOL Mainframe", and you'll find out pretty quickly that there's a plenty of guys from India, including juniors who work with or on COBOL and Mainframes.
- btilly 4y agoYou have a point. However I'd also say that I'm not surprised to see people from India taking jobs that most developers don't want.
- gigel82 4y agoC++ is not going anywhere. All operating systems and almost all compilers for every other language (plus many of their runtimes) are written in it. <s>When the heat death of the universe is upon us and all other languages have ceased to exist and re-emerged thousands of times over, C++ will still be here, driving the lower-most layers on top of hardware.</s>
- 6yyyyyy 4y ago>All operating systems C != C++
- btilly 4y agoI declare your comment to be high quality BS. First of all I never said C++ was going anywhere. I compared it to COBOL which is still estimated to be involved something on the order of 60-80% of financial transactions. C++ has a similarly bright future. But secondly, your claim is wildly overstated. C++ is a lot less fundamental and essential than you think. Operating systems: Linux and the *BSD family are written in C, with Rust making some headway. (But C++ would be over Torvalds' dead body - see http://harmful.cat-v.org/software/c++/linus http://harmful.cat-v.org/software/c++/linus for example.) OS X is written in a combination of C and Objective C. Android is written in C and Java. Windows has a lot of C++, but the kernel is straight C for reasons that Raymond Chen explains at https://learn.microsoft.com/en-us/shows/one-dev-minute/one-dev-question-raymond-chen-programming-language-windows-written-in https://learn.microsoft.com/en-us/shows/one-dev-minute/one-d.... Not only are not all operating systems written in C++, but most of the most successful ones aren't. And multiple groups, INCLUDING ones otherwise sympathetic to C++, have concluded that C++ is a terrible choice for kernels that are close to the hardware. Compilers. Well GCC is written in C. (Though Clang is C++.) So are the interpreters for Python, Ruby, Perl, and PHP. One of the backends for Go was originally C but has been ported to Go. (They maintain another C++ backend.) Julia's backend is mostly C. (A few libraries are C++.) However JavaScript and Java are both written in C++. Reality is a long, long ways from your claim that almost all compilers for every other language are written in C++. In fact straight C is a more popular choice. You didn't talk about GUI applications. But there you'd have more of a point - C++ is far more popular there. However even that it isn't a slam dunk. Rust was explicitly developed as a response to the fact that C++ makes security very hard. The idea being that it would be easier for Mozilla to port security critical modules from C++ to Rust than to secure C++. Since security is getting ever more important, it now makes sense to write in a different language first.
- kupfer 4y agoI learned something, thanks. One of Chen's arguments is, that C allows better memory control compared to C++. For example, it's easy to place the vtable in pageable memory instead of non-pageable memory. Do you know if rust has this problem too, since it also uses vtables?
- deleted 4y ago[deleted]
- fouronnes3 4y agoIf you're an experienced C++ developer today, is it a wise career choice to go the "C++ expert" route, or should you pivot to something else?
- btilly 4y agoIt depends how much you like working with legacy code, and how much you love C++. If you stay the "C++ expert" route you will always have a job, but it will be every more gnarly legacy code. Because those who had relatively good legacy code are also those who are going to find it easiest to migrate off of it. Judging by what happened in Perl (the example that I know best), I'm guessing that most developers will leave C++. Mostly for languages in a similar space. A lot will go to Rust.
- jollyllama 4y agoDepends on your opinion of Rust and the associated community.
- dureuill 4y agoC++ jobs are not going anywhere, quite the contrary. A lot of systems won't be rewritten. Besides, at least at the moment "C++ expert" is a perfect background for becoming a Rust expert should the want arise. Rust *is* much more enjoyable to program in than C++, though