5 ms·
yeah, it is. the percentage of new C++ projects has plummeted, compared to modern options such as Rust or Go. developers are sick and tired of the awful toolin
by 38 3y ago
yeah, it is. the percentage of new C++ projects has plummeted, compared to modern options such as Rust or Go.
developers are sick and tired of the awful tooling and decades old issues with C++, that will likely never be fixed. I for one will never touch a C++ code base again if I can avoid it.
- synergy20 3y agosource?
- IshKebab 3y agoThis is the best measure I've found: https://madnight.github.io/githut/#/pushes/2023/4 https://madnight.github.io/githut/#/pushes/2023/4 Unfortunately it doesn't have new projects, but it does seem like C++ peaked a couple of years ago and is starting to trend down. "Plummeting" is clearly an exaggeration though.
- cherryteastain 3y agoBased on the graphs here, Go and Python are also stagnant/slightly declining. Rust seems to be stagnant too since 2022.
- marcosdumay 3y agoThe best I can make from the graph is that those declines are a scaling adjustment for a recent meteoric Java growth. (WTF is there a meteoric Java growth is yet to be explained.)
- lmm 3y agoRecent releases of Java have dragged the language kicking and screaming into the late '70s, and so people are starting to appreciate how much the JVM ecosystem gets right (instrumentation, dependency management, IDEs etc.). Either that or the institutional memory of Java EE has faded, and Spring Boot is here to traumatise a new generation of developers with the magic of write-only COME FROM code.
- marcosdumay 3y agoTo keep it in perspective, we are talking about a single month, and it wasn't enough to go back to the share it had half a decade ago. Those things you cited do no cause single-month rapid growth. What causes it is publicity, or some large ecosystem adopting it by fiat.
- coldtea 3y agoSo the grandparent is not even close. In most metrics there it's steadily rising even, though the metrics are cross-correlated with "GitHub adoption".
- cgdub 3y agoIf you sort by Issues, C++ is #3 and trending up.
- IshKebab 3y agoSounds about right! :D
- loeg 3y agoI'm surprised to see Javascript in decline since 2017. Most of that can be explained by substitution to Typescript but it's still down a couple percent with that factored in.
- kimixa 3y agoThat just seems to show proportions on github - it may be with the growth in the total sector size the absolute number is still increasing. But yeah a 0.234% yoy-decrease isn't "plummeting". If so, then things like typescript or python are even steeper in their, and java being the next big thing showing massive growth compared. And rust itself is decreasing according to those stats, so I guess it's declining too.
- MenhirMike 3y agoBut what about the percentage of new C++ *game* projects? I don't see any AAA or even commercial Indie games written in Go, and with Rust, it looks like there's always someone making a new toy game _engine_ but no actual games. Unity is pretty much the only other game in town that isn't C++, with the occasional outlier (e.g., CrossCode is written in HTML5/JS). And of course, Engines like GameMaker that are themselves written in C++ but whose users don't write in C++. (Well, that's Unity as well)
- jsheard 3y ago> Unity is pretty much the only other game in town that isn't C++ Even Unity compiles .NET IL down to C++, and then compiles that with a regular compiler to target platforms which don't have a .NET runtime or don't allow JIT compilation. That's more of an implementation detail but it shows how engrained C++ is that the path of least resistance was to use C++ as a compilation target. I think much of the private engine internals are also still straight C++.
- doctorpangloss 3y agoUnity is a victim of Apple in this regard. If Apple said it has to be Swift code, it would be called il2swift. The insistence of AoT compilation has, as of yet, not made iOS any better of a platform for games, and only worse. If you really sincerely cared about games, you would at least advocate that Unity be allowed to do whatever the fuck it wants on Apple platforms, such as either JIT and AoT compilation. The people who fussed over the real but meaningless details like the 10-20% performance gains are ultimately just co-opted by Apple execs extracting rents. Hacker News doesn’t have a good way to deal with this co-opting, people will downvote comments like these as irrelevant to a piece about headers. You guys are not getting it: C++ being shitty and having high inertia is in console maker’s and Apple’s interests, and the amount of energy wasted in maintaining it is entirely the fault of the platform owners, not developers.
- coldtea 3y agoYou know that AAA game developers live and breath C++, and many outright love it, right? And that Unity is used for convenience, as opposed to performance or code quality, right? And that Unity C# is (or at least was) quite looked down upon by AAA game devs, not to mention even by .NET standards it was tied to an older C# version for ages (I believe Mono was involved too)?
- coldtea 3y ago>yeah, it is. the percentage of new C++ projects has plummeted Citation needed. C++ domains don't go to Go, and have only marginal adoption of Rust.
- josephg 3y agoYeah I agree. I suspect rust will gain in popularity in systems software - like databases and browsers. But if we're counting in "console generations" - well, I personally doubt rust will ever really take off amongst game developers. Rust's borrow checker has a reputation for making it hard to write entity-component systems. And ECS are core to modern game dev.
- coderedart 3y ago> Rust's borrow checker has a reputation for making it hard to write entity-component systems. And ECS are core to modern game dev. Isn't it the opposite? That rust's borrow checker makes it hard for non-ECS paradigms due to ownership and XOR mutability rules. While ECS is best for rust, as it "owns" things and schedules the mutating functions without any conflicting race conditions. The most popular engine in rust right now is bevy, which embraces ECS for everything (including UI).
- richrichie 3y agoRust is just C++ with lipstick. Same pig. With Go, i believe people will eventually mean revert to C, appreciating the value of simplicity.
- zaphirplane 3y agoAre the statistics based on intuition or actual statistics. Let’s not count the GitHub repo that is just a readme.