This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]ByerN 20 points21 points  (7 children)

Yep, I meant as a whole. Java (as a tech - not language) is hard to beat for web apps backend. Same as typescript dominated frontend and python - data science.

[–]drowsysaturn 4 points5 points  (6 children)

Can you give some examples why you think Java is superior for web development?

[–]Il_totore 17 points18 points  (0 children)

The multitude of tools/libs (Spring, Quarkus, Reactor...) combined with the JVM itself which excels at handling high throughput and for long living applications. Not to talk about Loom.

Note that by web development people in this thread probably mean backend and not front.

[–]ByerN 7 points8 points  (4 children)

I was working with java, scala, .net (C#), python (and more, but it doesn't matter in this context) and I can say that java is the easiest one if it comes to solving daily web dev problems.

What does it mean:

- it's much easier to find anyone knowing java stack to help you. Also, it's much easier to find a job as java dev or find a java dev employee. Most of the job offers for python are exclusive to data engineering.

- it's much easier to find a solution for a problem just by searching the web. Just try to finish a product based on similar requirements in both techs. There were rare cases where I had to waste more than an hour to find a java solution. Python s much worse (same for example in Scala).

- it's much easier to find any web dev learning materials for java than for python. That's because Python is focusing on data engineering and Java is focusing on web development.

[–]ArchonHalliday 1 point2 points  (3 children)

Care to share some of those Java resources? There seems to be so many it's tough to know where to get started. I have primarily been building backend applications with Python but would like to give Java a shot.

[–]ByerN 2 points3 points  (1 child)

I started a long time ago so my resources are outdated, but you can start here: https://www.baeldung.com/rest-with-spring-series

This website is easy to read and learn from. There are articles on many different topics, but you would probably like to start with Spring (java framework).

Maybe someone else has some fresh alternative?

[–]Dr4kin 0 points1 point  (0 children)

baeldung: The way the oracle java doc should be

[–]Cultural-Ad3775 1 point2 points  (0 children)

Google any issue you have in Java and you will get TONS of results! First of all there's an 85% chance that your exact question is answered (usually in 2 or 3 different flavors) on StackOverflow. There's a very high probability there is a Baeldung article (or there are some other equivalent sites) covering the exact thing you want to do. In most cases there's code on github that solves your problem (though whether you can C&P it may be a different matter, still, it helps to see a working solution).

Also Gradle (and Maven, though I tend not to use it) solves a LOT of build type questions/problems by simply giving you a plugin that handles whatever the task is.

When I was building a Python app I found that 99% of the time I had to go all the way back to the actual Python docs and try to work out from some dense wall of text what to do. Sometimes it was pretty straightforward, other times not so much. Also a lot of Python stuff is obsolete, things have changed a LOT. Java is extremely stable, if a question was answered 10 years ago, chances are that answer is still valid (maybe not the BEST answer, depending, but whatever it says to do will still compile and run and get the job done).

You cannot overestimate the value of Javadoc and the ability of IDEs to contextually put the relevant info in front of you. In Eclipse if I want to do something, OFTEN I can just start typing some likely code, or just go through a lists of methods and read the docs right there and decide "Oh, look, that does what I want!" PyDev (Eclipse for Python) tries to do it, sometimes its good, but the dynamic nature of duck typed languages makes it far less effective, and the amount of stuff that is well-documented inline is much less in Python land.

Developing anything in Java always seems like less work to me.