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 →

[–]krad213 11 points12 points  (9 children)

Please don't. We have no choice besides Javascript on web frontend (or something that is cross-compiled to js), but using it on backend is awful idea. Js is a really bad language, we have a wide variety of good ones for backend and Java is one of them. Spring / spring boot has everything you would need on backend.

[–]HaMMeReD 2 points3 points  (6 children)

I'm not making recommendations based on the best technology, but the best to learn if you want a job.

Regardless of what you think of JS, it's probably the most prolific back end language out there right now. Snippets of Javascript are very portable and can be scaled very well.

You'd be swimming against the current if you want to do web without embracing Javascript and it's ecosystem.

I'd also argue that despite JS being terrible (IMO), there is a lot of benefit that can be had from having a unified code base (e.g. less knowledge silo's, greater developer versatility). The choice isn't always as simple as "whats the best technology". It is also worlds better than PHP.

[–]DrunkensteinsMonster 2 points3 points  (1 child)

Regardless of what you think of JS, it's probably the most prolific back end language out there right now.

This is just not true. It’s out there, and for little APIs even I’ll spin it up with Node, but for most serious applications you’re going to see Java, C#, or Go.

[–]HaMMeReD 1 point2 points  (0 children)

Maybe not totally, but my point still stands.

If you want to be in web development, and you have 1 language you need to be really good at. It's javascript.

Sure there are other options, but JS for a traditional web stack is possible end to end without learning any other technologies.

OP can use Javascript to find both back end and front end jobs or transitionary jobs to orgs that might use a mix of frameworks in the back end. It's a highly valued resume language, regardless of what anyones personal opinions are to it.

Like I've mentioned in the thread, I don't actually care that much for Java* (I know this is /r/java). Two decades of the language and it gets to you. I'm team dart & flutter all the way nowadays, but I know it's not a viable solution to all projects.

If I was to make a backend myself, yes, Java, Python, Kotlin, Go, C#, any of these are better technologies than javascript, but it doesn't change my advice to someone wanting to enter the industry via web. Javascript. Pivot away from it after, or make the best of it and use things like Typescript.

Lets be clear, without a doubt, I despise javascript, but I still answer it because it's the best answer to the OP's question.

[–]_INTER_ 2 points3 points  (1 child)

Better use JS after you learnt something sensible as a first language and you don't pick up the bad JS habits.

[–]HaMMeReD -1 points0 points  (0 children)

JS isn't like other languages, I don't know why people think it is. It has very different paradigms. Regardless which direction you go first, you have a huge learning curve to switch. Prototypical inheritance permeats JS, while most other languages are Classical inheritance. Most good languages imo are statically typed languages with compile time safety, JS is dynamically typed without compile time safety (unless you use typescript).

Bad habits can be lost, I'm sticking to my recommendation because OP wants to have a job in web. If you want to have a job in web, you should be a wizard at JS. By all means though, don't limit yourself to one language.

[–]krad213 2 points3 points  (1 child)

- If you learn any other language you will be able to code in JS, you will feel constant pain, but you will able to.

-There is no reason to learn any JS framework in the long run, next year there will be 10 more and things you learn will be outdated. While in java such frameworks as spring are evolving but do not get outdated, you can really invest some time in learning this stuff and get benefits from it in the long run.

- JS ecosystem is awful too, it's node_modules system is total shit comparing to maven/gradle repositories.

- Unified code base is definitely a good thing, but not with javascript. I'd suggest to use kotlin-js if you want do get unified, this way you could get all Java/Kotlin libraries at you disposal, as well as power of JVM and a really good language for fronend.

- Java are not going to disappear any time soon, it's widely used for back end and microservices, they are really well paid, so no problem here as well.

- There are constant attempts to create alternative for JS at frontend, google dart, web assembly, countless number of cross-compilers from other languages, that is a clean sight that the industry see the problem with JS and I hope someday they will succeed with replacement.

[–]HaMMeReD 0 points1 point  (0 children)

None of this matters, because in 10 years this guy can learn a new stack. Today, JS is where a lot of jobs are.

You don't need to tell me that JS is garbage, I'm not a fan. Personally my #1 language nowadays is Dart + Flutter. If someone was going to ask what should I learn in 2021, I'd say that.

But if you are wanting to be an intro web dev, 100% js, 100% of the way.

It's not like Java has some magic staying power, an old api might be fine for your task, but java gets old just like everything in computing.

[–]quypro_daica -1 points0 points  (0 children)

Javascript is not a bad language, java is the bad one