Pave the on-ramp to Java, but can we also string up lights?

5 points by jeffreportmill1 a year ago

Recently there was a great discussion about making intro Java easier. I agree, but the larger issue is this: How can Java be more engaging, relevant and rewarding?

In the early days of PC programming, so much was relevant and rewarding. The programming prompt was immediate, and writing code with basic math could be genuinely useful. Basic graphics could generate wonder. Without wrapping everything in a candy coating, can we have a modern version of this now?

Java today is distant from that experience. Getting started can be difficult, with downloads and setup. Java IDEs are remarkable, but people should not learn to fly in a 747. And, crucially, Java is hard to share on the platform that matters most: the web.

Even on the desktop, Java graphics and UI have become less relevant: Swing seems feature frozen and lacks modern features. JavaFX defied conventions and was sent away. Similarly, 3D Graphics support in Java is in a significant state of decay.

So while Java 20 and beyond offer power-user features, I propose a tool, framework and a Java syntax subset (J-REPL) just to bring back some fun for mere mortals:

    SnapCode: https://reportmill.com/SnapCode
It is a labor of love and a barn-raising, so be gentle. But while I'm here, let me know if anyone has paying work that I could help with (preferably Java Client and/or graphics - jeff@reportmill).
reducesuffering a year ago

> but the larger issue is this: How can Java be more engaging, relevant and rewarding?

Make the developer experience like Javascript/Typescript. Starter templates like Vite and Next. 'git clone && npm install && npm run dev' to get running. Need 3rd party lib? 'npm install axios'.

Avoid Python venv, conda, pip-tools, poetry, pyenv mess.

jeffreportmill1 a year ago

How do I make my submission URL a link? Adding <> brackets doesn't seem to help.

radonek a year ago

Just out of curiousity – what other languages do you know and use?