Hacker News new | past | comments | ask | show | jobs | submit login

This.

Actually to add to your comment, it's not just good, but a MUST to have a set of good coding guidelines. The language is complex for a reason, you tell the Compiler EXACTLY what you want it to do, and this takes away overhead from the compiler trying to guess. It's a trade off between the convenience to the programmer to the performance of the application.

C++ isn't perfect, it's not meant for everything. But for fast, large, and complex systems, C++ is one of the best ways to go about it.




C++ is so not perfect and is definitely not for large scale development. Read this: http://labs.mudynamics.com/2007/07/23/writing-c-within-ruby/


C++ is so not perfect and is definitely not for large scale development

The article you posted is a interesting concept, but it's unproven, and seems a bit silly.

Lets consider some "large scale development" in C++ that's proven, fast, stable, scalable, and here to stay. Not C, But C++

* Adobe Software * Autodesk Software * CERN's Data Analysis Software * Google Chrome * Firefox and Thunderbird * MySQL * Java HotSpot VM * Majority of the large scale, succesful games out there (Doom 3, WoW, etc, etc) * Etc

Tell me which one of those are not large scale development? I excluded things like Microsoft OS's (since their half and half mix of C and C++).

Lot of the even larger scale applications are C/Pascal because they've been around for much longer (ex *nix projects), and higher performance. C++ offers very much the same, except on top a richer set of features and keeps the coders a bit more sane. No one really uses PURE C++, it's always a mix of C C++, but it's one of the very few languages out there that match in performance to the original C.

(counter that with Java, if so tell me why only such a small number of VERY LARGE software systems is written in it, it's fast as C/C++ now right? right?). But don't counter it with C-Ruby... because, just don't.


Reality, however, contradicts you. C++ is one of the only languages out there PROVEN in the field by being used in thousands of large-scale developments.

Operating Systems, Office applications, Browsers, Search Engines, etc. - aren't these large scale?!


You forgot that C++ is used in Jet Fighters, and other little inconsequential things such as that ;)

cite: http://www.research.att.com/~bs/JSF-AV-rules.pdf

Edit... not just any jet fighter, but the most complex jet fighter ever devised by the mind of mankind. That's why C++ kicks ass ;)


Linux C, BSD C, really I can't think of a truly large stable system written in C++. There are plenty written in C.

Edit: Thanks, I didn't know there was a C++ OS out there. Though to be fair to C++ it hasn't been around as long nor been as stable as C (from C with classes to C with classes exceptions and templates.)


Symbian OS is written in C++, excluding some internals of the kernel written in C/ARM assembly. I was told when I worked there (3-4 years ago) that the entire code base (including test code, variant code etc.) is on the order of 50 million lines of code. So definitely large. Stable? A matter of opinion.


Try Cobol. Or C. Or Assembler. Or Fortran. Those languages are also used in large projects since ages. But what does that tell us?


Tells us that they are mature, strong, proven programming languages and we should use them in large-scale developement UNLESS we have a better alternative, ALSO mature, strong and proven. Thankfully, we do: C++


Your argument could be used to prove Java superior to C++, too.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: