[HN Gopher] Greatest Java apps ___________________________________________________________________ Greatest Java apps Author : miked85 Score : 141 points Date : 2020-06-29 11:57 UTC (11 hours ago) (HTM) web link (blogs.oracle.com) (TXT) w3m dump (blogs.oracle.com) | yashap wrote: | Not really "apps", but Java features prominently in the backends | of many major tech companies. Off the top of my head, I believe | it's the main server-side language at Amazon, and one of many | prominent server-side languages at Google, Netflix, Apple and | Uber. | suyash wrote: | What do you mean by "apps" then? Ofcourse any modern app will | have mix of technologies, I think it's fair to call it "app" - | perhaps an Enterprise Java App or Backend Java App to be exact. | zulu314 wrote: | I find it a little weird to mix applications and libraries in the | same list. But if libraries are considered, I would definitely | nominate Hibernate: the most powerful ORM out there accross all | languages, and it's been a must grab for any of my projects for | almost 2 decades. | Keyframe wrote: | I haven't been much of an ORM userm but what makes it so | special? Anything comparable in Javascript or Python land? | LockAndLol wrote: | They might not like being associated with it, but JDownloader is | amazing Java software. It's fast, looks good, integrates with all | desktop environments I've used and still works impeccably. | | I wish Java had a solution for web+platform UIs. Webapps that | then run in Electron is by far the most annoying thing I've had | to deal with as a user. | GoblinSlayer wrote: | Also Azureus, featuring legendary laggy java gui. | lukashrb wrote: | I like to add clojure it is written in Java, so I guess it | counts. | | But seriously what do you like about Java and why did you choose | to work with it? What problem does it solve for you? I'm curious! | (don't comment when you don't like it) | altcognito wrote: | Lucene? Android :) Tomcat? Maven? | | The Minecraft coding community is amazing. What they get done | without documentation is stunning. | fieryscribe wrote: | AWS too. A large portion of it is written in Java | manuelabeledo wrote: | I guess that they wanted to go down the route of "hardly | controversial and highly popular" applications, that's why they | didn't include Maven. | | Granted, Maven is an essential piece in the Java ecosystem, yet | it seems that many developers are highly opinionated about it. | RMPR wrote: | >Lucene? | | It's mentioned in the Wikipedia search section. | tlarkworthy wrote: | It's funny how Java is not considered a good language for | games... yet Java managed to snag one of the most important | games of the decade in the end | Orphis wrote: | It's really not great. Doable, but not great. That's why they | moved to a classic C++ codebase instead on other platforms. | | On a side note, I worked on Jpcsp, a PSP emulator in Java. | Great for research and doing refactoring in the code quickly, | not great for performance, even with a JIT. We wrote later | PPSSPP in C++, performance was there quite easily. | jjice wrote: | Great work on PPSSPP. I haven't used it in a few years, but | even back then the performance was great! | iamcreasy wrote: | > It's really not great. | | Could you provide some more information on what it was not | great? | mumblemumble wrote: | For games, probably the worst thing about Java, | especially if you're still on Java 8, is the garbage | collector. Its pause times can be brutal. This won't be | noticeable for games that aren't too hard on memory, or | games where framerate doesn't really matter, but it was | definitely noticeable (and annoying) in earlier versions | of Minecraft. | | On Java 11 or later, I wouldn't expect it to be nearly | such a big deal. At least not relative to some other | issues. For example, it being a reflective language means | that there's a fair amount of memory overhead that's | really only there to support features that aren't so | useful in games development. Also, there's a fair bit of | overhead, in terms of both CPU and memory churn, to | making calls into native libraries from Java. Nowadays, | neither of those is a big deal for a large swathe of | games, either, so I don't think one can really make a | blanket statement that Java is not great for games | development. | suyash wrote: | Android stole and abused Java :( | tyingq wrote: | I'd have to give Tomcat the #1 spot for killing off the worst | parts of J2EE. | dreamcompiler wrote: | OMG. I've set up Confluence servers and Tomcat was the most | nightmarish part of that experience. The idea that Tomcat was | an actual _improvement_ on something sends shudders up my | spine. | tyingq wrote: | You would have had to lived through a full blown J2EE app on | Websphere/Weblogic/JBoss to appreciate it. | ralphc wrote: | OMG yes. So many times all you needed was what Tomcat | delivered, but had to go through the convoluted and slow | config of WebSphere. WebLogic was better but that's damning | with faint praise. | kitd wrote: | I'd say Spring takes that crown. | tyingq wrote: | I still give Tomcat credit for taking Websphere and Weblogic | out of the way. That opened the door for Spring. | latchkey wrote: | JBoss took WS/WL out of the way. | | Disclosure: I was one of the main people who got Tomcat | open sourced. | cletus wrote: | So what's funny to me is how Oracle here is bending over | backwards not to give Google credit for pretty much anything. | It's actually hilarious. | | I laughed at Eclipse Collections. What? No mention of Guava, even | though it's used way more. It's practically part of Oracle's | copyrighted Java API. | | but of course the most hilarious omission is, of course, Android. | And you can say "blah blah Dalvik VM blah blah" but... it's Java. | | And I have to say a word about IntelliJ (and Jetbrains IDEs more | generally). They're the standard by which I judge every other | IDE. To put it another way, they're the reason every other IDE | makes me sad. Even VS Code. | misja111 wrote: | Guava was really popular 10 years ago, after that other | libraries have caught up, not to mention Java itself. | | And IntelliJ was once indeed the standard but is slowly | becoming the new Eclipse because it's so bloated. I recently | tried VS Code and I was amazed how fast and lean it was, I am | definitely switching. | pjmlp wrote: | I have used Java on and off since 1998, am yet to ever touch | Guava. | | Android Java is Google's J++, with its half baked Java 8 | compatibility, and deserves the same treatment that J++ once | had. | suyash wrote: | Android Java != Java so no credit needed to be given. Though | Google does make Java contributions in other libraries and | projects which is very welcome by the community! | pjmlp wrote: | Their wrongdoings with Android to the Java eco-system are | more harmful than whatever contributions they might have | done. | tannhaeuser wrote: | In praise of Lucene, it's stated that | | > _Wikipedia replaced the Lucene engine with Elasticsearch, a | distributed, REST-enabled search engine also written in Java_ | | Elasticsearch is still using Lucene as core search engine though, | so all that was replaced is the custom job control and wrapping | around Lucene (SOLR?) by the one that Elasticsearch provides I | guess. | elric wrote: | Both Solr and ElasticSearch use Lucene as their search engine. | Solr and ElasticSearch are basically server components wrapped | around the Lucene library. With a fair bit of special sauce and | extra features. Including, well, elasticity. | [deleted] | amaccuish wrote: | I gave up on lucene and solr on my dovecot server because of | memory usage and use https://github.com/grosjo/fts-xapian | instead | nicoburns wrote: | You may also be interested in https://github.com/tantivy- | search/tantivy | latchkey wrote: | I was the one who first requested that Doug join the ASF with | Lucene. The rest is history... ;-) | johnklos wrote: | So not impressed. Still waiting for, "write once, run anywhere" | to actually work. | codr7 wrote: | It did, once you finished debugging everywhere. | | That aside; these days, it actually more or less works. | | I avoid it as far as I can after having built a couple of | systems in the language. For all its faults, Go is still a much | more pleasant language to solve the same kinds of problems in. | | But my latest project needed multi-platform printing, so I | cobbled together a tiny Java program using the print API that I | run in the background and pipe data to, and it just works. | suyash wrote: | all those software already have already proven that. | dxxvi wrote: | After reading this, I think I need to learn Eclipse Collection | and Micronaut. | jmartrican wrote: | What are the odds that a language known for its use in boring | enterprise software is the language used to create the most | popular video game in history (Minecraft). If C++ was a person it | would be mad/salty at this fact. | Waterluvian wrote: | It's a great reminder that the customer doesn't care about the | code. What matters is the experience and overall fidelity of | the product shipped. | | The language you pick, the quality of code you write, the | comments and documentation, are all products (gifts) targeting | your future self, future peers, and employer when it comes time | to make changes to the software. | nonbirithm wrote: | > the customer doesn't care about the code | | I'm not sure this applies as strongly in Minecraft's case | specifically, because of the critical importance of its | modding community to its wild success. Normally it wouldn't | matter what language you pick in terms of how popular the | game is going to become, except it just so happened that by | choosing the JVM they gave the ability to the community to | decompile the game and add the content they want. Maybe this | wasn't intended and Notch chose Java because it was what he | happened to know, but it's my belief that if Minecraft had | been written in C++ instead then Mojang would not have the | brand recognition it does today. Anecdotally one of my | friends tried the RTX version of the game which was rewritten | in C++, and his reaction amounted to "it's fine, but there's | no mods, so it's irrelevant." And that's in spite of the fact | that modded Minecraft is a minefield of incompatibilities | between years old versions and can easily consume 10 | gigabytes of RAM and millions of extraneous CPU cycles. | Nobody cares, because at the end of the day modded Minecraft | is the only way they can get the specific experience they | want out of a video game, and the only reason this is | possible at all, even if it will never be performant, is the | JVM. | | But that's only because Minecraft is one of the most popular | video games in history, and not the kind of thing that a | developers for a game nowhere near as successful would worry | about before gaining a sizeable audience. What good is a | modding system if not many people want to use it? And | depending on the game a mod system might not be as warranted, | so in those cases the choice of language doesn't matter as | much. | [deleted] | haecceity wrote: | C++ minecraft should have an SDK for mods | nineteen999 wrote: | > it just so happened that by choosing the JVM they gave | the ability to the community to decompile the game and add | the content they want | | That wasn't their intention; Minecraft code was originally | obfuscated specifically in order to combat reverse | engineering and modification. | | https://www.reddit.com/r/Minecraft/comments/mpslv/why_are_m | i... | | https://minecraft.gamepedia.com/Obfuscation_map | nineteen999 wrote: | > If C++ was a person it would be mad/salty at this fact. | | Are you serious? Wake us up when somebody implements something | as complex and performant as UE4 in Java. Or even UE3 for that | matter. | the_af wrote: | And yet people here on HN have told me in recent threads, when | discussing Java, that: | | - Java is not suitable for enterprise software (yes! Some | people here actually believe that). | | - Java is not a good general purpose language (but Minecraft | was written in Java. Or even better, the list of very varied | apps from this article shows it's indeed a good general purpose | language). | | What these people actually mean is "I don't like Java". Because | Java hasn't been "hip" for years, this makes people claim all | sorts of absurd things about it. Things that directly | contradict known history. | mumblemumble wrote: | I work in Java every day, and I agree it's been a huge | success. But I also don't think it's a good general purpose | language. It's absolutely full of warts and gotchas and | ergonomic problems and questionable design decisions that | even the people who made them have come to regret. | | But known history tells us that there is very little | correlation between a language's success and how well- | designed it is. Outside of software, too - I think the | archetype for this phenomenon is probably VHS and Betamax. | the_af wrote: | > _It 's absolutely full of warts and gotchas and ergonomic | problems and questionable design decisions that even the | people who made them have come to regret._ | | And which general purpose language isn't? | apta wrote: | > questionable design decisions that even the people who | made them have come to regret. | | Such as? | gschrader wrote: | Serialization is one of them http://cr.openjdk.java.net/~ | briangoetz/amber/serialization.h... | mumblemumble wrote: | I think the most interesting one to me was an interview | with Joshua Bloch in the book _Coders at Work_. It was to | do with generics, of course, but distinct from the usual | surface-level debate over type erasure. He felt that | generics were rushed, and that they could have done a | better job of sorting out the details of how things were | going to work at the language level if they had given | themselves more time. | chopin wrote: | Wild mixes of consumer and provider API's for example in | Swing. The later designs have been much better in that | regard. | | The built-in http client library is borderline horrible. | csharptwdec19 wrote: | As someone who's not a big fan of Java, I don't get those | arguments. | | If anything my argument for Java would be that it tries to be | good at -everything-, and because that attempt started from | day one (versus, say, C# starting primarily on desktop, then | Web, and worrying about smaller targets and big servers | later). | | And I think it's pretty good at all of that from a | 'capability' standpoint. | | But because it tries to be all things for all people, it's | pretty easy to wind up down rabbit holes of large frameworks. | And that leads to the warts Java has from a usability | standpoint. | bzb3 wrote: | The performance of the Java version of Minecraft is so | terrible that the entire game had to be rewritten to be | played on consoles. | | Minecraft was not popular because of Java, Minecraft was | popular despite Java. | pjmlp wrote: | The game had to be rewritten because Microsoft is a C++ | shop and game consoles SDKs don't support Java, and it was | definitely easier to port the game to C++ than to create | Java AOT compilers for game consoles. | wing-_-nuts wrote: | I strongly disagree. A big part of minecraft's popularity | is due to it's mods scene, and it's mod scene is so | successful because modders could decompile minecraft's | classes and build a deep understanding of how minecraft | works under the hood. | the_af wrote: | That's highly debatable, not a point of fact. | | And the rest of the apps from the article? Are they also | successful "despite Java"? At which point are you willing | to admit that maybe Java was suitable for general purpose | programming? Which amount of evidence would convince you? | bzb3 wrote: | What's debatable, that the Java version of Minecraft had | terrible performance or that the console ports are not | written in Java? | | About your other question: I only mentioned Minecraft. | jrsj wrote: | I would say its suitable, but I wouldn't say it's a good | general purpose language for a variety of reasons. The first | being that "good" is totally subjective. It feels like it has | lagged behind its competitors both in terms of language | features and API design. Its generally crappy for GUI apps. | It doesn't really excel at anything in particular unless | you're already invested in it. Even it's original premise of | "write once run anywhere" is mostly irrelevant now, and there | doesnt seem to be a future for client side Java apps outside | of Android. | | Overall I'd prefer to use just about anything else in pretty | much any domain where Java would be a consideration. It may | not be an inherent problem with the language itself, but its | ecosystem in my experience leaves it as one of the worst | general purpose languages in terms of productivity while not | offering a sufficient advantage to make up for that. | | All that being said, Java is still _good enough_ most of the | time. | akhilcacharya wrote: | Of course, all of the new advancements have come in the | Microsoft-built C++ version that runs an order of magnitude | better (including like ray tracing and VR) | pjmlp wrote: | Although C++ allows for better code optimizations, it isn't | as if the team that took over later Java versions was doing | anything great. | | Using classes to represent points and vertices instead of | arrays, and allocating in hot paths, really? | [deleted] | guardian5x wrote: | Yea probably, I doubt that Minecraft would've been any less | succesful written in C++ or any other language though. | akavi wrote: | I've heard that the relative ease of decompiling Java might | have contributed significantly, since it made mods much | easier than they would've been with C/C++. | hoseja wrote: | Yeah, the game is almost source-available, thus almost | infinitely moddable. Games that provide neat modding APIs | (thinking Factorio, Rimworld) are, while commendable, | inherently limited. If Minecraft were C++ you'd have to be | able to recompile it yourself for equivalent moddability. | 7786655 wrote: | Minecraft isn't source available, it's just that people | in the community have put a ton of effort into | decompiling and deobfuscating it. Granted, this probably | wouldn't have been possible if it were written in C++. | | (At least, this was how it was pre-Microsoft. I haven't | followed it since then.) | blackrock wrote: | Could Minecraft have succeeded if it had a sub-level | scripting language, like Lisp? The way that AutoCad uses | it for its sub programming. Or the way Emacs uses Lisp | for macro programming. | | Or did it need the full Java source code to re-mod the | program? | Eldt wrote: | I'm confident the community driven modding contributed to | Minecraft's success in a massive way. | the_af wrote: | Depends. Success measured how? For the end user -- the | players, that is -- it would likely make little difference. | For the developer, it's very different. A game that doesn't | get made at all is infinitely less successful than one that | exists. | nyc640 wrote: | > most popular video game in history | | * citation needed | | The most popular game by player count is CrossFire [1]. All I | see is that Minecraft has the highest unit sales for a video | game across all platforms, but Minecraft for consoles and | mobile (which make up a majority of sales [2]) are written in | C++. | | I would argue that Java would have been a limiting factor for | Minecraft reaching its current levels of success given the fact | that the PC gaming market is relatively small compared to the | console and mobile gaming markets, and it would've been nearly | impossible to port the Java edition to so many different | platforms. | | [1] https://en.wikipedia.org/wiki/List_of_most- | played_video_game... | | [2] https://minecraft.gamepedia.com/Bedrock_Edition#Sales | pjmlp wrote: | And to this day people keep complaining about the modding | capabilities of Bedrock. | pjmlp wrote: | The proven example that instead of spending endless hours | discussing what languages are good for creating games, one | should focus in creating them in first place. | | Incidentally C++ also had to fight against Assembly, C and | Pascal for adoption among game developers, and the Playstation | SDK was one of the contributors to change this. | rH61W3epxeHMjg4 wrote: | The concurrently developed Minecraft Bedrock edition is written | in c++. That is code base for Widnows 10 Edition, Pocket | Edition, and current console versions of the game. | geodel wrote: | Well that assumes lot of boring enterprise software is not | written in C++. | suyash wrote: | TensorFlow is written on top of C++, how boring is that, I | think it's one of the coolest tech. | mumblemumble wrote: | I'm pretty sure the most popular video game in history was | implemented in TTL. | | (Though Java versions certainly exist, too.) | | It's also worth noting that Minecraft was _originally_ | implemented in Java, but, in order to get it running on | consoles and mobile, they had to port it to C++. Which doesn 't | discount how much Java contributed to its early success. (Most | importantly, I'm guessing, by making it even feasible in the | first place for a single person to implement it in so little | time.) But still, the big picture version of the Minecraft | story does more to support than challenge the main reason why | C++ is considered the language of choice for games development. | Because, yes, Java got it off the ground, but it was only a | couple years later that they had to port it to C++ in order to | access a mass market. | andonisus wrote: | The Java version is still very popular due to its support for | mods. | mumblemumble wrote: | It absolutely is, and it's my preferred version. But I | think I remember seeing somewhere that the vast majority of | unit sales were of versions that were written in C++. My | guess is that, if it had stayed Java only, it would have | still been extremely popular, especially by indie game | standards, but would not have become quite such a global | phenomenon. | itronitron wrote: | The C++ versions may drive new sales on additional | consoles but measured by hours played I would expect that | the Java version of Minecraft still dominates. | blackrock wrote: | What graphical library did he use to implement Minecraft? Or | did he roll his own? | ertucetin wrote: | He used lwjgl library | fulafel wrote: | What's the game implemented in TTL? | mumblemumble wrote: | Pong | rayalez wrote: | I'm planning to get a Masters degree in CS, and it bothers me | that the program I chose uses Java as the primary language. They | have an awesome theoretical curriculum, but it looks like I'll | have to use Java to complete all the practical tasks. | | I'm a Node/React web developer, I want to build a SaaS startup, | and I'm not really interested in writing Java apps, I doubt I'll | ever want to use it for something. | | Do you guys know if Java would be really painful to learn? It's | hard to get motivated about learning a thing I'll probably never | use in practice. | nayuki wrote: | Java will at least help you understand stuff like static typing | in TypeScript and classes in ECMAScript 6. In any case, skills | are readily transferable across programming languages. | djbeadle wrote: | I graduated undergrad two years ago, the majority of my CS | classes were taught in Java. I now work in full stack web dev | (Python, Django, React) and tinker with embedded electronics on | the side. | | Java was picked because (for the most part) it just works on | everybody's machines, it comes by default with a large set of | libraries, and it can build standalone executables (great for | grading purposes). You don't have to explain why MacOS comes | with Python, but you shouldn't use that version of Python. Java | of course has its peculiarities, but so does every other | language. | | And as you say, you won't just be learning Java, you will be | learning how to develop software. Over time and with exposure | to multiple languages you will find switching between them is | possible. You may (will) have preferences but with a solid | foundation you can say "I recognize that this is a loop over an | array, I don't remember the exact syntax in this language, but | I know how to look it up". | | I'm not sure what your situation is for a masters, but for the | best odds of job searching post-undergrad the best advice I | could give is have several projects which you can talk about | the implementation specifics (why did you choose this pattern) | and the big picture (why did you choose this architecture). For | an entry level positions the exact language didn't matter when | job searching as long as it was in the ball park. | | TL;DR You're going to school to learn computer science and to | illustrate those concepts they're going to use Java. That | knowledge WILL be transferable to other languages. For maximum | value explore and tinker with other languages on the side. | | And as a bonus, a lot more of the world runs on Java than you | think so it will be valuable to have on your resume. | abledon wrote: | grind some leetocde questions in Java. after a while it made me | appreciate the explicit Type declarations and interfaces. Like, | you begin to wonder, do you want to use a HashMap<> or | TreeMap<> as your map implementation. Or a LinkedList or | ArrayList as your implementation of List etc... I find | languages that are more dynamic like js/python dont make the | user think as much about this (which is great in some cases, | but if your doing academic CS stuff... kind of helps in some | sense) | jswny wrote: | It's not likely that any university is going to teach masters | classes in JavaScript, that's for sure. So you'd have to use a | different language than JS anyway. Advanced topics you would | learn like ML, computer vision, distributed systems, big data | stuff all already have their languages that you have to use | anyway and not many (if any) are JS. | | Also, if you are going to be a React web developer, the | theoretical/advanced stuff they teach you in an MS program is | likely not going to be relevant at all to your actual career. | | Source: current MS CS student. | tashoecraft wrote: | Java is used everywhere, why do you think you'll never use it? | mywittyname wrote: | I hate Java for lots of reason, but it does do a few things | really well, one of which is that it is easy to learn. Most of | the core libraries are very consistently designed, so you don't | need to hunt around documentation to find something. Instead | you type import java.util. and look at the autocomplete list | for the collection you want. Most of the standard libraries | implement the same interface, so using them is almost always | the same. | | I haven't used Java in years, but I'm very certain I could pick | it up again immediately with nothing more than an IDE. Contrast | that with python, which I use almost every day and I still need | to visit stack overflow to perform rudimentary tasks because | libraries for it are a mess. | nwsm wrote: | Java is a common university language, and an even more common | industry language. I think gaining knowledge of the Java | ecosystem and Java architectural patterns will only be | beneficial to you in your professional career. Hopefully you'll | find places you see advantages in Java, and places you see | advantages with Node. This will help you make better decisions | when building production apps. | patorjk wrote: | I do contracting work and mostly focus on Node/React, yet I | still encounter Java all of the time. Especially Java with the | Spring framework. With how entrenched Java seems to be, it's | probably something you will come across from time to time | (especially in the web development world - at least from my | experience). Also, I find that JavaScript devs have an easier | time learning Java than Java devs have learning JavaScript. | rando231 wrote: | You will probably learn many languages in your career. Most of | the understanding you'll gain will apply across languages, so I | wouldn't worry about it being a waste of time. | | Learning Java should force you to understand object oriented | design, as it is hard to do anything well in Java without it | (though some try). While there are signs that OO's domination | is nearing an end, there are reams of code out there that | require a good understanding of it. | jordache wrote: | No mention of Android? lol butt hurt | granshaw wrote: | Ummm, its an Oracle site :) | capableweb wrote: | I guess it's because Android is not mainly consisting of Java | code, unlike for example Minecraft. Correct me if I'm wrong, | but isn't Android made with mostly C and C++? | jcfrei wrote: | Kernel (Linux) and android runtime (previously dalvik vm) | plus some native libraries are C(++). The rest of the stack | running in the user space is Java though (with support for | native code). | zamalek wrote: | They are slowly moving to Dart, but the lions share is | still Java. My guess is that they are trying to get away | from the reach of Oracle lawyers. | pjmlp wrote: | Tell that to the Android team busy replicating Flutter in | Kotlin. | zamalek wrote: | Pardon my faux pax. The point was that the move is away | from Java, whether Dart or Kotlin. | pjmlp wrote: | Waiting for them to rewrite Android Studio in Kotlin and | the complete Android infrastructure that depends on | OpenJDK for the emulator and AOSP builds. | randompwd wrote: | https://www.jetbrains.org/intellij/sdk/docs/intro/intelli | j_p... | | > The IntelliJ Platform is a JVM application, written | mostly in Java and Kotlin | | Pretty sure Kotlin was birthed to address issues they ran | into while developing IntelliJ | | Android Studio is built on Intellij. | pjmlp wrote: | Still depends on JVM and Java, if Kotlin is so good they | can certainly reboot their eco-system using | Kotlin/Native. | ce4 wrote: | The list generates some mixed feelings - #16 for example, where | the inventor/maintainer got driven away by Oracle's acquisition | of Sun and forked Jenkins from Hudson. | jillesvangurp wrote: | It's obviously and understandably a bit biased. There are a few | omissions: | | No mention of anything mobile even though there are a few | billion phones out there running Android with a huge app | ecosystem of Java and Kotlin based stuff. Of course, that's a | non Oracle flavor of Java as Sun sort of lost the plot on the | J2ME front (another omission). J2ME was of course more | successful than applets ever were until Android happened. | | Listing Eclipse and Netbeans (1 bullet) before Intellij | (arguably more popular than those two combined) is also a bit | weird. In any case, Intellij has largely switched to Kotlin, | which is of course a language Jetbrains, the creator of that | IDE helped create to replace Java. So nice that they still get | a mention. But really, that whole ecosystem is now powered by | Kotlin more than Java. | | Spring/Spring-boot is another painful one for Oracle because it | largely sidelined J2EE related products and standardization. | Tomcat and Jetty sort of survive as low level components you | can optionally use to run that. The Spring ecosystem is | shifting to Kotlin rapidly as well. As is Android, of course. | | So, it's understandable why Oracle prefers to not talk about | those because these are all examples of where Java was | successful but Oracle/Sun wasn't. | Yhippa wrote: | > Spring/Spring-boot is another painful one for Oracle | because it largely sidelined J2EE related products and | standardization. | | I'm thankful for J2EE and things like EJB 2. It's complexity | gave rise to Spring and it's amazing ecosystem of frameworks | and tooling that we have today. | pjmlp wrote: | I look forward to JetBrains replacing the JVM and its | standard library, and GraalVM in the process, given that | Kotlin is so good. | donmcronald wrote: | I gave up on Java when Oracle prematurely rolled JavaFX into | the JDK and got rid of the dedicated bug tracker. I was using | JavaFX a lot and frequently ran into bugs. I didn't mind the | bugs because I thought the tech had a ton of potential, the | JavaFX developers were really good, and it was easy to get | things fixed. | | However, as soon as they rolled JavaFX into the JDK I knew it | would be a nightmare for me. Without author status in JBS | you're relegated to being a second class citizen who has to | submit bugs though the poor door (bugs.java.com) and JavaFX | fixes couldn't be pushed out as quickly because of being tied | to the JDK. | | That was after years of broken promises about mobile which | didn't help. They were also claiming to make massive | investments in JavaFX, but if you HG churned the repo there | were only a few developers doing all the work. | | It's too bad because I really liked JavaFX. It was nice to | develop with and I'm convinced that Oracle's mismanagement is | the primary reason it wasn't more successful. | gschrader wrote: | Do you now realize that it's been split out of the JDK again? | https://github.com/openjdk/jfx | maltelandwehr wrote: | Today I learned that almost every IDE I have ever used is written | in Java. | fnord77 wrote: | Jenkins is a cancer. | captn3m0 wrote: | >Some credit Minecraft's early success to the fact that players | could play in a web browser via Java applets rather than having | to download and install the game. | | I never knew this was possible | tangent128 wrote: | It was possible with the early, finite-world-creative-only | "Minecraft Classic", but as long as I remember (I started | playing mid-Alpha, a few months before the Nether was added) | the game was played through the launcher. | renw0rp wrote: | Wasn't Google docs written using GWT? | cromwellian wrote: | Originally no, but it was written with Closure Compiler which | is a Java app. | | These days Google Docs, Gmail, Spreadsheets, Hangouts, etc are | hybrid apps that contain a core written in Java and was | transpiled with GWT but now use J2CL. | cageface wrote: | I'd nominate Bitwig for this. The UI is written in Java and is | one of the nicest DAW interfaces around. The stuff they've been | doing in the modular grid lately is particularly impressive. The | fact that it's in Java means it works great on Linux too. | | https://www.bitwig.com/en/home.html | specialist wrote: | Nice. | | I nominate Spline, best in class skeletal 2D animator. | | http://esotericsoftware.com | pjmlp wrote: | Definitely, thanks for sharing. | jmartrican wrote: | Does it use JavaFx for its UI? If not do you know what | library/framework they use? | callmeal wrote: | I could be wrong, but at first glance, it looks like | Eclipse's SWT. | JonathonW wrote: | Looks like JavaFX or Swing to me-- SWT doesn't really do | themed widgets (everything looks like the platform's native | controls). | suyash wrote: | wow, didn't know that, looks like awesome use of JavaFX! | throwaway889900 wrote: | No mention of Runescape, Classic, 2, and OSRS? I suppose | "applets" covers it but I think it needs its own mention. | shpongled wrote: | That is exactly what comes to mind for me when I think of "Java | games". Absolute classics | flybyair2048 wrote: | It's great to see our team's tool, Deep Space Trajectory | Explorer, come in at #2! DSTE is a custom software tool that's | being used by NASA Johnson Space Center to design/visualize | complex orbits for upcoming missions to send astronauts to the | Moon in 2024+! | the_arun wrote: | To this list we could also add Cassandra, ANTLR, Spring | Framework, JUnit, Jetty, Tomcat, Android etc. The list continues. | The beauty of Java is not Java/Programming language - but JVM. It | inspired people to make other languages such as Scala or Kotlin. | ertucetin wrote: | And Clojure | rando231 wrote: | Sort of mystifying that ByteBuddy (a library) is included while | Spring framework is not. I realize that some people point to the | edges of the Spring ecosystem as proof that it is low-quality, | but it's hard to argue against the framework itself being great. | | Edit: To clarify, I also don't agree with 'proof' of Spring being | 'low quality'. In my experience most who criticize Spring don't | understand that it is a loosely coupled collection of things | implemented on top of IoC/AOP, and are frustrated when they are | forced to diagnose things that go wrong. From the beginning, | Spring moved fast because it wasn't bogged down in committee, and | it covers huge portions of software development. Quality does | vary between the value add sub-projects, but it's amazing what | the Spring community has done with IoC/AOP. | javajosh wrote: | Yes, Spring is good, and in general there's been a lot of | innovation started in Java and spread elsewhere. The whole | "Dependency Injection" idea started in Java, and a lot more | stuff started there too, or at least was popularized AFAIK. For | example, pattern languages themselves. But some great libraries | like JodaTime came from there, as did Doug Lea's very nice | rendering of better concurrency primitives - and both of these | ultimately got into the core library itself. | noema wrote: | Wasn't the "Gang of Four" book written entirely in C++? | diroussel wrote: | I suspect the greatest java apps are the ones that can't be | written about. The ones that run in a data center, that are a | tremenous advantage in the market to the companies that run them. | These are so important to the app owners, that they don't want | others to know about them. | cerberusss wrote: | I'm not surprised that Vuze (or its clone/successor BiglyBT) is | not there. But it's one of the oldest desktop torrent clients, | and is still being developed. | listenallyall wrote: | H2 database is pretty awesome. Such a pleasure to use vs SQLite | and even vs some large-scale RDBMSs. | codr7 wrote: | Second that, I used H2 as the basis for a time | reporting/invoicing system that has been runnin without issues | for 7 years now. | | As far as SQL databases go, definitely my best experience, it | just works. | black_puppydog wrote: | For reference, this is what that page shows when opened with | uBlock Origin + uMatrix: https://imgur.com/a/yd9OAPB | | This might be confirmation bias, but I actually think it conveys | pretty much what it should. :) ___________________________________________________________________ (page generated 2020-06-29 23:01 UTC)