Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
The Fallacy of High Level Languages (netsplit.com)
10 points by smanek on March 28, 2009 | hide | past | favorite | 4 comments


I like C, and I love Python. Python programmers already found a good solution to this conflict, rewrite slow code in C, write the rest in Python. And they do this not because they are not macho enough to write it all in C, but because that way they can have all the advantages of fast code and useful abstractions. C is just as useful as Python, just not for the same things.


I hear this often, and I'd love for this to be true, but python needs it's GIL to be removed for this to be the case. In particular, doing this with reasonable performance in a multi-threaded app (which is most of them these days), is basically impossible.

At the level of one-shot scripts calling C code, or event driven apps where there is an entirely separate C component running in parallel -- it works for the most part. But with the most well-supported versions of python, you cannot have various python/C mixtures running in parallel without a lot of annoying (inefficient) legwork.

It's not a generally suitable solution, unfortunately.


"I’ve been rich and I’ve been poor. Rich is better" (originally said by Beatrice Kaufman) might apply here. I have programmed significant systems in assembler, Fortran, RPG, Cobol, C, C++, Smalltalk, Python, and Lisp.

The advantages of higher-level languages are unmistakable. There are stories of pairwise comparisons of each of the sequential pairs in this list. In higher-level languages, I found I was producing solutions at a pace unthinkable in lower-level languages.


High-level languages are the single most important breakthrough in the history of software engineering. That's because they enable a tremendous compression of meaning.

Languages, both natural and artificial, have two purposes: thinking and communication. Maximizing both of those depends on maximizing clarity while minimizing noise (including extraneous text). HLLs help achieve both. That's why most everybody uses them.




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

Search: