3 ms·
Javascript is a very different language from Python. It is in some ways more flexible and less prescriptive. You point out one of the non-overlapping use cases.
by pekk 14y ago
Javascript is a very different language from Python. It is in some ways more flexible and less prescriptive. You point out one of the non-overlapping use cases. Javascript performance has seen really intensive efforts. Javascript has grown a rather nice async ecosystem that Python just doesn't have. It's also exciting for people from the standpoint that everything feels newer and more up for grabs. Python is a rather old language.
Any language is Turing complete so the big deal is a matter of style and tools and libraries and ultimately it's who you are working with and what you want to do.
- xradionut 14y ago"Javascript has grown a rather nice async ecosystem that Python just doesn't have. It's also exciting for people from the standpoint that everything feels newer and more up for grabs. Python is a rather old language." Python old? Not to be snarky, but I've got programs for the PDP-11 that dated Python's great-grandmother. Excitement in a language doesn't cut it, I respect productivity, environment and progress. For automation, data munging and analysis, Python is my secret weapon in a shop of MS SQL Server DBA's and C# ditto heads. Would have be nice if MS would have adapted IronPython instead of creating PowerShell... Yes, there are oodles of crappy Turning complete programming languages, but there's definative advantages to a much smaller sub-set of decent langauges and environments.
- pekk 14y agoPython is, objectively, decades old. For some people that would make it less exciting. Excitement produces buzz and popularity and encourages development effort which creates real and useful code. I vastly, vastly prefer Python. But we are NOT helping Python AT ALL if we bring it up to trash Javascript every time it's mentioned, without making any argument more specific than "I used a PDP-11".
- xradionut 14y agoI'm not seeing a decrease in Python development and investment. In the past decade I've seen a lot of effort invested in interesting and productive third party utilities and libraries. New languages still have to build those tools and such to get to a steady-state and attract more than language explorers and hipsters. I wasn't trashing Javascript, which is obvious if you trace through the message thread. I haven't delved much into modern Javascript, since most of my work involves data and cli/desktop/network applications instead of web applications and services, so I don't have a valid observation worth sharing.
- dagw 14y agoPython is a rather old language. A massive 3 years older Javascript.
- pekk 14y agoPython hit its stride a long time ago. The Javascript ecosystem has only quite recently reached sufficient performance, usability and adoption to be a serious general purpose language and it's red hot as a job skill. Python is not dead, but it's not exactly blowing up at this point.
- xradionut 14y agoDepends on what domain you work in. If I used nodejs or web services, then I would be enamored of Javascript. But I do an data analysis and ETL, a domain that Python and friends excel at, I not concerned as what's "hot" and "in" at the coffeshop.
- jerf 14y ago"Javascript has grown a rather nice async ecosystem that Python just doesn't have." Python has Twisted, and it also has a radically better async ecosystem in gevent. Javascript's async story is far worse than Python's.
- dagw 14y agoJavascript's async story is far worse than Python's. Yes and no. Python may have an great async core with Twisted and gevents, but it doesn't have an great async ecosystem. Most tools and libraries aren't written with async in mind and you end up having to roll your own in many places where Node either gives it to you out of the box or with well supported third-party libraries. After having written quite a bit of Twisted code I have to say I find writing async code in Node a lot quicker and easier, despite being a much more experienced python programmer.
- jerf 14y agoThen try gevent. The monkeypatching they do means that most pure Python network code just works with it. For instance, I used the XML-RPC library that ships with the core with no further modifications beyond what gevent does. It's less good than using a language with first-class support for continuation-style programming, but it's better than using a language that makes you be the compiler and chop up and manage the event handlers yourself.