5 ms·
C++ continues to lose mind-share. When will the community acknowledge that their tooling is lacking?
by rienbdj 8y ago
C++ continues to lose mind-share. When will the community acknowledge that their tooling is lacking?
- geezerjay 8y agoA tool is a tool. It's immaterial if a particular tool like C++ and its ecosystem is no longer the best available tool for some applications. Workmen pick the tool that best suits their tasks, and if a better tool appears it makes no sense to assume that the old tool requires more attention.
- adgasf 8y agoC++ has many users that love the language but are in denial that other languages have advanced beyond it (not in all areas, of course, but enough areas that matter).
- ahartmetz 8y agoDo you use C++? I do, and I don't love the language. What I like about C++ is that it's a high level low level language. Anything that isn't is not a competitor in C++'s core application areas. D and OCaml come kinda close but they have (in practice) mandatory garbage collection. The only real alternatives are Ada (which somehow never achieved much mindshare) and Rust.
- pjmlp 8y agoI do, as native companion to Java and .NET, and I still kind of like it. However for my own use cases, my actual alternative is the newly founded love for low level programming support by Java and .NET designers. Mandatory GC is nice to have around, while only specific hotspots require a more machine friendly coding.
- cuddlecake 8y ago> Workmen pick the tool that best suits their tasks Workmen also carry the burden of maintaining old (legacy) products. No one would say no to a shiny new feature that makes tedious stuff easier.
- loup-vaillant 8y ago> A tool is a tool. Oh yes it is. Which means, a tool is an extension of oneself. We tend to identify ourselves with our tools, especially if they required extensive learning. The simplest tools (hammer) are easily replaced, but the more complex ones (my cello) are highly personal, and seldom swapped. Programming languages fall on the complex end of the spectrum. They require learning, and to some extent, what you learn is what you are. Throwing away a programming language (and its ecosystem) is throwing away a good chunk of the knowledge you acquired there —a part of yourself. A new language needs to have one hell of an advantage to get significant adoption under those conditions. And I didn't even talk about network effects…
- jeffdavis 8y agoTools are generally independent. Using a particular screwdriver doesn't change the effectiveness of your hammer. Changing between programming languages is a bit more complicated than exchanging tools in a belt.
- x100y 8y agoWhere? On HN and Reddit? I see new code bases in C++ springing up like mushrooms. I'd prefer Haskell/ML, but I can't deny reality.
- pimeys 8y agoIt seems the market for people who can convert systems from other languages to Rust is starting to appear. At least in the last couple of months there has been quite a few offers in Berlin for people who can write and teach Rust.
- baybal2 8y agoIf it does, than not to Rust. Comparing tooling support for c++ and rust... In that comparison c++ completely overwhelms rust
- IshKebab 8y agoI like C++ but I think he meant in terms of how sane and usable the tools are, in which case Rust easily wins. Compare Cargo to CMake for example. Sure it might not have as many IDEs, static analysers, debuggers and so on, but I'd easily take Rust's build system over C++'s tool ecosystem.
- pjmlp 8y agoWhen we compare eco-systems, we need to consider everything. For cargo to win over cmake, it needs to finally support binary libraries. For Rust to matter to .NET devs, it needs to support COM/UWP and mixed mode debugging on IDEs. On Android, mixed mode debugging and just fitting in with the NDK/AS would also be quite productive.
- IshKebab 8y agoC++ is actually doing very well, and the community is very well aware that C++ tooling sucks. It's just not an easy problem to solve because it has such a huge amount of existing code and projects.
- adgasf 8y agoAbsolutely! I think the important question is, what will happen first: (a) C++ gets better tooling around build systems and package management; or (b) Rust libraries are written for all of the things that we care about? Certainly in the HN bubble it feels like (b).
- est31 8y agoIt's not just package management. C++ is hugely overcomplicated with features. Understanding C++ is a life project. And the language is unsafe-by-default so you will spend time tracking down segfaults or other UB stuff. Rust allows me to focus on the problem domain, less on the language.