4 ms·
The "shudder" is against the spirit of the quote you were replying to: "Just because looking down your nose at C++ or Perl is the popular opinion doesn't mean
by batista 14y ago
The "shudder" is against the spirit of the quote you were replying to:
"Just because looking down your nose at C++ or Perl is the popular opinion doesn't mean that those languages aren't being used by very smart folks to build amazing, finely crafted software".
Ie: don't shudder.
- deleted 14y ago[deleted]
- Locke1689 14y agoSimply using a language to build interesting software doesn't make it good.
- SilasX 14y agoI accept that smart people are using C++, Perl, and even PHP, to produce amazing, finely crafted software. I do not accept that they are making it any easier on themselves by this choice of language.
- pbourke 14y agoIsn't it easier to work with the tool that you know thoroughly, which may not be "cool", rather than pick up a new tool in a different ecosystem?
- AnswerAndForget 14y agoWho said anything about coolness? Seriously, why do people think that just because all languages are Turing complete, any further discussion is just a popularity contest?
- pbourke 14y agoThe point is that if you know one of the languages cited by the parent ("C++, Perl, and even PHP"), then you do make your life easier by working with that language rather than choosing one which you don't know. All other things being equal, sure, choose the maximally powerful language in whichever dimension makes sense. But all other things are usually not equal. If you are working on a project by yourself, here are some things which are more important than the characteristics of the language: - your knowledge of the problem domain - your knowledge of general software development - your knowledge of the limits, capabilities and ecosystem of the language (aka project experience) Also, if you're working with others, the following factors are more important than choice of language: - your customer's expectations (if you're shipping software to them) - the ability to recruit experienced individuals for your project - the availability of mentors / reviewers within your organization - the availability of secondary resources (books, FAQ, etc) (edit: formatting)
- tikhonj 14y agoOnly in the short term. Picking up a new tool shouldn't take long, but can give a significant benefit. As I like to say, learning something well enough to use is an O(1) action where the benefit is in O(n) to how much you use it. In the long run, the quality of the tool dominates your current familiarity with it.
- scott_s 14y agoI work on a project that uses C++. Our runtime is implemented in C++, and our compiler produces C++. For us, performance is a top priority. I am quite frustrated by C++ sometimes, but I think it's the best tool for our job. I'm quite fond of pure C, but I also like having rich abstraction mechanisms like classes and templates, so I don't think it's appropriate for us. And no other language with broad support is as well-suited to writing high performance systems code while also allowing us to have rich abstraction mechanisms. I am interested in D for this purpose - the most recent version looks quite well designed - but it's not as widely supported.