It's been couple of months since I joined Hashnode(I'm on various other forums too). In Hashnode, I hardly see any good articles or links for Java. Even if I find it, it is too old, or not recieving enough attention like what the new shiny JS gets! Is it because, normally Java among developers is frowned upon? Did we started turning blind eye towards it and getting more into JS frameworks?
I'm not bashing JS or saying that it is not good! But I want to know what is the general mindset among developers towards Java/J2EE. The major reason I joined here, is to get more information and updates regarding Java, but except couple of guys, no one seems to be into Java. Please explain or share your thoughts on this!
Am I right in assuming so? Or people shifted to much better or dynamic languages?
I've been a C, C++, PHP, perl, Python and JS developer before I started dev-ing in Java. Java's learning curve was the biggest, not the language itself, but the enormous ecosystem. The ecosystem is also very mature, so unlike the JS ecosystem which is still figuring out where it's going, Java's already done that, made a name for itself as a reliable way to implement enterprise projects and as a result, Java developers are actually building enormous enterprise systems rather than building the one framework after the other.
Java is also moving a lot slower than other languages due to the enormous amount of legacy systems and syntax that needs to be taken into account. Any minor change in the language has already proven itself to work in the industry rather than Java being the guinea pig and also has to go through the JCP committee where it will be debated and prototyped until something solid and reliable can be implemented.
J2EE I've mostly skipped since it was lagging behind features implemented in Spring (I mean, Spring had dependency injection many years before J2EE, SpringMVC's REST was years ahead of J2EE, etc). Kotlin's birth was as a result of annoying things in Java that weren't being addressed fast enough without abandoning the ecosystem.
I think the learning curve is considered too big for most new developers, hence the reason they rather go for the simpler options where you can immediately see results. With every iteration of Java, the amount of stuff you need to learn just gets bigger and bigger. I've only recently started using Java8 to its fullest, I can just imagine how insane it must be learning Java from scratch.
So to answer your question, it depends who you ask - those who know it well will swear by it, those who don't know it well will probably look at you as if you're from another planet for using it.
Hi @rajkumarpb. Good developers who have the right skill set are extremely rare. I know people who qualify to work in a certain field or with specific tech, and even with experience do not find the positions they are looking for. New libraries and frameworks for front end tech appear every day, and I am not complaining, as each may focus on different areas - although many lend from each other. JavaScript run in the browser and is rather lightweight, and may use CDNs, which make it easy to share and grow. JAVA and other similar technologies, engines and solutions are normally hosted. Even when you work JAVA Web, the projects are compiled before they may run. It makes it a bit more difficult to work in distributed environments. There are also different versions of JAVA... JavaScript is often used for front ends on JAVA websites, but it may be difficult to set up or maintain. The projects are normally really big and the number of libraries introduced to any solution may range. JAVA is normally associated with OO. JavaScript, normally associated with functional programming paradigms. It's a whole different world. They inter-link. It's great
Mario Giambanco
Director of User Experience Development
IMO
I think that's a fair assessment of this community - it's very React / NodeJS focused - at least, those are the questions I see the most. Anything regarding PHP, Java, Ruby, C#, Framework not React, etc... is at best meh and at worst starts a war.
I prefer to keep an open mind; there is no best framework; there is no best language. The best is what gets the job done correctly in the time and budget allotted. If it's NodeJS / React - great! But to many people here are quick to make blanket statements, completely dismissing industry established languages and standards. Or are quick to ask what the next big company over is using and use that because the cool kids use it.
This alone makes me want to curl up in a ball in the corner of my office and cry hah.