4 ms·
Yes, the tools maybe there, but for more modern languages, they didn't needed so long for the same tools to appear.
by marcodiego 5y ago
Yes, the tools maybe there, but for more modern languages, they didn't needed so long for the same tools to appear.
- jcelerier 5y agobut most of these tools are, like, 10+ years old. Intel VTune, Coverity and KCacheGrind were already a thing in 2003. PC-LINT dates back to 1985. Of course languages more recent don't have to reinvent the ideas that have been developed for these older languages, it would be like saying that the first automaker sucked because the second automaker took less time at producing a vehicle.
- marcodiego 5y agoI remember people using eclipse and having orthography correction on comments, fixmes, "instant" reanalysis whenever the code was changed, automatic creation of accessory methods... things like that. I don't remember the same features were as popular among C/C++ developers at the time. Maybe my feeling is wrong, but I always had a feeling that more "modern" more "dynamic" languages implemented development tools faster or even before the same features became available and popular for C/C++.
- fluoridation 5y agoC++ is much more difficult to parse than Java, so refactoring is a big ask. If your renaming tool can miss some usages it's worse than nothing. IMO C++ also has always had less boilerplate than Java, so boilerplate generators were less useful. C++ also has other typing-saving tools, such as the preprocessor (we can argue about whether it's a good tool, but it can certainly save typing).
- pjmlp 5y agoYou would install Visual Studio plugins for that, which is how Visual Assist became popular.
- mk89 5y agoWell, it took some time before a more modern language like Python had tools like pip, virtualenv, etc. Only "recently" they got more sophisticated tools like pipenv (https://pypi.org/project/pipenv/#history https://pypi.org/project/pipenv/#history first release, totally unknown to anyone, was in 2017. It's in the last 2-3 years that you hear about it, though). And still, we're in 2022, and not everybody uses things like pipenv, for example. In the C++ world, although I am not experienced enough, so take my words with a pinch of salt, there is more fragmentation for the tooling part. AFAIK, there is not a single "community" saying "this is the recommended way". Scala had (and still has) for a long time a very similar issue: lots of tools popping up left and right, lots of "experiments" become production-ready stuff. Then after several years, they decided to face the issue and proposed a centralized place (scalacenter) to offer some sort of "official" support. It's not "finished" yet, but it's a good move into the right direction which will only help adopt the language. My experience so far with C++ has been a little bit different: you have a lot of different tools, very good ones, so you're undecided which one to use, but finally thanks to the books/resources you read, you'll eventually stick to some of them: it's decentralized and community-based (like other languages) vs [very] centralized (go/rust). It's two different philosophies, and from my understanding, C++ tries very hard NOT to enforce anything on the developers, which can be a burden for newcomers because there is just too much to learn. A stupid example: I use clang-format/clang-tidy: which style am I supposed to use to format the code? I am freaking new, "just pick whatever you want", but hey the default is "none".
- wtetzner 5y agoWhile Python is technically "more modern", it's only by ~6 years.