3 ms·
Java was the only way to write applets and code for feature-phones early on. Nobody thought of writing application servers in java in early 90s, java was suppos
by ajuc 5y ago
Java was the only way to write applets and code for feature-phones early on. Nobody thought of writing application servers in java in early 90s, java was supposed to be the way to write code for internet of things.
C++ was the easiest way to write kinda-OO code and use C libraries. Then it became de-facto standard for gamedev and desktop app programming.
In Linux world it's still the case that if you want to write a desktop app you should write it in C/C++. Use any other language and you will struggle against the dependency management and package managers forever.
Python is the only clear example of succeeding without a platform out of these languages, and the fact that after decades still Python is less popular than PHP shows that historic accidents and having a good platform is more important than any quality of the language.
On the other hand Perl is dead so maybe it's not as bad :)
- brongondwana 5y agoFor all that, you can still get an awful lot done in a dead language!
- amitport 5y agoThe (excellent) libraries are python's platform I would have avoided python if I could... But I can't avoid numpy/scipy etc etc
- analog31 5y agoFor a lot of users, Python is its own platform. As a so called "scientific" programmer, when I'm programming, I'm very much "inside" Python. I don't need to know or care very much about the details of the platform that it's running on. I start up my IDE or Jupyter and the rest of the system melts away. This may be because Python lends itself to bring used in integrated environments such as Jupyter.
- Kinrany 5y agoWas Python's package management unusually good compared to other languages at the time?
- bonzini 5y agoPython took the shell scripting platform from Perl just like PHP took the web scripting platform. It then extended to web servers (e.g., Django as an alternative to Ruby on Rails) and ML, but that was later.
- pram 5y agoDepends on the time, CPAN was far better than setuptools. It was even better than dealing with RPM, early on. RubyGems was the package manager that was really amazing and changed everything IMO. pip didn’t even exist until almost a decade later after that.
- coldtea 5y ago>Java was the only way to write applets and code for feature-phones early on. That's not how it got its popularity. Applets died very soon (the novelty lasted like 1-2 years), and feature-phone apps were never a big thing. Unlike e.g. mobile apps that quickly overtook the desktop, feature-phone J2ME apps at the time were a peanuts business (and there were other ways, like native APIs from Palm, Blackerry, and Windows mobile edition - of yore, not their post-iPhone smartphone OS). Java, even back in 2000, was big in the enterprise space and remained so (which is why Sun quickly emphasized that and let the applet sdk languish).
- BBC-vs-neolibs 5y agoFor a couple of hot years, J2ME games was a killer businesses, especially for carriers who made a nice mint on simplistic games.
- BBC-vs-neolibs 5y agoJava come out in 1995, and it was definitely meant for server stuff too. Java + SQL was big thing which made proprietary C bindings (Informix for instance) seem obsolete.
- KronisLV 5y ago> In Linux world it's still the case that if you want to write a desktop app you should write it in C/C++. Use any other language and you will struggle against the dependency management and package managers forever. I do agree in a very general sense, but there are definitely a few good options or there for desktop software. For example, Lazarus/FreePascal is one of the best solutions for writing GUI apps even nowadays. It's a shame that it's dead as far as market share is concerned, even if it has a community around it, is open source and still receives regular updates with pretty good platform support. Though i guess you could say the same about any technology stack that produces executables that are for the most part statically linked and don't complicate dependency management. Of course, Java with Swing also hasn't disappeared anywhere and is still perfectly capable of producing most desktop software as long as there is any sort of a JDK or JRE on the device. There's also JavaFX/OpenJFX which is supposed to be more modern, but I've experienced more issues with it in comparison to Swing.