Earlier quoted context omitted.
I'm not so sure if the users of VS Code, Discord, Slack, etc would agree. Yes it's bulky and sometimes slow, but it offers a lot of features and allow developers to ship features and updates really fast, while only needing one codebase for all platform.
I'm a user of VS Code and Slack and I'd be very happy if they didn't use Electron. > Yes it's bulky and sometimes slow, but it offers a lot of features and allow developers to ship features and updates really fast, while only needing one codebase for all platform. Like Slack having 1000x the memory and CPU use for 1/10th of the features a 200K app like ICQ used to have 25 years ago?
Java 21 makes me like Java again
631–640 of 777 posts
Re: Java 21 makes me like Java again
#632Re: Java 21 makes me like Java again
#633Earlier quoted context omitted.
Yes, I'm also not really sure I want to see algebraic types in Java even though I would prefer if a language that focused on algebraic types was more popular. All the existing Java code doesn't go away, so is it really going to be nicer to have code like this mixed randomly into that?
Of all the features most Java devs (and ex-Java devs) desire, algebraic types are near the bottom. How about intersection and union types? (NO, sealed classes are not a substitute for unions). But, yeah, in my view JDK 21 is a a disappointment. I rarely want pattern matching, but I would like properties please and records are nice, but actual tuples are more useful. Etc.
As long as the object signature matches the interface as parameter then you can use it.
Re: Java 21 makes me like Java again
#634The biggest feature in Java 21 is the release of Virtual Threads: https://openjdk.org/jeps/444 For some reason, this is missing from the article. If there was any feature that would sway existing Golang developers to switch to Java, it would be this. It would perhaps also convince the haters of the reactive-style concurrency patterns.
I don't think any existing Go developer is going back to Java. I worked with Java for 10 years and switched to Go and I will never go back. This is mostly because applications and libraries are so hard to reason about and understand due to inheritance, packaging, OOP, build tools ect compared to Go. Go is simple. It's easy to understand, read, and maintain. The packaging is like how you would package files on your co…
How does that vary from Java?
Re: Java 21 makes me like Java again
#635Earlier quoted context omitted.
This 100x, C# and Java are also very similar programming languages. C# may be a better language, but the difference is minimal. Most C# developers claiming that C# is a better language often don't know Java. I remember one C# guy telling me that Java didn't have closures before Java 8, which was not quite true. Java developers had access to Groovy which had closures. Groovy may be another programming language, but it…
Groovy is... not Java.
Re: Java 21 makes me like Java again
#636Earlier quoted context omitted.
You can do that with Java too. The JDK has jpackage, but if you want something better than I'm willing to sell that to you (or give it for free, if you're open source): https://conveyor.hydraulic.dev/ It can be used to ship servers, we use it that way for our own servers. It sets up systemd so you don't need to use Docker. But where it shines is desktop apps. Windows users get a little 400kb EXE that installs/updates…
Java GUI is less appealing though
1. Start IntelliJ and check it out. It's Swing but it feels modern and fresh.
2. Go to https://www.jfx-central.com/ ... JavaFX was introduced years ago to add far better support for modern visuals. JFX Central is a website written with JavaFX itself - it runs server side and streams drawing instructions to the client (implemented using a mix of divs, svg tags and css). You can do this because JavaFX implements the CSS2 drawing model. The website looks modern, like any slick website would today, but you can also download and run it locally. It uses Conveyor to do that in fact. The desktop version looks exactly the same as the web version.
Re: Java 21 makes me like Java again
#637Earlier quoted context omitted.
Go's major selling point to me is that you can ship one binary, nothing beats that. Python, Node, Java all have to pre-install lots of dependencies before you can use them, fine for developers, not so great if you want to distribute software for people who are not software savvy, who typically just wants to download one file, install and start using it. c and c++ can also do one executable, but, it is not as portable…
If you want to distribute app to non tech people you do it via browser ;)
Re: Java 21 makes me like Java again
#638Earlier quoted context omitted.
Gradle is much faster than maven as it can properly parallelize the workloads. Sure, it won’t be visible on a hello world, though.
Has never been the case in my many years of using it. Hundreds of MB permanent RAM usage for the daemon (which it wouldn’t require if it was properly designed), everything taking well above 10s. None of this has ever been an issue with Maven.
Re: Java 21 makes me like Java again
#639Earlier quoted context omitted.
Which is a non starter for businesses that don't ship source code.
https://pkg.go.dev/plugin
uh-huh
but, in all seriousness: I wonder why that is? I struggle to think of a technical reason that go would be unable to load and invoke a .dll even if one had to name it .so https://github.com/golang/go/blob/go1.21.1/src/plugin/plugin...
Re: Java 21 makes me like Java again
#640Earlier quoted context omitted.
Manning's Modern Java in Action is outstanding. It assumes you already know basic Java. https://www.manning.com/books/modern-java-in-action
both suggestions here are for books that cover java 8. how is it possible that java 8 is modern relative to java 21?
It's a great book for Java programmers who want to make the jump to functional-style programming. If that's the transition one is hoping to make, then I would definitely recommend the book.