6 ms·
Everything is OpenJDK now, forget oracle. AWS put out LTS JRE's etc. Try and get your employer to pay for a jetbrains IDE, IntelliJ IDEA. Use Maven for builds.
by gonzo41 6y ago
Everything is OpenJDK now, forget oracle. AWS put out LTS JRE's etc.
Try and get your employer to pay for a jetbrains IDE, IntelliJ IDEA.
Use Maven for builds. It's simple-ish.
Use Spring for frameworks. Everything's been done so you wont be first with any problems here.
And all the stuff from 12 years ago is probably what people know and do, so it's still on point.
No one does inheritance anymore composition's all the rage. Not passing judgement on that, it's just a thing.
- gengstrand 6y ago> Use Spring for frameworks. Or Dropwizard if you want microservices that are more light weight and performant than Spring. https://glennengstrand.info/software/performance/springboot/dropwizard https://glennengstrand.info/software/performance/springboot/... Or Vert.x or Play if you want to code reactive microservices. https://glennengstrand.info/software/architecture/microservice/vertx/play https://glennengstrand.info/software/architecture/microservi... > No one does inheritance anymore composition's all the rage. Hmmm, that is oversimplification IMHO. When OOP first gained popularity, there was a lot of emphasis on inheritance. Inheritance got misused resulting in systems that became too rigid to change over time. The proverbial pendulum has swung the other way resulting in this sentiment of "no one does inheritance anymore" but inheritance is still very powerful and productive provided that you learn how to use it correctly. Think of inheritance as an advanced feature best left for more senior engineers to use.
- vips7L 6y agoNever use Play imo. Especially if your focus is Java (the language). It doesn't offer a modern workflow or java idioms at all. Not to mention it's dependence on scala and sbt which is its own special hell. Reactive is probably a mistake with loom looming around the corner.
- jacques_chester 6y agoSpring Boot has historically been resource-hungry, but that's changing quite quickly. Modulo usual caveats about not promising anything and safe harbours and forward-looking statements, VMware is interested in Spring efficiency up to a very high level in the org chart. Watch this space. Disclosure: I work for VMware.
- ThePadawan 6y agoPersonal anecdote: I am currently on the job hunt and literally every single position that requires Java also requires experience with Spring (Boot). It might not be the trendiest, but it's definitely the most popular (as in "in demand").
- p2detar 6y agoYeah, that’s horrible. It’s like Spring Boot is the holy grail or something. People should really invest time in researching other frameworks.
- pron 6y ago> Everything is OpenJDK now, forget oracle. OpenJDK is the name of Oracle's (one and only) Java implementation project (take a look at the logo at http://openjdk.java.net/ http://openjdk.java.net/). Oracle JDK is the name of the commercially supported product built from OpenJDK, and Oracle also distributes the JDK under a 100% free license (http://jdk.java.net/ http://jdk.java.net/). While OpenJDK has been the open-source part of the Sun/Oracle JDK since 2007, Oracle recently completed open sourcing the entire JDK, so that there are no more paid features. The JDK used to be part-free and part commercial, and now it is completely free; you only pay Oracle -- or other companies --- for support if you want it. Other companies contribute to OpenJDK as well, but Oracle still contributes ~90% of the work, and all OpenJDK builds by all vendors are licensed by Oracle. So while you absolutely don't need to pay Oracle (or Sun, as you did before) for using the JDK any more now that it's 100% open, you should at least know that Oracle is the company that (primarily) funds and develops OpenJDK. (I work on the JDK, i.e. OpenJDK, at Oracle)
- watt 6y agoThere is so much risk associated with anything that Oracle touches, I suspect some very large organizations run the other way without really looking. Instead of Java, they switch to GoLang, and costs be damned. The real damage that Oracle caused by their Android lawsuit, and by their JDK licencing scheme change, will reverberate for long time.
- pron 6y agoWell, Google itself heavily uses Oracle's OpenJDK internally (as do Apple, Amazon, Netflix, Facebook, Microsoft, Twitter and many, many others), and have even forked it, contributed to it, and spoke about it at a conference at the Oracle campus [1] -- all at the very height of the lawsuit -- so they clearly aren't concerned. Whatever you think of that lawsuit, the circumstances behind it were so extreme (one company copies over 10KLOC from another in order to directly compete with it in a very lucrative market) that nothing like that had never happened before nor has happened since in the software industry. > and by their JDK licencing scheme change The JDK licensing change was that Oracle changed the JDK from part-commercial part-open to 100% open for the first time in Java's history. On the commercial side, the change was from part-upfront, part-subscription to just subscription, which cut the price for customers by a factor of 5, I think. What's important to remember about Java is that it's huge, and many companies make money off of it, and so companies have an interest creating FUD over Oracle's involvement. I can't speak for other parts of the company, but there's near consensus among Java users that Oracle has been a better steward of Java than Sun, both in terms of technical investment as well as licensing. [1]: https://youtu.be/DjOcfkhTZkM https://youtu.be/DjOcfkhTZkM
- Nursie 6y agoI find gradle nicer than maven, though it can be more complex. Does maven still have issues with snapshot builds and classpaths? I've managed to avoid Spring, everyone I know that's worked with it complains it's difficult to work with. For microservices I like simple, single-purpose pieces like sparkjava.
- neeleshs 6y agoAs a counterexample, springboot is the quickest thing to get start and yet allows you to do complex stuff. I for one, love it.
- Nursie 6y ago> springboot is the quickest thing to get start What do you mean by this? Startup times, or developer onboarding? Because I've had this conversation before if the latter. To me, Spring seems like the last gasp of "Enterprise" Java. Too much is implicit and obscure (aspect-oriented programming is an anti-pattern, IMHO), too much is configured (yuck, XML). Each to their own I guess.
- neeleshs 6y agoDeveloper onboarding. Have not used XML for springboot in ages. And aspects - very very rarely if at all.
- deleted 6y ago[deleted]
- Consultant32452 6y agoThis is almost exactly my experience. IntelliJ is great, I would also add VSCode, MSFT has always made great dev tools. Spring is the standard everywhere basically. I almost never see features past Java 8-ish being used, so your 12 years ago remark is right on.