4 ms·
> Looking forward to the "why" post. Glad that they mentioned that they'll be publishing that soon. I think the "why" is because, for many users: * they want
by uvtc 9y ago
> Looking forward to the "why" post. Glad that they mentioned that they'll be publishing that soon.
I think the "why" is because, for many users:
* they want a small and easy, dynamically-typed, garbage-collected language with few surprises (see `import this`). Perl misses out here.
* they want something built with C so there's easy access to native libraries. Languages on general-purpose VMs miss out here.
* I don't think they want something that transpiles/compiles down to some other lower-level language (which I suspect leads to difficult debugging). Maybe Nim misses out here.
* they're comfortable with imperative-style programming. Maybe lisps and Haskell miss out here.
* Python is fast enough for most things where C-speed isn't needed. Very-high-level languages chasing dreams of high performance mostly miss out here, IMO.
* they want a language that helps them catch their mistakes. IMO, maybe Lua misses out here (with default nil everywhere).
* Users want a general-purpose language. Again, Lua misses here, though, of course, Lua's goal isn't to be general-purpose anyway.
* I think many users also want a language that's licensed GPL-compatible. Clojure misses out here.
* they want a nice helpful community
* Users want a language with familiar C/C++/JS/Java -ish syntax. Python misses out here! {ducks}
Python has its own set of problems, but it hits all those marks except for the last one. So, it's gotten quite popular.
- tim333 9y agoA lot of people like the Python syntax. It has to be about the most readable of all computer languages.
- uvtc 9y ago> A lot of people like the Python syntax. Of course. > It has to be about the most readable of all computer languages. Quite readable, sure. Though my point is that curlies and semicolons are more familiar to many (and easier to edit/navigate in my editor, for that matter), and probably would be preferred. My comment was about why I think many (not all by any stretch, of course) choose a language like Python.
- nstart 9y agoThats a pretty awesome list!. I'd love for these to be the reasons but somehow I doubt any of us are that thorough. The only reason I used python is that it was the first result that showed up in a Google search "write program to scrape web page" (ah beautiful soup. How I love thee!) The only reason I used flask was Udacitys course taught their web app course with it. I'll admit it, I've never actually analysed the benefits of a language in that way. My only judgement has been "mmm does it feel productive to use this language for what I'm doing". And "how quickly does the documentation take me to a hello world". Which is terribly subjective I admit. I'm suspecting I'm not alone. Or at least I hope I'm not :D. Yes. The embarrassment I feel is real. PS - it's also how I ended up using nginx over Apache. I couldn't really understand Apache in 30 minutes so I used nginx instead. I even remember an interview where I was asked why I used nginx over Apache and I said "um... because it was easier I guess". Definitely not best practices and I'm trying to be more objective nowadays.
- uvtc 9y ago> I'd love for these to be the reasons but somehow I doubt any of us are that thorough. Hm. I think there's a difference between reasons for trying out a language for some random task versus staying with it. I've bounced around between lots of different languages, and I suppose the list I presented above are why lots of people stay with Python. I think you're judgement of "mmm does it feel productive" roughly corresponds somewhat with the above list. Though I accidentally left off "good-enough docs", which I think is a given. > I couldn't really understand Apache in 30 minutes so I used nginx instead. Yeah. Though I think it has a lot to do with how good the docs are. Definitely, if a project can't tell me what it is, why I'd want to use it, and an overview of how it fits in, I'm very hesitant to pursue it further.
- hurtmyknee 9y agoGreat post, could you expand your thoughts on Nim? With Cython/PyPy I can get things done when resources are more restricted. Never seen Nim in prod, but it has caught my eye and I'm curious.