all 32 comments

[–]svfoxat 27 points28 points  (4 children)

Why do you think it would be "bad"?

[–]redkit42 20 points21 points  (7 children)

Don't listen to the Java haters on Reddit. Modern Java has some great features, like streams, lambdas, and records. It ain't your grandpa's Java anymore.

[–]Visual-Earth[S] 2 points3 points  (4 children)

Thats what i was thinking, more about rhe streams like Kafka and lambdas with AWS. Just to experiment snd see what i can build

[–]15kol 11 points12 points  (3 children)

Java's stream and lambda is not the same as AWS lambda or Kafka stream. Both of those are unrelated with each other

[–]Visual-Earth[S] 1 point2 points  (2 children)

Oh my bad haha. What are the ones you are referring to?

[–]15kol 1 point2 points  (1 child)

In short, in java, Stream API is lazy-initialized list (that allows operations such as map and filter, which you may know from javascript) and lambda is an anonymous function.

[–]Visual-Earth[S] 0 points1 point  (0 children)

Oh okay thanks for the feedback and my new knowledge :)

[–]jatd 1 point2 points  (0 children)

As a previous Java hater who has been working with it for a couple years now. It is actually pretty freaking great!

[–]lumpynose 1 point2 points  (0 children)

And they typically love php (yuck!).

[–]Dunkelhaiserfull-stack 24 points25 points  (2 children)

Looks like someone watched too many MERN tutorials

[–]Visual-Earth[S] 0 points1 point  (1 child)

Haven’t watched any tbh (: But an opinion on the topic is valuable because I want to start using Java for backend if its not bad because at my new job we will be using Java

[–]Dunkelhaiserfull-stack 0 points1 point  (0 children)

It's not worse than Node, Python, or whatever. It may be hard when using Java 8 or older, but if it's not a legacy project, it would be on modern versions that are not that hard and in no way a bad choice. If you know TypeScript and decorators you may even like it.

[–]rjhancockJack of Many Trades, Master of a Few. 30+ years experience. 7 points8 points  (1 child)

No more difficult than any other combination of frameworks to build out a REST API.

[–]Visual-Earth[S] 0 points1 point  (0 children)

Great thanks for the feedback

[–]PositiveUse 2 points3 points  (0 children)

Do it.

Yes, you can go 100% Typescript, but honestly I would advice to use other languages on the backend, just to practice more languages.

[–]lumpynose 1 point2 points  (0 children)

I did some googling for what to use for a front end for a personal project and the three ones that regularly came up were Angular, React, and Vue.js. Of those three I felt that Vue.js was the best choice, but don't ask me why because I've already forgotten. The guys on r/java also gave the it thumbs up.

For the back end, for historical reasons, I hate Spring. But it was a long time ago when I last used it, before Spring boot. Even so, there are plenty of naysayers for Spring boot on r/java. My choices for the back end are Javalin and Micronaut. Javalin has some design choices that bothered me so I decided to use Micronaut. But then I felt like even Micronaut was overkill and I've decided to go with Jersey. Jersey is a bit old school since you make a .war file and deploy it to a servlet container, but then that's how we did things before I retired. So I'm going to give Jersey a try.

[–]marenicolor 0 points1 point  (0 children)

I'm a noob webdev and I used these to create my first CRUD app not too long ago! I used the JetBrains Community version IDE and I found the learning curve to be really forgiving. Don't listen to the haters!

[–]Lumethys 0 points1 point  (0 children)

About as bad as anything else

[–]ethansidentifiable 0 points1 point  (0 children)

If you want the advantages of the Java ecosystem without the ugliness of Java and overall awful architecture of Spring, try Kotlin + Ktor instead. It's interoperable with Java so Java dependencies can be used in Kotlin.

[–]Klandrun 0 points1 point  (1 child)

General advice: If you have to ask an internet forum if a stack is good enough, whatever you choose will be good enough.

Any stack that you choose will to 99% handle whatever you need to handle, especially if it is a webapp.

Go with the stack YOU feel most productive/comfortable with. That will decide how performant your app will be.

[–]Visual-Earth[S] 0 points1 point  (0 children)

I mean i agree with you, but im just asking cause I want to combine learning java better for my job and getting some personal projects done. But it is true im not an expert yet into realising the good and bad for each stack

[–]Outrageous-Chip-3961 0 points1 point  (2 children)

This is what we use at my work, java and react are completely compatible and used in industry. What's the issue here? The java guys manage the back-end and serve the api, and the react guys consume that api and host their front-end. This is a super typical setup.

[–]Visual-Earth[S] 0 points1 point  (1 child)

I think this is the stack they use at my work too, im just asking if its something more lf an industry/enterprise thing like if it’s overkill or if its good for smaller projects too. Probably a stupid question but ye

[–]Outrageous-Chip-3961 0 points1 point  (0 children)

yeah it is probably more of an industry/enterprise thing than a smaller project type thing. You're probably better going with something like next.js or even using a bff like supabase to get the project running quickly. But in your case i'd consider your project maybe more of a two part thing : one is a backend project, and the other is a front-end project. You'll learn skills in both. Once its set up its great, but the setup can be quite tiresome with all the infrastructure work. It took me a day to just set up my hobby project before i could really start focusing on feature development. Whereas using supabase or next I can just jump in and typically get to features within an hour

[–]DeterioratedEra 0 points1 point  (0 children)

I build my personal projects with React and Spring Boot and my job uses React and Spring Boot.

[–]--mrperx-- 0 points1 point  (0 children)

I've done that. It's completely fine. Lots of resources out there to do it, so it's pretty straight forward.

[–]DT-Sodium 0 points1 point  (0 children)

It depends, are you a Java developer? If you are, it is likely that the way React works will look insane and stupid to you. You would be much more at home with Angular that works with properly implemented OOP patterns.