5 ms·
TL;DR: Using a lower-level, compiled programming language results in lower memory consumption and faster software. Shocker. Besides the lack of data to illustr
by sspiff 10y ago
TL;DR: Using a lower-level, compiled programming language results in lower memory consumption and faster software. Shocker.
Besides the lack of data to illustrate their point, their point is well know and has been well documented for decades. The reason people use these higher level, higher overhead languages is generally time-to-market, maintainability and development cost.
I don't so much care about the performance difference data, I can measure that myself easily and cheaply.
Measuring frustration, development time and bug-hunting time is something that would be expensive to measure (you have to build a real world product in both languages with users and maintain it, which they seem to have done). Yet this part is glossed over and never quantified in the article.
- gbersac 10y ago> their point is well know and has been well documented for decades. Node.js and go are 7 years old, so no it has not been documented for decades :p But your comment is still right.
- sspiff 10y agoThose are just examples of a high-level language and a systems programming language though, and the expected result is the same as comparing Perl/Tcl/Python with C/C++, or whichever decades old variation of this topic you want to pick :)
- untothebreach 10y agothe point that has been known for decades is not, "Switching from Node.js to Go gives you better performance," it is "switching from a high-level language to a low-level language gives you better performance." This point _has_ been known for decades, but new generations of programmers keep re-discovering it. (note: I am not critizing new programmers, I am one of them. in fact, having recently switched from python to rust, you could say I am one of the many re-discovering the performance joys of lower-level languages)
- mort96 10y agoHigher level languages generally being slower than lower level languages has been documented for decades.
- jjnoakes 10y agoTime-to-market is probably more directly influenced by the familiarity of the developers on the project with the language in question and the ubiquity of stable libraries and frameworks and online answers to the typical (and atypical) problems that arise. It just so happens that higher level languages have strengths in these areas because they attract more developers in general (they are easier to learn). Maintainability cost is probably more directly related to how clearly one can express the high level concepts the program must deal with in the language in question. If the concepts are things like manipulating huge arrays of numbers, bit operations, interfacing with the system APIs, or other tasks suited to native langauges, then using a native language may be better. If the concepts are things like manipulating large dynamic data structures like strings and maps, doing a lot of asynchronous operations, and communicating with external services via JSON APIs, then a dynamic high-level language that easily speaks JSON may be better. Development cost is a mix of the above. I think this is a better characterization than "high level languages provide better time-to-market, maintainability, and development cost". For example, while this may be true for some projects, I know of many others where the better time-to-market, maintainability, and development cost comes from using a much lower level language. It's all engineering. Measure. Analyze. Weigh the trade-offs. Make decisions. Monitor.
- deleted 10y ago[deleted]