5 ms·
Dumb question: How popular is C++ as a systems programming language in 2017? Does anyone have data on the popularity of various languages (C, Rust, Go, etc.) wh
by mr_overalls 10y ago
Dumb question: How popular is C++ as a systems programming language in 2017? Does anyone have data on the popularity of various languages (C, Rust, Go, etc.) when web and application development are excluded?
- guessmyname 10y agohttp://githut.info/ http://githut.info/ > GitHut is an attempt to visualize and explore the complexity of the universe of programming languages used across the repositories hosted on GitHub. > Github is the largest code host in the world, with 3.4 million users. It's the place where the open-source development community offers access to most of its projects. By analyzing how languages are used in GitHub it is possible to understand the popularity of programming languages among developers and also to discover the unique characteristics of each language.
- steveklabnik 10y ago> GitHut.info Carlo Zapponi 2014
- lossolo 10y agoC and C++ are the most popular "systems programming languages", C is king in embedded, kernels, C++ is a king in everything else. Go is not strictly "systems programming language", as to Rust popularity this is the most pragmatic answer I've seen lately: "... Let's see Rust for what it is: the latest attempt at a C++ replacement. These have come and gone over the years, and it's by no means clear that Rust will succeed. As an example, Rust is currently 43rd of the 50 languages monitored in the Tiobe index. For comparison with languages of a similar vintage, Swift and Go are 10th and 17th respectively. C++ is 3rd. To put it bluntly: almost nobody is using Rust in the real world yet. So please, ease up on the hype, Rust users. Have a little humility. You've got a nice little language with some really good ideas, and having a static analyser built into your compiler is cool. But there's a long way to go yet."[1] [1] https://www.reddit.com/r/cpp/comments/611811/have_you_used_rust_do_you_prefer_it_over_modern_c/dfb924w/ https://www.reddit.com/r/cpp/comments/611811/have_you_used_r...
- abiox 10y agoi recall there being some whining over go and "systems programming", but this seemed to hinge on definitions. go may not be the right option for a kernel but it's great for servers, infrastructure, platforms and various related things.
- tmccrmck 10y agoSystems programming is a vague term but it usually refers to low latency software (e.g. kernels, browsers, OS's, embedded, databases, etc) which means anything with a garbage collector is out of the question.
- abiox 10y agothat's just the thing: "anything with a garbage collector is out of the question" seems limited to a particular camp.
- teamhappy 10y agoSystems programming is all about control. That usually means being able to control which instructions are emitted by the compiler and being able to control how things are laid out in memory, but it also means being able to control what happens when; and Go doesn't let you do that. If you can't guarantee that the function that's supposed to turn the reactor of when the temperature is too high finishes in time then that's a deal breaker. I think some people define systems programming as "interacting with the OS all the time"; which is something that Go is really good at.
- whyever 10y agoTiobe as your main argument is not very convincing.
- lossolo 10y agoThen look at stackoverflow survey from 2017: C++ = 22.3% C = 19% Swift = 6.5% Go = 4.3% Rust is not even on the list which means it's usage is less than 1.8%.
- vitus 10y agoIt's among the top 3 non-web languages at Google (with Java and Python (?); I don't remember the current rankings, but I think C++ used to be #1 but has now been surpassed by Java). Golang might be #4 or so; there might be some projects that use Rust but not much; the raw C that comes to mind is from third party libraries like libpcap. In case you're curious, a lot of our internal tooling for monitoring (to provide an example) uses Python.
- loumf 10y agoThe StackOverflow survey has C++ used by over 20% of respondents, with just of over 50% wanting to still use it next year: https://stackoverflow.com/insights/survey/2017/ https://stackoverflow.com/insights/survey/2017/ This isn't exactly what you are looking for, but I think it still shows that C++ is fairly popular. C is second among systems languages at 19% and Go is near 4% (Rust is presumably less than 1.8% since it's not even on the list)
- EpicEng 10y agoAnd it's an SO survey, so 70%+ of the respondents are going to be web devs.
- progman 10y agoC++ and C will still remain alive for a long time. C++ for reason of legacy code in business, and C for its unique feature of being the standard "high level assembler". There is always at least a C compiler available for every new platform. I believe that Rust has the power to take a significant part of C++ in coming years. Maybe that also Ada will increase due to the rise of public interest in code safety. C will remain as it is because there is no easier way to port system software to new platforms.