4 ms·
Scripting is different, though, because there is often little or no ability or desire to use a 3rd party library from a script. When’s the last time that you in
by pbourke 7y ago
Scripting is different, though, because there is often little or no ability or desire to use a 3rd party library from a script. When’s the last time that you installed a bash package? (that was not distributed as a second-order effect of installing something via apt or yum or what have you). Python plays in this space - perhaps with just Perl and to a lesser degree Ruby similarly situated.
Python has to work productively for people who have never heard of pip through to those who are building multi targeted native modules as part of a complex application build.
Michael Kennedy of the Talk Python podcast refers to Python as a “full spectrum” language, and I think this discussion is a good illustration of that point.
- mlthoughts2018 7y agoI install new command line utilities to use in scripts all the time, rsync, cloud storage clients, silver searcher, linting tools, many things. Same with Python. Virtually all data cleaning scripts I write rely on special scientific computing and structured data libraries. I’d venture to guess _most_ scripts desire third party tools, because scripts are very often highly specialized for unique purposes. > “ Python has to work productively for people who have never heard of pip through to those who are building multi targeted native modules as part of a complex application build.” Yep, sounds pretty standard and sounds exactly like every other mainstream programming language I’ve ever used.
- BiteCode_dev 7y ago> I install new command line utilities to use in scripts all the time, rsync, cloud storage clients, silver searcher, linting tools, many things. > Same with Python. Virtually all data cleaning scripts I write rely on special scientific computing and structured data libraries. This is the point of view of a programmer. You would be baffle by the number of people that code daily in Python without ever having used the terminal even once. They don't install 3rd party libs. They don't know how. Sometime they use some, using the ones provided by a distro like Anaconda installed from their sysadmin 5 years ago. Sometimes they are using Python emmbeded in a another system and just script that. Sometimes they teach and there is no reason to even use anything else. There are so many use cases that are just not yours. Not to mention a lot of people don't even have the right to install anything. They are in corporate env with firewall and security policies that give them an immutable setup for years. > Yep, sounds pretty standard and sounds exactly like every other mainstream programming language I’ve ever used. Definitely not. There is no other language that have all the following characteristics combined: - extreme popularity (exclude haskell, lisp, Ocaml, etc) - very easy to learn and fast to be productive with (exclude c, c++, java, etc) - ridiculous number of different ways it used IRL (exclude ruby, php, bash, etc) - very heterogeneous user base (exclude JS, perl, c#, etc) Python is used in banking, by geographers, in embedded systems, in movie pipeline. Several OS rely on it, the education system is using it everywhere, it is included as a scripting engine in strange systems... Yes, you can find that some languages have similarities for some situations. But not all of them. The closest one in JS, and yet, it doesn't come close because most people use JS in one plateform: the browser. The other use cases are dwarfed by it. You could argue with each point individually, but combined, it would be moot. Scripting in C/C++ is not popular. People don't regularly analyze their biological data in Javascript. It is not a common thing to make operating system core services in Java. C# is not even a blimp in Unix, or bash on Windows. Perl user base is dying. Lisp/Haskell/Ocaml are still niche languages after decades. Ruby and PHP never got out of the Web. And yes, this put the language in a very odd position. It definitely doesn't "sounds pretty standard and sounds exactly like every other mainstream programming language". There is literally zero example of a similar occurrence in the history of programming.
- dragonwriter 7y ago> - very heterogeneous user base (exclude JS Er, what?
- BiteCode_dev 7y agoJS is very popular and has a large user base. But it's not very heterogenous, espacially compared to Python. The vast majority of JS coders are interested in the web. A few for apps and UI in other area thanks to react native and electron. The rest is anecdotal. There is not an entire banking industry analyzing data with JS. Biologists and chemists do not rely on JS to make their models. JS is not the de facto solution for machine learning. GIS systems are not massively scripted in JS. The cinema industry do not include JS as a core element in their rendering pipeline. No sysadmin every said "well, I know how to provision those 300 servers, I'll make a JS script". Security experts don't reach first to JS for pentesting. apt is not coded in JS. JS is not the stuff that all students will be taught in math classes. If you have a dumped csv to download from an ftp to insert in your database every night, JS is certainly not the first tool that comes to mind. I could go on and on. Not saying you can't do this is JS. Not saying it never happens. It's just not popular to do it. All those tasks match some kind of user base, with different profiles, needs, skills and constraints.