3 ms·
Just this week, I had to perform some maintenance programming on an application written C++ in the mid- to late 1990s. It required Visual Studio 6.0 (!!!) to bu
by krylon 11y ago
Just this week, I had to perform some maintenance programming on an application written C++ in the mid- to late 1990s. It required Visual Studio 6.0 (!!!) to build. I do not know what features were supported back then, but the application only made use of classes (no inheritance, though, except for GUI stuff derived from library components) and new/delete. (I was really lucky, the code I had to look at was highly readable.)
C++, where it goes beyond those simple basics, always gives me mixed feelings. On the one hand, C++ has its good sides (Qt rocks, or at least it did the last time I used it (around version 4.8)), but every time I approach C++, I seem to succumb to the temptation of making things overly complex. I sometimes think the biggest problem with C++ is not learning the language but developing the discipline to use it properly (where "properly" might mean different things to different people).
- ksk 11y ago> I seem to succumb to the temptation of making things overly complex >I sometimes think the biggest problem with C++ is not learning the language but developing the discipline to use it properly I think it sounds like you need to crank out some C++ code for a few years (like any other language) before you start internalizing what works and what doesn't.
- krylon 11y agoFull Disclosure: I am technically employed as a sysadmin, but before that, I worked as a programmer. I have only very little experience with C++; I have looked at it repeatedly over the years, but mainly by building small-time applications for my private amusement/education. I do agree with you in that that it would probably take me a couple of years to get comfortable with C++. My point was that I feel it would take me substantially longer than it did with other languages.
- ksk 11y agoAh, okay, I see where you're coming from now. I write C++ code professionally, and I would never use it for a hobby project. It sounds like you're interested in learning, so I would advise you to just stick with it, if it's important enough to you (and probably add more languages to the mix). C++ offers unique performance benefits with a fairly high level syntax that reduces some of the tediousness of C. But it also suffers from reduced productivity when compared to other languages like say python or C#.
- batou 11y agoSimilar thoughts here. The biggest problem for C++ that I see is that it has historically not had any batteries included. That strokes the ego of an average programmer and gets the creative juices flowing. Rather than doing discliplined research and picking an off the shelf solution, you end up with a poor copy or incongruent invention. Or even worse, some crap bolted onto MFC. Roll on a few years later and the patterns haven't scaled well, the original programmers have left after becoming frustrated with the corner they coded themselves into and the only justifiable cost is to put 12 months of cash on the table and start again because your business' greatest cash generator is a hairball and you can no longer evolve it cost effectively. The last three chunks of work I have done are to get companies out of these situations. Not pretty and a loveless task, but for me I'm right at home. The crimes I've seen are worst in the C++ and PHP areas. I suspect they suffer from the same problems and most of the problems are caused by inexperience and the ability to merely hit a few keys to generate a large hand grenade.
- krylon 11y agoPart of the problem might be experience. A number of people seem to have come to C++ from C, and the transition can be overwhelming. PHP is on of the few languages I've met I truly dislike, but I have had only very limited contact with it, and that was about 11 years ago, so I cannot comment on the current state of affairs. (I do remember it did have good documentation, though.) I have had to take on other people's code a few times, but I was very lucky in so far as the applications I inherited were written and organized in a very sanity-preserving way.