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

While I still stand by what I said, I want to add a clarification. Some languages are good at some things while others are good at some other.

C/C++/etc are good for job intensive stuff that doesn't need fast maintenance cycle.

Dynamic language are good as web server because of their flexibility and their fast response time (In term of maintenance)

I wouldn't run an OS on Javascript and I wouldn't use C++ as a Javascript replacement in the browser.




How did Java fail? Java servlets are still very much so in use. This is for back end code, and I can certainly see this being useful.

Edited to add that they mention that this won't satisfy every use case, and also what use cases they think it does satisfy. http://cppcms.com/wikipp/en/page/when_to_use_cppcms


I removed the Java part because it was ambiguous and unecessary


Don't you think that first off you need to be an expert in all those languages, in web-technologies, have vast experience and up to date knowledge in all of that, to make such claims?

I'm pretty sure you just have wrong impression of C++, or to put it simply, you don't know C++.

In what way does C++ have worse response time in terms of maintenance? What do you mean exactly?

In general, statically typed compiled languages are better at refactoring than dynamically typed interpreted ones. Changing programs in the latter without fair test coverage means teetering on the brink of a catastrophe. Just recently I have seen an article on HN claiming unmaintainability of dynamic languages.

The truth is that every general purpose language is general purpose, and the claim about language suitability is a commonplace and an overgeneralization. You can do 3D games in JavaScript and client web apps in C++. Different languages have different drawbacks and that may limit their applications, but C++ is not targeted for OS development, and JavaScript is not targeted for web development, both are just general purpose languages.

Speaking of "low-levelness" of C++, with all the modern features and libraries it is as high level as other languages, and in some aspects is even more high level, e.g. JavaScript or Python have no corresponding means as the template metaprogramming which is the high high level. C++ just allows you to do low-level manipulations, you are not required to.

There are many myths and prejudices against C++ caused by ignorance and frustration of those who have not cracked it at a time.


Exactly! C++, well used, is largely a vertical language, not a low-level or high-level one. That's why it's easy to create a fairly big system entirely in C++. And having worked with such a system, I can say that it's quite comfortable, in some ways that most so-called "higher-level" languages don't offer. For example, your comment about refactoring is absolutely spot-on.

Most criticisms of C++ rely on outdated prejudices. Some people still think that modern C++ code is rife with pointers to void and reinterpret_casts.


To be fair, bad code still is, and it's more common than most of us would like to admit.


The C++ vs Javascript example was, wait for it, an _example_.

It was a general statement aimed at a general framework. I said in some other place here that C++ is relevant but when it is, it's usually done via in-house library that are specific to your need.

All the example of company here using C++ use their own solution and most use C++/C/etc as a VM or code interpreter and uses another language for the logic.

Don't be offended because C++ doesn't do everything. For all I care, you code your server in C++. I'll code it in whatever I want and I'll sleep like a baby.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

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

Search: