DEV Community

Discussion on: What do you think of the future of Java?

Collapse
 
kurisutofu profile image
kurisutofu

What I like with C# was that you had a framework to base yourself on (.net) and all "works".
Java, you had things that were not really integrating well, maybe because they were no made by sun or something like that.

(bear in mind that it's what I used to thing. I now love NodeJS and open-source because you have many choices of source)

  • maven vs nugget
    Never used those so can't say.

  • hibernate / mybatis vs entity framework
    I remember coming to hibernate after entity framework.
    To be honest, it was better than I thought but the solution from Microsoft was more complete and finished to me.
    Maybe now they are comparable.
    That being said, Microsoft's solution can also be frustrating if you don't want to follow their exact way of doing things.

  • spring mvc vs asp mvc
    I mostly used asp.net MVC so I may be biased but same point as above, I found spring MVC not as finished. It was less easy to use to me.

  • eclipse vs visual studio
    I will sound like a fanboy but nothing beats visual studio to me.
    I use vscode for nodejs now and I miss visual studio (I guess I could use it for nodejs, I'll have to research).
    I don't even remember eclipse but I remember it was frustrating ... can't tell you why now though ...

  • tomcat vs iis
    They were equivalent when I tried them but IIS was easier to set up due to a better interface. It does not mean it was a good interface anyway ...

Keep in mind that I don't hate Java. Programming with it is nice enough.
The deployment, I hate but I guess if your company makes sure you always have the correct versions and all ... why not.

One point I did not mention is the GUI ... java's GUI are usually ugly.
We had 3rd party tools at my previous work and even non-programmer were joking about it. Like "wow! that tool looks so bad, it has to be Java!" (it was)...

You should really try other languages.
Not because Java is not good but because you'll see that a lot of them are fun and you will learn new things (method, paradigms etc ...)

And you can still use Java in the same time ;)

Thread Thread
 
avalander profile image
Avalander

You should really try other languages.
Not because Java is not good but because you'll see that a lot of them are fun and you will learn new things (method, paradigms etc ...)

^ Honestly, this.

It sounds like you've only used Java. It would be good for you to learn other platforms. Pick another language, whichever, and give it proper time. It doesn't mean that you need to abandon Java, but it will give you some more perspective.

When you're only used to one particular platform, whenever you try anything different, it feels awkward and harder, but that's because you're too used to the way things are done in your first platform, not because the new one is objectively worse.

Across the years, I've done professionally a lot of Java, Python and, more recently, nodejs; plus some Lisp and Elm in my side projects. And I hate all of them equally. That's not entirely true, I hate Java a bit more than the others, but that's only because it's the language I've used the longest.

When Java was all I knew, I thought that it was wonderful and amazing and I wondered how anybody could possibly prefer anything else. Then I learned another platform and I found out that it had awesome features that I never knew I was missing in the Java ecosystem. But after learning them, I could never stop missing them in Java. At the same time, I was annoyed that some things that where straightforward with Java, all of a sudden were harder. Learning yet another platform only expanded my realisation that the platforms I knew where missing some great ideas, while the new platform was also lacking great things I was used to.

The good thing is that when you learn a new language, you always learn new approaches to solving problems, and you might get one or two great ideas that you can use in the languages that you already know. You also learn that discussions about language A is better than language B are pointless because all languages suck. They suck at different things, though, so it's a matter of finding which language sucks less for your particular style and problem.

Thread Thread
 
kurisutofu profile image
kurisutofu • Edited

That's really true.
And to add to that, learning a new language may enlighten you on things you thought you understood in Java, or things you were not so sure.

When I moved from Asp.net MVC to .net core, I was frustrated with the new way of doing things ... and the language was the same!
I learned how to use it but recently, coming to NodeJS environment, I saw that it had a similar way (I think Microsoft realized the way the evolution in the javascript world was worth emulating?) but in the NodeJS "world", everything was so far better explained that I started to understand what I was doing.
Then, reflecting on my .net core application, I finally understood why it was working the way it does!

All that to say that you may learn to understand Java even more by doing other things ;)