"Dependent" is a strong word, but tool/job fit is still important.
I've personally never grown comfortable enough with C++ to get to a point where, were I to be the one calling the shots, it would ever be my first choice. But I also recognize that it's dominant in certain spaces for a reason.
At the same time, I have a lot of sympathy for people who prefer C over C++. There's a lot of cognitive overhead involved in understanding the semantics of an object-oriented language, especially a big complex one like C++ or Java. And complex languages do have a tendency to beget complex implementations, even when you're working on a project that could be small and simple.
I've been in the business for 15 years, I have never seen a successful product fail because it was written in language x or y. It fails for a lot of other non programming language reasons though
Yes, but that goes both ways: choosing a popular language can be just as fatal as choosing an unpopular language.
If you're a "body shop", then choosing an unpopular language could be fatal, whereas if you're building a specific software product that needs to do certain things on certain platforms, then choosing the language becomes less of a popularity contest and more about how it can help you finish the product quickly with the highest level of quality and performance.
Anytime I see someone bashing Java/PHP/JavaScript on /r/programmerhumor (reddit) I challenge them to a coding contest. I use the language they just bashed, they use their ideal language. No takers yet.
I think, more often than not, language choice is like golf club choice. Different pros have their preferences, but a pro can play a good game with any set of clubs. A novice will blame the clubs for a poor game.
I would say it's more like people are pooh-poohing certain brands of hammers as being inferior to TrendTech Hammers (R) which are "obviously" superior.
Using C (maybe C++ ?) may be great for micro controllers, a BIOS, a stage 1 bloat loader, OS kernel and device drivers.
If you're writing application software, and probably even server software, you should be using something higher level and a bit more abstracted away from the hardware. Not necessarily by much. But definitely more than C / C++.
I think it does and it doesn't. It really depends on what your end goal is. Writing a web application? Not sure it really matters much if you use Python/Django, Ruby/Rails, Java/Spring. Just use what you (or the developers) are most comfortable with. Trying to make a game engine for AAA games? Yeah your not going to get away with Ruby or Python.
> Writing a web application? Not sure it really matters much if you use Python/Django, Ruby/Rails, Java/Spring. Just use what you (or the developers) are most comfortable with.
It might matter if you used COBOL, though. Or even C++.
Joke aside, it does contribute a lot. On one hand ability to get programmers (for acceptable price) depends on it, and on the other some languages are simply not suited for some environments.
Would you believe I once saw backend service written in PHP4? And not a small one either. It was just the only language the 2 original authors knew... Apparently they had a bit of memory problems because substr (or similar) leaked a few bytes, which over a course of few months amounted to quite a lot of memory.
which part? I skimmed through it and it mostly seemed to be group interplay, direction and competition. This is what kills products, not language of choice.