4 ms·
Instead of answering the question, I'd like to point out how different the world of programming might look today WITHOUT Java. Java was the first maintstream GC
by ares2012 11y ago
Instead of answering the question, I'd like to point out how different the world of programming might look today WITHOUT Java. Java was the first maintstream GC language (no more malloc), fully object oriented and the first byte code based VM language. Prior to Java, you were either writing in interpreted languages like Perl or in C/C++.
Java brought programming to a higher standard with clear syntax, easy of use and a much faster learning curve than languages up to that point. That paradigm gave rise to new languages like Javascript and new designs for large scale software.
So, I think it's irrelevant if Java would make it if introduced today since I am not sure today would be here (or at least in its current form) without Java.
- greggman 11y agoThere were plenty of other languages with GC. Perl for example. Not sure what "full object oriented" means but I think smalltalk might count? Also plenty of byte code languages. In fact VB was a bytecode language. I also don't believe Java had any influence on JavaScript except for using the name for marketing
- sukilot 11y agoThe only connection between Java and JavaScript is that JavaScript stole Java's name as a marketing ploy for Netscape scripting. (I would call JS a competitor to Java applets, but it wasn't even that. It was a complementary technology.) And "mainstream" only referred to marketing budget. Perl and Python and Tcl had already launched (Perl and Tcl quite popular for the era.) Java's main novelty was the relatively strong cross-platform story due to the VM and GUI bindings.
- dmak 11y agoTo further that point, JavaScript is more similar to Scheme if anything.
- rhinoceraptor 11y agoEven more ridiculous is that JavaScript and Java are the same age.
- pan69 11y agoSo, you could ask: Would JavaScript make it if introduced today?
- stickfigure 11y agoMore importantly: Would JavaScript make it if it wasn't forced on everyone by way of web browsers?
- deleted 11y ago[deleted]
- beagle3 11y ago> the first byte code based VM language UCSD pascal would like to have a word with you. Circa 1980 > fully object oriented and the first byte code based VM language. Smalltalk would like to have a word with you. Circa 1984 > Java was the first maintstream GC language Basic (in all its variations) would like to have a word with you. Circa 1968; And perhaps it is going to bring along its buddies Lisp (1958?) and APL (1950-1960, depends on who you ask). All of these languages were mainstream at one point or another - in a much smaller world, but still, mainstream. Java wasn't the first to offer all of these together - Smalltalk did that in 1984, and I'm not sure Smalltalk was the first. > Java brought programming to a higher standard with clear syntax, easy of use and a much faster learning curve than languages up to that point. That paradigm gave rise to new languages like Javascript and new designs for large scale software. Java's syntax is clear only to someone who is versed in Java (or a Java like language like C, C++, C#). Python came out at the same time (1991) and brought a syntax much, much clearer, with a much faster learning curve. It was also VM based and GC, by the way - and having programmed both in 1991, I can tell you Python was often much faster (mostly owing to dicts being implemented in C, whereas Java was all interpreted). > So, I think it's irrelevant if Java would make it if introduced today since I am not sure today would be here (or at least in its current form) without Java. I agree. But I don't think that's necessarily a good thing. Specifically, I don't think Java deserves any accolades. It's the COBOL of the 21st century. If Java wasn't around, and Python took over, I think we'd be in a much better place. If Java wasn't around and C/C++ continued their reign, I supposed we'd be slightly less well off. We don't have to agree on opinion. But we should be able to agree on facts.
- hbogert 11y agoYou think we'd be better off with Python, a non-typed language against a typed language? Really, I like Python, but speed as well as typing is lacking. I'm glad we have both languages.
- beagle3 11y agoI'm referring to the hypothetical situation in which Java did not come along, not to modern Java vs. modern Python. Yes, I think we'd have been better off with Python + C++ (which is likely had Java not come along). w.r.t Speed - one of the reasons Python's speed is (still) lacking, is because it never got the amount of work Java did. JavaScript is no longer lacking in speed, and neither does Lua - and both are as dynamic as Python. Lua is much more impressive in this respect - LuaJIT's speed, the work of one person, is comparable to the best JavaScript engines, works of multiple big multiperson teams. The original Java was a little safer than Python, but definitely not on par with what you'd consider a modern staticly typed language. There were no generics, and everything was cast all around e.g. if you used a dict/map container. It was easy to have static typing locally, but not globally. The standard library at the time was really, really bad. I think I considered it acceptable only with Java 1.5. A lot of modern Java is like it is because it was in widespread use, and it was so bad to begin with. Had it been Python instead, perhaps Python's bad parts would have been addressed earlier (including lack of type checking and lack of speed - both of which are coming of age)
- userbinator 11y agoDon't forget the culture of design-pattern-overdose, dogmatic architecture astronautism, and extreme overengineering that it propagated. This happens in C++ too, but in Java, it was so easy to build obtusely baroque designs with disturbingly long chains of indirection and have everything still work for the most part... while consuming massive amounts of CPU time and memory. I worked briefly with Java applications in the early 2000s, and that was certainly not an enjoyable experience. I won't miss the bureaucracy, extreme waste, and fervently dogmatic adherence to "best practices" that created more busy-work than anything else. "If all you have are classes, everything turns into an object."