10 ms·
Java was not underhyped in 1997 (2021)
- ynzoqn 1y ago> it was used throughout my degree course, right up to the final year module on programming language design where our coursework assignment was to build a Scheme interpreter – in Java. It sounds good.
- deleted 1y ago[deleted]
- whobre 1y agoIt was ridiculous. They seriously wanted to rewrite everything in Java, including office and web browsers. It was 10 times worse than the recent “rewrite in Rust” mania and way more unrealistic.
- klntsky 1y agoRIIR is justified in most of the cases because in the past the only reason to use a GCd language was memory safety for most of the apps. RIIJ was justified too, because people believed the web will end up being java applets all the way down.
- cenamus 1y agoAnd RIIJ also gives you memory safety
- mdaniel 1y agoAnd plausibly sandboxing, too, since the JVM used to carry a policy language with it that allowed granting access by package (or by public key, IIRC), a vestige from its days of running in the browser. But they recently killed that whole feature due to disuse
- throw0101c 1y ago> And RIIJ also gives you memory safety I think Java helped in the mainstreaming of memory safe and GC languages, especially in more corporate spaces where C/C++ was still mostly still a thing. Certainly sysadmins were using a lot of Perl during that time, but for "real" enterprise software, I don't think dynamic-ish languages were as accepted. The use of Perl and rise of Python widened the Overton window.
- epcoa 1y agoWell all the parts that you didn’t write in XML and XSLT, etc.
- Disposal8433 1y agoI remember some greybeards hyping the CPUs that could run Java bytecode (it existed for a short time). I was a junior C++ fanboy at the time and I already knew that they were wrong.
- brabel 1y agoWere you right because you knew something they didn't, or you were just as irrational (maybe more given you were "a junior"?) but got lucky in being stuck with an opinion that eventually turned out right?
- holowoodman 1y agoEveryone with lower-level systems programming or hardware experience did know after taking a look that Java bytecode was unfit for direct execution by a CPU. All the bits that you need to make decoding and execution fast in hardware were just missing. And the instruction set is complex in a way that makes the most complex CISC instructions look almost like RISC. You basically would have to put another decoder stage into processors, to make java bytecode into CISC and that into RISC. Only applications and web people did believe that particular part of the hype, because they didn't know what it took. And IBM consultants believed it because IBM always managed to sell some weird CPU extension for big dollars that did weird stuff, like their "decode XML extension".
- wpollock 1y agoUnfix for an x86 CPU. But that architecture wasn't as locked-in back then. For example, the Intel 432 CPU was designed to support OO languages. I believe it was designed with Ada in mind, and with GC support and other VM support. Java Bytecode would probably have run well on it.
- holowoodman 1y agoIt wasn't locked in, but the general trend even back then was towards RISC, or at least CISC plus superscalar execution (meaning the processor translates to RISC internally). All the more complex instruction sets were a failure for a reason. Performance was just not there, and bytecode interpretation in software is more flexible.
- more_corn 1y agoAgreed. I lived through it and it was seriously overhyped.
- II2II 1y agoTwo points: The hype accomplished something that would be otherwise impossible: it established Java as a language in what was likely record time. Consider another popular language: Python. It was created about 5 years earlier, yet it rose to prominence about a decade later. Or consider Rust. It is, in many respects, as significant as Java. While major developers were shipping significant applications written in Java within 5 years, Rust is only creeping into important software a decade after its introduction. The second point is its easy to underestimate the dominance of Microsoft in those days. You think that Microsoft is dominant today, well, that's nothing compared to the late 1990's. Microsoft's market share was closer to 95% for the PC market. The workstation market was starting to crumble due to competition from Microsoft and Intel. About the only thing that was safe were mainframes, and that was highly dependent upon one's definition of safe. Nearly everyone who was competing against Microsoft wanted to see a chunk taken out of them, which meant pretty much everyone since Microsoft had its fingers in so many markets. And, as it turns out, nearly everything did have to be rewritten. Sometimes it was to deliver SaaS over the Internet and sometimes it was to target mobile devices.
- zozbot234 1y agoIf I had to pick a language that's "as significant as Java", I'd pick Golang way before Rust - and Golang has found significant success. The first genuinely usable version of Rust was only out in late 2018, so it's way too early to argue about its slow and "creeping" adoption curve. > The second point is its easy to underestimate the dominance of Microsoft in those days. You think that Microsoft is dominant today, well, that's nothing compared to the late 1990's. Microsoft's market share was closer to 95% for the PC market. By the late 1990s Linux had become a viable platform for a whole lot of things, and people were beginning to take notice. Most obviously, that probably put a big dent into the adoption of Windows NT as a server OS on x86 machines, which had been progressing quite well until the mid 1990s. That also probably helped Java because it meant you could seamlessly run your server workloads on "toy" x86 machines or on more "serious" platforms, without changing anything else.
- giantrobot 1y agoI was excited about ApplixWare Anyware Office[0] around 1999-2000. I'm pretty sure I got a copy bundled in a boxed copy of SuSE or RedHat. It was the first time I'd really seen a real productivity application written as an applet. It was an interesting idea that was eventually delivered by JavaScript. [0] https://www.applix.com/applixware/anywareoffice.html https://www.applix.com/applixware/anywareoffice.html
- jmyeet 1y agoThere are design decisions you can reasonably question in Rust but the big one that justifies its existence is memory safety. It's simply too important. Not everything needs it but key infrastructure, most notably Web browsers, do. I predict we will be having buffer overrun CVEs in C/C++ code for as long as we have C/C++ code. The realities of writing safe, multithreaded C/C++ on processors with out-of-order processing, context switching and branch prediction is simply too complex to get right 100% of the time. Rust makes writing certain code difficult because it is difficult to do/ C/C++ fools you into believing something is safe because you've never encountered the circumstances where it isn't. We have tools like valgrind to try and identify such issues. They're certainly useful. But you'll be constantly chasing rabbits. I've seen thread and memory bugs in production code written by smart, highly-paid engineers at big tech companies that have lain dormant for the better part of a decade. That's why Rust exists.
- holowoodman 1y agoProblem is, unsafe rust is as crappy as C/C++ safety-wise, just with worse tooling. And lots of things that C/C++ does can't be done without unsafe rust. Rust will never take over and something like C/C++ will always be with us.
- izacus 1y agoEvery single language we use to write software outside C++ is memory safe. It's important, we got it years ago. With Java.
- hodgesrm 1y ago> It was ridiculous. They seriously wanted to rewrite everything in Java, including office and web browsers. There's another perspective. Many people were looking for something like Java well before it was released: VM-based, portable, modern object-orientation features, etc. Case in point: databases. In the early 1990s I worked on a project at Sybase that attempted to rewrite SQL Server from the ground up to bring in object [relational] support. The team focused on VM-based languages as a foundation, which were an area of active academic research at the time. Built-in object support, portability, and ability to support code generation for queries were among the attractions. The project started with Smalltalk (slow!), then moved to an acquired VM technology (it was bad!), and finally a VM we designed and built ourselves. These gyrations were a key reason why the project failed, though not the only one. When Java came out in 1995--I got access to the alpha release in September--it met virtually every requirement we were trying to fulfill. At that point most attempts to build new databases on other VM tech became instantly obsolete. (Other vendors were also looking at VMs as well.) Not coincidentally Nat Wyatt and Howard Torf, a couple of key engineers from our project, founded a start-up called Cloudscape to pursue the Java route. They created the database we know today as Derby. Somewhat more coincidentally, Java became dominant in American DBMS development after 2000. Examples including Hadoop, Druid, Pinot, HBase, etc., are just a few of the examples. I say "somewhat more concidentally" because at that point most of us saw Java as simply more productive than C/C++ alternatives for building reliable, high-performance, distributed systems. That view has obviously evolved over time, but between JIT, dev tooling, and libraries it was definitely true in the early 2000s. It helps to remember how difficult C++ was to use at that time to understand this perspective. In summary, a lot of the hype was the usual new technology craziness, but Java also met the needs of a population of people that went far beyond databases. There was a basis for our excitement. Just my $0.02. Edit: typo
- burnt-resistor 1y agoI remember the Java hype c. 1999. It was such jumping the shark ultrahype of the platform, the language, and OOP. The one thing it did though, it allowed me to produce an installer for a niche DOS-based building code text search engine and JNI allowed calling the functions to produce a Windows 95/NT desktop shortcut (a .PIF). I even added a feature where it was per-customer skinnable with a .BMP.
- mike_hearn 1y agoNot that unrealistic. Google Docs is written in Java, for example.
- jerf 1y agoYou can understand Java hype in 1997 by understanding it as selling the Java of about 2007, but Java of 1997 couldn't deliver. Both because it was a young language, and had all the problems of a young language like poor library support for just about everything, and because the hardware in 1997 wasn't ready to deliver on the hype. Even in 1997 we weren't really looking for web pages to take 60 seconds to "start up", and that could easily happen for a "Java applet" on a home computer. (Or worse, if trying to load the applet pushed the system into swap. In this era 32MB-64MB would be normal amounts of RAM and the OS, other apps, and the browser have already eaten into that quite a bit before Java is trying to start up.) And then it was fairly likely to crash, either the applet itself, or the whole browser process. And it was just about shoved down our throat. They paid to get it into schools. They paid for ads on TV that just vaguely said something about Java being good, because they didn't really have anything concrete they could point to yet. They paid to have really bad enterprise software written in it and then jammed into schools just to make sure we had a bad experience, like Rational Rose [1]... my memory may be failing me but I think it was implemented in Java at the time, because it was a Swing app (another Java thing shoved down our throats but not ready for prime time even by the standards of 1997). I was using it as an undergrad student in 1999 or so and I couldn't hardly click on a thing without crashing it. Not the best look for Java, though I'm sure it was not Java qua Java's fault. Still, it fits the pattern I'm trying to show here of it being grotesquely hyped beyond its actual capabilities. They shoved enough money at it that they did eventually fix it up, and the hardware caught up into the 200xs so it became a reasonable choice. Java isn't my favorite language and I still try to avoid it, but in 2025 that's just a taste and personal preference, not because I think it's completely useless. But I feel bad for anyone in the 1990s ordered by corporate mandate to write their servers in Java because the ads look cool or because Sun was paying them off. It must have been a nightmare. In fact, you can understand the entire Dot Com era hype as selling the internet of about 2007 in 1997, or in some cases even 2017. It all happened, but it didn't all happen in the "year or two" that the stock valuations implied. [1]: https://en.wikipedia.org/wiki/IBM_Rational_Rose https://en.wikipedia.org/wiki/IBM_Rational_Rose
- derriz 1y ago> Both because it was a young language, and had all the problems of a young language like poor library support for just about everything, and because the hardware in 1997 wasn't ready to deliver on the hype. Outside of Perl’s CPAN, library support in 1997 sucked for all languages. Being able to write a hash-table or linked list C was a valuable commercial skill as nearly every single code base would include custom versions of these sorts of very basic data structures rather than pull them from a commonly used library. “Using a 3rd party library” meant copying a bunch of source code downloaded from who-knows-where into your source control repo and hacking it to work with whatever funky compiler and/or linker your project used.
- stephenlf 1y ago> Hype is about excitement; it’s about the tantalising possibility that if you jump on board at just the right time, you’ll become part of something unprecedented and maybe end up rich and famous along the way. In the late 90s and early 2000s, a lot of people did exactly that – and, yes, many of them used Java along the way, and a fair few of those got rich and famous by getting in right at the beginning, and getting out before anybody realised their idea was never going to work Did you just look three years into the future and write about the GenAI hype?
- immibis 1y agoProbably writing in the present about cryptocurrency.
- vardump 1y agoI hate "hype" as a word. It's often used without justification to bash something that is new and popular.
- pixl97 1y agoHype is when popularity goes beyond substance.
- vardump 1y agoAlso often when popularity is earned. Unfortunately.
- _ea1k 1y agoI agree with you, tbh. Whether something is over hyped or under hyped is a truly strange thing to debate given that the position can almost never be objectively measured.
- jasode 1y agoThe word "hype" is being used in 2 different ways. definition #1 is about Java features : The original "Java is criminally underhyped" essay by Jackson Roberts is talking about "not over-hyped" in terms of Java's technical capabilities ... such as types and package manager, etc. E.g. Java has types which Javascript/Python do not and typing is a positive thing to help prevent errors -- therefore -- Java is "underhyped". The particular language capability not being used as much as the author thinks it should is the basis for defining what "hype" is. definition #2 is about Java's marketplace effect: The "overhype" of Java in the 1990s was extrapolating and predicting Java's effect on the whole computing landscape. This type of "hype" is overestimating the benefits of Java and making bold proclamations. Examples: - Java and JVM's WORA "Write Once Run Anywhere" will kill Microsoft's Evil Empire because it will render Windows irrelevant. (This didn't happen and MS Windows still has 70+% desktop market share today. 30 years later and Microsoft is one of the top 3 tech companies with a $3+ trillion dollar market cap while Sun Microsystems was acquired at a discount by Oracle.) - Java will make lower level languages with manual memory allocation like C/C++ obsolete because CPUs are getting faster. Let the extra "unused" cpu cycles do automatic garbage collection in Java instead of C programmers manually managing memory with malloc()/free(). (C/C++ is still used today for games, and tight loops of machine learning libs underneath Python.) - Java plugins will enable "rich" web experiences. (It turns out that Javascript and not Java plugins won the web. Java also didn't win on desktop apps. Javascript+Electron is more prevalent.) That's the type of overhype that Java failed to deliver. Same situation with today's AI. Some aspects of AI will absolutely be useful but some are making extravagant extrapolations (i.e. "AI LLM hype") that will not come true.
- zozbot234 1y ago> Java will make lower level languages with manual memory allocation like C/C++ obsolete because CPUs are getting faster. Except that this actually happened wrt. a whole lot of application code. Sure, Java was slow and clunky but at least it was free of the memory unsafety that plagued C/C++. What was the mainstream "safe" alternative? There was no Rust back then, even Cyclone (the first memory-safe C style language) was only released in the mid-2000s.
- 1y ago
- jmyeet 1y agoI suspect many today don't fuly appreciate the context of Java in the 1990s and how different the outlook was. A lot of what we take for granted now wasn't even imagined and even if it was, it wasn't certain. Java was hyuped on three fronts: 1. Desktop applications; 2. Server applications; and 3. Browser applications. We had more platforms then. On the desktop front, Mac was in decline but still existed and was strong in certain niches. On the server front, there were many UNIX variants (eg Solaris, HP/UX, Digital Unix, etc). Cross-platform really was a big deal and much more relevant. We still had desktop apps then. Being able to write a Swing app and run it "everywhere" was a big deal. Otherwise you wre writing things in thing slike Visual Basic (and thus Windows only) or I don't even know what Mac used at the time. On the server, this was the very early days of Web servers. Netscape still existed and sold Web server software. The most common form of HTTP serving was CGI bin. These had a significant start up cost. There were other solutions like ISAPI/NSAPI. Java brought in servlets, which were persistent between requests. That was massive at the time. It creates problems too but it's all tradeoffs. And the last is Web applications. This was the newest area and had the most uncertain future. Java applets were pushed as a big deal and were ultimately displaced by Macromedia (then Adobe) Flash, which itself is now (thankfully) dead and we have Javascript applications. That future was far from certain in the 1990s. I remember seeing demos of Java applets with animations and Microsoft doing the same thing with a movie player of all things. Single page applications simply didn't exist yet. If you wanted that, and honestly nobody did, it was a Java applet or maybe a Flash app. The Web was still much more "document" oriented. Server a page, click something, server a page for that and so on. I still wrote this form of Website in the 2000s and it could be incredibly fast. PHP5+MySQL and a load time sub-30ms. You could barely tell there was a server round trip at all. So Java still exists but almost entirely in the server space. It's probably fallen away from other platforms like PHP, Python, Node.js, etc. But it absolutely changed the direction of tech. Java has left a lasting legacy. I would go as far as saying that Java democratized the Internet. Prior to Java, every solution was commercial and proprietary.
- rr808 1y agoAgreed, the dotcom boom was built on Java. Unfortunately it really backfired on Sun when everyone (who didn't die) figured WORA meant they didn't have to run on expensive Sun servers.
- more_corn 1y agoI’ve hated Java since the day I first met it. That hatred has only grown as I’ve had to secure and optimize the jvm. If Java died today I would toast its demise and piss on its grave.
- murukesh_s 1y agoJava served it purpose and served it well.. remember it was replacing large mainframe systems and developers needed their fair share of confidence - Types, JIT compiler, JDBC, JMS, EJB (I hated it though - but had the "enterprise" word in it to sell!), transactions, especially distributed transactions which was uncommon in other languages. In many languages the logic was scattered across multiple libs and frameworks - providing inconsistencies. Even now in fortune 100 I don't think they use anything other than Java to perform daily tasks. Yea they are now more open to use Python for ML related tasks and Node.js for compiling React and all but anything backend its Java
- mdaniel 1y agoI'm hearing that you don't hate Java, you hate the JVM To help folks understand your perspective, what would you replace it with?
- vanschelven 1y agoMissing 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
- lordleft 1y agoThe fact that Java is still a go-to language for many companies, including technically sophisticated FAANGs like Google and Amazon, speaks to its robustness and utility. It’s a great language with staying power.
- murukesh_s 1y agoJava is still the only go-to language for almost all of the fortune 100 (or 500) companies other than perhaps .Net. No other languages including Go, Rust (Difficult to get devs from consulting companies), Python, Typescript (Considered inferior by enterprise backend dev bros) are being used for building core backend APIs. Almost all the devs for these large enterprises are outsourced from large consulting companies like Infosys, Accenture, TCS, Wipro etc and all of them are still doing Java. I know it by working in large Banks and later trying to sell a non-Java platform to these companies and failing just because it was not written in Java.. Also most of the large enterprises need distributed transactions as they use multiple databases and message queues in a monolith architecture - and no other language have the lib/tooling that can beat Java.
- zozbot234 1y ago> Java is still the only go-to language for almost all of the fortune 100 (or 500) companies other than perhaps .Net One factor in that choice is that Java can run seamlessly and with official support on mainframe and midrange compute platforms that are still quite popular among Fortune 100 and 500 companies. (Many of them are building "private clouds" as a replacement but it's a slow transition.) While you might be able to get other languages to run, sticking to Java is a broadly sensible choice.
- joshdavham 1y ago> No other languages including Go, Rust (Difficult to get devs from consulting companies) […] are being used for building core backend APIs. Could you elaborate a bit further? People at consulting companies don’t use Go or Rust? Also, do these top Fortune companies recruit from consulting companies often?
- binarymax 1y agoI will die on the hill that Java is inferior because it doesn’t have native support for unsigned numerics.
- rf15 1y agoI'm doing Java for my main work, and boy, this still doesn't sit right with me after decades in the space. just give me my properly unsigned bytes, please
- pron 1y agoIf x is a "properly unsigned" byte that has the value 1, what is the value of `x - 2 > 0` and why? The choice of having unsigned types or not is always one of the lesser evil, and in a language where emitting signals directly to hardware ports is not a primary use case, the argument that not having these types is the lesser evil carries a lot of merit.
- layer8 1y agoI used to think that way too, but there’s a good argument to be made that overflowing your integer types to negative values instead of to small (or large) positive values avoids a lot of silent bugs you’d otherwise have with unsigned types. A language solving that would need to work with static proofs of non-overflow, and have any desired overflow to be explicit. Java in the meantime has gained all the unsigned operations as methods in the Integer and Long classes, so the relatively rare cases when you need them are straightforward to handle. The only real annoyance is that byte is signed. At least there’s a bit of unsigned support in the Byte class now. Lastly, minor point, Java actually has an unsigned 16-bit integer type, called char.
- hashmash 1y agoThe problem with having unsigned integer types is that it introduces new type conversion issues. If you call a method that returns an unsigned int, how do you safely pass it to a method that accepts an int? Or vice versa? A smaller set of primitive types is preferred, since it has fewer conversion issues. Unsigned integer types are only really necessary when dealing with low-level bit manipulation, but most programs don't do this. The lack of unsigned integers makes low-level stuff a bit more difficult, but it makes the language as a whole much easier. It's a good tradeoff.
- rr808 1y agoJava and the JVM are actually very good. The real problem to me is the Java-enterprise way of thinking which usually involves Spring IoC container with too much magic that makes it really difficult to understand. Get off Spring its a great platform.
- brabel 1y agoI've been a "mainly" Java programmer for 15+ years (I've used several other languages, but Java has remained the main one over all this time). I only did something like 1 year using Spring in one of my early jobs. So, when I saw some people online talking like "you ain't a Java programmer if you don't do Spring" I used to think they're complete idiots, I am living proof you can write lots and lots of Java and basically never encounter Spring. However, since then I've seen several surveys of JVM programmers, and apparently Spring is used in something like 80% of Java projects, so it's not surprising a majority of people, even Java developers, think that Spring is somehow mandatory if you're a Java programmer. But of course, it's just a framework, one of many, it's just the most popular one. Can you "do JS" professionally without knowing Javascript today? I'd think so. I guess React is about as dominant in the JS-world as Spring is in the Java-world.
- vips7L 1y agoOn year 11 of writing Java professionally and I haven’t used Spring once. Spent a lot of time writing in Play and now more recently doing Helidon. However I do see the appeal, especially in low-talented teams. Spring brings a lot of free stuff with it and it’s easy to hire for.
- dzonga 1y agoi'm no spring fan. but if you gonna make something that will stand the test of time - then yeah spring. it provides you with an architecture to do things properly, way to do test through test containers, connect all kinds of databases in a familiar manner. try the inverse and you will cry razor blade tears.
- rr808 1y ago
- liampulles 1y agoI started out as a Java dev. I came in around Java 8, and I loved using the streams API (still do) - trying to stream through everything is just enormous fun. And I loved adding all sorts of Spring magic to make programs do all sorts of fun things. And I loved trying to use all sorts of package private protected stuff to define an intricate architecture, and make complex generic utilities to solve any 2 variations of an implementation. And then, of course, I woke up and smelled the roses, and realized the mess I was making.
- nurettin 1y agoToday some of the most common development tools like pycharm, android studio and dbeaver are java programs. Your java programs will run on the most obscure platforms (aix, as400) as promised on the package. So despite all the hype and sales tactics they must have done something right.
- w10-1 1y agoIt's not illuminating to make inferences from freemium marketing shadows or feature comparisons, particularly if you want lessons you can apply today. Follow the money. Initially it was from VM licenses, from netscape for browsers, Oracle for databases, and Borland for IDE's (Borland also wrote the first JIT). But except for databases, they were non-exclusive, and JavaSoft's free offerings undercut their licensees. Then IBM cut a 10 year deal while Microsoft's license went to court for trying to add features to get lock in. At this time IBM created a free Eclipse to undercut the IDE market (Borland), with SWT as an alternative to Swing to capture developers for leverage. But the big money was in enterprise, so J2EE licensing was much more airtight for Oracle, BEA, et al. That was a successful and long-lived franchise that also drove storage and compute revenues. But people hated the complexity and compute resources and Google and Apple both decided to build rather than buy, so we got Spring, Swift, Go, and the whole native and container ecosystem. You have to be aggressive and strict in building a monopoly, but you should be gentle and forgiving in maintaining it. Both Microsoft and AWS learned this lesson.
- cxr 1y agoOriginal discussion (794 comments) from 2021: <https://news.ycombinator.com/item?id=26827766 https://news.ycombinator.com/item?id=26827766>
- bane 1y agoI remember this time well. For hacker types, Java was...not what we were looking for. But it checked a lot of boxes for the type of bland corporate development that makes up the majority of software development. What Java really offered was allowing companies where software development is a cost-center minimize costs and reliably automate business processes with lower-skilled (and paid) software developers. Reliability is probably the number of one destroyer of value with software, and requires more development time, better developers, and the worst-case threat of downtime. It "eliminated" most of the things that make software hard by simply getting rid of memory management as a problem. Doubling down on OOP and services everywhere let's companies divide and conquer software in ways that better align with business units. Many runtimes (VMs) had various types of sandboxing which boosted security in a very immature infosec world. Being slow (at the time) wasn't a problem as companies could just buy more hardware and still get the reliability that they needed. Java has to be looked at as the entire ecosystem, and the TCO for an all Java world is generally lower than with an all C++ or C world, or an all Perl or Python world. Being the new COBOL is also why Java so rapidly took on "enterprise" cruft as a big part of its identity. If you can get past all of that and are just looking for a nice, batteries included, language to work in, with a great cross-platformm highly performant, VM, Java is a great language. Its added a lot of nicer things in the last few years as its starting to shed a lot of dead weight that accumulated during the worst of the enterprise software ClassFactoryFactory years. There are reasons it took off so well, and designing around the intended user community is one of them.
- basfo 1y agoIt was so hyped by Sun Microsystems that they even called their implementation of GNOME on Solaris the "Java Desktop System", even though there wasn't a single line of Java in it.