4 ms·
Tooling is the thing. To keep older languages popular with people new to the industry (and who never get properly introduced to older tools) it would take some
by gjvc 3y ago
Tooling is the thing. To keep older languages popular with people new to the industry (and who never get properly introduced to older tools) it would take someone like JetBrains need to create COBOL and Fortran IDEs. People will always go for shiny and new, like it or not.
- esafak 3y agoI think free is the thing. Python replaced MATLAB and Mathematica, not COBOL or Fortran, which was already out.
- consp 3y agoAt my alma mater it also replaced all existing programming courses for non ee/cs students, replacing Java and Delphi still lingering around from days past. Multi platform support is very important which is one of the reasons to use java. This has the big advantage that in multi disciplinary subjects everybody knows something of the programming language involved. And of course it saves on the insane licensing costs since Mathematica is no longer required in all student software packages (MATLAB still is afaik).
- deleted 3y ago[deleted]
- odyssey7 3y agoConsider that JavaScript is more multi-platform than Java, but is also dynamically typed and interpreted, just like Python.
- cmiles74 3y agoI'm not sure what "more multi-platform" means here. It's been a long time since I've run into an environment that didn't have easy access to Java and it's tools.
- qsort 3y agoI agree with TFA, it's the ecosystem. You're not entirely wrong that free is a component, because impossibly draconian licensing terms means no ecosystem. I still maintain that Python, when evaluated strictly on its merits as a programming language, is the most ass of the "scripting" bunch, but its ecosystem is such that it more than makes up for the difference and I always end up using it for side projects or personal stuff.
- miohtama 3y agoDropbox, Instagram, are largely written in Python. Python is very popular in backend too.
- analog31 3y agoI think that it wasn't so much a matter of one replacing another. My interpretation of the history is that Matlab had steady usage, but within relatively mature domains such as traditional engineering. Meanwhile, Python grew in fields that had no prior loyalty to Matlab, such as physics, data science, ML, the life sciences, children and hobbyists, and software development. The "free" thing is important, because programming tools have all migrated to the open source model. No professional coder is willing to work on paid tools today. If scientists have a basic awareness of their career options, they will borrow tools from the software development world, and not from the engineering world. Those tools are all free. Also, free software changes how you use it. I install a complete Python toolchain (up to and including Jupyter Lab) on every computer that I touch: In the office, the labs, and at home. This allows me to truly use Python as my brain. No software budget is lavish enough to pay for as many "licenses" as I use in a day.
- nephanth 3y agoMatlab also does have relatively bad tooling, though that is partially due to it being non-free (for ex the library installation is so cumbersome because of all the licensing stuff)
- PartiallyTyped 3y agoPython isn't "shiny and new". Python is "almost" ancient. Julia is "new", but also not as easy to use. It isn't about that kind of tooling, but it is about ease of use, and having access to tools that deal with silly things while you do the actual science. Python, first appearance: 20 February 1991; 32 years ago [1] Rust, first appearance: May 15, 2015; 8 years ago [2] Julia, first appearance: 2012; 12 years ago [3] Go, first appearance: November 10, 2009; 14 years ago [4] Java, first appearance: May 23, 1995; 28 years ago [5] Javascript, first appearance: December 4, 1995; 28 years ago[6] [1] https://en.wikipedia.org/wiki/Python_(programming_language) https://en.wikipedia.org/wiki/Python_(programming_language) [2] https://en.wikipedia.org/wiki/Rust_(programming_language) https://en.wikipedia.org/wiki/Rust_(programming_language) [3] https://en.wikipedia.org/wiki/Julia_(programming_language) https://en.wikipedia.org/wiki/Julia_(programming_language) [4] https://en.wikipedia.org/wiki/Go_(programming_language) https://en.wikipedia.org/wiki/Go_(programming_language) [5] https://en.wikipedia.org/wiki/Java_(programming_language) https://en.wikipedia.org/wiki/Java_(programming_language) [6] https://en.wikipedia.org/wiki/Javascript_(programming_language) https://en.wikipedia.org/wiki/Javascript_(programming_langua...
- gjvc 3y agoDear oh dear oh dear oh dear oh dear. Please read what I said again, more carefully, starting from the first word, and try not to be so contrary. I was referring to the fact that the shiny and new tooling will be what attracts users to a given platform / language / ecosystem, regardless of the latter's age. Other participants on this thread apparently seem to have understood this. Happy new year.
- PartiallyTyped 3y agoAnd I was expressing that it isn't that shiny new tooling that attracts users, nor is it the "new" stuff. Nobody uses python because of jetbrains, or whatever. It has nothing to do with IDE support. Jetbrains has support because python is popular, and not the other way around. I was also expressing that Python is an old, almost ancient language, and yet it more used than languages that, by your reasoning, had better "tooling" in the sense that you are using it. Making the point that it has nothing to do with the "age" of the language, the fact that it is perceived as new, or having better tools. Python isn't popular because of its tooling, but despite it. It is popular because it makes it easy to leverage the ecosystem and get things done. It seems that other people understood as much.