5 ms·
First, I did not know this, it's pretty cool. But, for all the fangled cool things that the more powerful languages of yesteryears (like lisp), what seems to a
by noobermin 10y ago
First, I did not know this, it's pretty cool.
But, for all the fangled cool things that the more powerful languages of yesteryears (like lisp), what seems to actually precipitate adoption is simply history, not necessarily expressiveness/powerful abstractions, etc. See C, sh and friends, javascript. Arguably, python is one where its ease made it popular and it continues to develop language wise, albeit not without controversy.
- jacquesm 10y ago> Arguably, python is one where its ease made it popular and it continues to develop language wise, albeit not without controversy. Currently about 7K lines into a python project and I'm getting more used to it but 'leaky abstractions' is a term that springs to mind at least 10 times per day if not more. I'm busy with tricky array type conversions to feed stuff from one library into another a lot more than I would expect. Rather than that there is 'one way to do it' it seems there are about 50 of them, all incompatible with each other. Very messy at times.
- noobermin 10y agoI never said python continues to be a language of ease for all use cases, I am talking about what precipitated adoption, not whether it is the best language it could be. To be fair, its abstractions make things which are downright difficult in C easier. My last statement referred to with python 3 and above, there is active development of the language's fundamental constructs. I guess there is active ES6 etc. C's newer standards aren't groundshakingly different from its original implementation.
- plafl 10y agoI was drawn to python because of the culture (simple, documentation) and I stay because of the libraries (machine learning, scientific). The language just needs to be better than Matlab or R (not Scheme, Clojure, Scala or pick your favorite one). As in nature the language that thrives is the fittest for its environment, not the most powerful.
- correnos 10y ago> As in nature the language that thrives is the fittest for its environment, not the most powerful. Now hold on. The most successful sprog of nature is humanity[citation needed] and we're a case study in the fact that raw intelligence is more effective than fitness for any particular niche. So: as in nature, there may be a bunch of niche languages, but in time they'll find themselves with a conservation status while a smart language rules the earth.
- TeMPOraL 10y agoSo tell me, how is it that Python and JavaScript now seem to rule the Earth, instead of being locked up in a nature reserve?
- erik_seaberg 10y agoWhen programming languages evolve, "can a human being understand this code?" is part of the fitness function, and more succinct and powerful languages aren't always best for that.
- TeMPOraL 10y ago> As in nature the language that thrives is the fittest for its environment, not the most powerful. Now, this is an important observation, but it needs one caveat - "fittest for its environment" != "fittest for the stated purpose". I.e. an objectively better tool may lose to a tool that's barely good enough, but e.g. provides a better CYA for managers, in a self-reinforcing loop of popularity. That's the essence of Worse is Better - shit that's barely good enough will outcompete proper solutions. (For many, that essay seems to be an ideal to follow; for me personally, it's just the description of the sad state of reality that we need to learn to work around.)
- pozorvlak 10y agoFWIW, this is also the standard way of implementing if/then in the lambda calculus: true = \x.\y.x false = \x.\y.y