4 ms·
Missing from the article — which is funny, considering it's written from the perspective of a university student — is how deliberate Sun’s academic strategy was
by vanschelven 1y ago
Missing from the article — which is funny, considering it's written from the perspective of a university student — is how deliberate Sun’s academic strategy was. In 1998 they launched the "Authorized Academic Java Campus" program, licensing Java tech to universities and setting up official training centers. Even before that, they were offering Java tools free to schools for teaching and research.
Combined with a massive branding push — Sun doubled its ad spend from 1995 to 1997 — Java ended up everywhere in CS education. By the late ’90s, first-year courses using Java weren’t a coincidence; they were the result of a planned, top-down push.
- nailer 1y agoI’m a professional programmer now, but I was not in the early 2000s and I remember looking at my girlfriend’s computer science book. I saw the unnecessary boiler plate and leaky abstractions of 90s style OOP and wasn’t sure if I was wrong or ‘serious’ programming had become insane. It was nearly a decade before I worked out the Java had nothing to do with the Alan Kay’s original concept of OOP and the rest of the industry started to abandon it.
- ecshafer 1y agoJava was not an attempt to get mainstream programmers to LISP or Smalltalk, it was to get them halfway there from C++. It was just to make application software a little nicer and less manual memory management. I also dont think we should blame Java the language for the OOP insanity that also infect C++, Delphi, etc. it was an industry wide insanity that thought they could replace pesky programmers with a single god architect.
- ndiddy 1y agoThere's a really good talk about the history of OOP going back to the early 60s that goes over this point. The whole "90s style OOP isn't OOP as it was originally intended" thing is largely a myth. When Kay and other OOP pioneers were describing Smalltalk and OOP to professional developers, they all used 90s Java style "compile-time hierarchy of encapsulation that matches the domain model" OOP to explain it. Smalltalk-80: The Language, a book by some of the original designers of Smalltalk, even uses the same shape class inheritance example you'll see in every introductory Java textbook. Here's a link to the talk, timestamped to when he goes over this. https://youtu.be/wo84LFzx5nI?t=785 https://youtu.be/wo84LFzx5nI?t=785
- igouy 1y ago> used 90s Java style "compile-time hierarchy of encapsulation that matches the domain model" OOP to explain it. Beware anachronism. They used the actual 80s Smalltalk implementation to explain the actual Smalltalk-80 implementation.
- zozbot234 1y ago> "compile-time hierarchy of encapsulation that matches the domain model" The talk doesn't mention it of course, but this still exists, even in "modern" languages that purport to be free of OOP! What do you think Typestate is - particularly in its genericized variety - other than a kind of "compile-time hierarchy of encapsulation that matches the domain model"? Change my mind: Typestate - and Generic Typestate only more so - is just good old OOP wearing a trenchcoat.
- nailer 1y agoThanks! That’s an excellent talk. I agree with the premise at 11:10.
- igouy 1y ago11:05 -- I'm not saying that OOP was a mistake, I'm saying that this was a mistake: "compile-time hierarchy of encapsulation that matches the domain model was a mistake".
- igouy 1y ago11:10 -- The second thing that I want to get clear, is I don't want to hear any complaints that no one ever pushed this model. … It is so obvious that everyone actually 100% meant you should look at the domain model and you should code that directly into the compiled hierarchy." . Not everyone actually — "The simplistic approach is to say that object-oriented development is a process requiring no transformations, beginning with the construction of an object model and progressing seamlessly into object-oriented code. … While superficially appealing, this approach is seriously flawed. It should be clear to anyone that models of the world are completely different from models of software. The world does not consist of objects sending each other messages, and we would have to be seriously mesmerised by object jargon to believe that it does. …" "Designing Object Systems", Steve Cook & John Daniels, 1994, page 6 https://archive.org/details/designingobjects0000cook https://archive.org/details/designingobjects0000cook
- gf000 1y agoActors have much more to do with Alan Kay’s original concept of OOP, then anything OOP. It's simply a term that means something completely different by the whole industry, so this should be more of a historical fun fact, then something to live by.
- ivanbalepin 1y ago> they were offering Java tools free to schools for teaching and research This is also underrated considering there once was an era when you had to pay a lot of money to use a compiler (or almost any software, really) and had to pay a lot of money to access documentation (!) oh what a crazy world it was.