4 ms·
Of course it still matters. Almost all the software that runs whichever device you're reading this post on has been compiled to machine code. In operating syste
by gizmo 9y ago
Of course it still matters. Almost all the software that runs whichever device you're reading this post on has been compiled to machine code. In operating systems everything from the filesystem to device drivers to the window manager to the web browser are written in some low level language. For hard real-time systems you need to be close to the metal. Same for most embedded applications.
Sure, there are many situations where sacrificing performance in exchange for a VM is totally appropriate. If you think this covers 99% percent of applications (or even 50%!) then you may only be thinking of a very small subset of software development.
Also, inefficient code produces excess heat. Meaning reduced battery life and noisy fans. So all software that gets used a lot should be optimized for performance just to conserve energy.
- pcwalton 9y ago> If you think this covers 99% percent of applications (or even 50%!) then you may only be thinking of a very small subset of software development. This statement was true in the '90s. Nowadays, the amount of high-level software written as a ratio of total programmer-hours is probably upwards of 90%. Out of the hundreds of thousands of programmers out there, very few of them write kernels or drivers. Even fewer write window managers—there are maybe a dozen of them in active use, and most of them have either zero or one maintainers. Four software companies, out of thousands and thousands, write Web browser engines; two of them share most of their engines' code. With few exceptions, all of the codebases I mentioned date back to the '80s or '90s, when most of the code was written. People seem to think that the software stack on a typical desktop OS is constantly under heavy development. It's not. Most of it is in maintenance mode or effectively unmaintained. Don't take my word for it—look at the "who is hiring" threads on HN lately. There's some C++ in there, sure, but nowhere near the figure you quoted.
- ferdterguson 9y agoTotally ignores scientific applications, which there aren't enough supercomputing hours to go around for. NERSC's Cori, one of the top 3 supercomputers in the world, often takes a day to start a job. Not to mention private companies developing software to analyze heaps of data from finance to web searches.
- pcwalton 9y agoAgain, I didn't say that C and C++ weren't popular languages.
- Something1234 9y agoWhat's your source for it and why would it take so long?
- shakna 9y agoIf that was the case, why do C and C++ occupy the second and third positions on the Tiobe Index? [0] C++ still tends to be king when it comes to games, especially when you start talking about the console market. [1][2][3] Finally, punch C++ into whoishiring.io. Be amazed at the market. [0] https://www.tiobe.com/tiobe-index/ https://www.tiobe.com/tiobe-index/ [1] https://docs.microsoft.com/en-us/windows/uwp/xbox-apps/development-lanes-custom-cpp https://docs.microsoft.com/en-us/windows/uwp/xbox-apps/devel... [2] https://www.phoronix.com/scan.php?page=news_item&px=MTU1MTY https://www.phoronix.com/scan.php?page=news_item&px=MTU1MTY [3] http://news.softpedia.com/news/unreal-engine-4-15-brings-nintendo-switch-support-50-faster-c-plus-plus-compile-times-512982.shtml http://news.softpedia.com/news/unreal-engine-4-15-brings-nin...
- pcwalton 9y agoI didn't say that C and C++ weren't popular languages. I said that C and C++ don't constitute a majority of software development anymore. Regarding games: (1) there are very few game developers relative to the total number of software developers out there; (2) a lot of game development is done in Unity, with C#.
- shakna 9y ago> C and C++ don't constitute a majority of software development anymore. So, to get this straight, the premise you are pushing, is that languages that are less popular with "... number of skilled engineers world-wide", now constitute the majority of software development?
- pcwalton 9y agoI mean exactly what I said. If you look at the TIOBE index, for instance, C and C++ together have less share than Java alone.
- rlpb 9y ago> Nowadays, the amount of high-level software written as a ratio of total programmer-hours is probably upwards of 90%. What makes this an appropriate metric? What about, for example, the ratio of total user interaction time? The lower layers of the stack may not need as much programming attention compared to the top of the stack, but that's only because the stack is top-heavy in terms of programs produced. But in a given stack, the set of applications at the top of the stack is still not particularly big (most users do not use most applications). On the other hand, everything that users do passes through the lower parts of the stack (most users use the kernel, drivers and the graphics layer constantly, even if indirectly).
- BoiledCabbage 9y agoThe context of 'Matters' in this case is as an important part of the industry. Fortran and Cobol are still extremely heavily used on the servers of many slow moving institutions (banks and the like). Regardless of how many cpu cycles they consume they don't matter in the field of software development. Some low level tech will always be in the stack, but it doesn't mean it's an important part of the field. It will be relegated to a critical yet niche area of programming.