6 ms·
> I can get a small web site serving JSON REST requests and memcache up in ten minutes with a simple Maven/Gradle build and full IDE integration Java guys alwa
by rapsey 10y ago
> I can get a small web site serving JSON REST requests and memcache up in ten minutes with a simple Maven/Gradle build and full IDE integration
Java guys always say how they have really developed tooling and look down on other languages. The problem is those nice tools have become a hindrance as well. You can't develop in Java/Kotlin if you don't use those huge complicated tools.
I can't speak for all, but at least for me it prevents me from ever using Java tech. I can develop just fine using a lightweight editor in any of the languages I use. I don't need huge tools or complicated build systems. Because my languages have nice tooling that I can write manually and fully understand.
I tried using Kotlin and step one is always install Intellij.
- sgift 10y ago> huge complicated tools. Oh please. Let's be real, Maven is not even remotely more complicated than the typical package.json, webpack.config.json, .babelrc triple you need for any useful NodeJS project (though you can put the .babelrc into the package.json, I've heard that's the way to do it at the moment). I was so taken back that nowadays JS needs a build step too. But it's a "transpiler", not a "compiler" - cause that's something completely different. > I tried using Kotlin and step one is always install Intellij. So? Atom and Visual Studio Code did need to be installed too on my machine. This mentality reminds me of someone using an axe head as a hammer "I'd have to pull the hammer out of the toolbox" (install it) - that's too complicated, I prefer light-weight tools!"
- chrisco255 10y agoYou don't need a build step for Node.js, 93% of ES6 features are already included in the latest version. Babel is more for client side than anything and that's because browser vendors take a while to implement new standards, so yeah JS has unique challenges and constraints as the de facto language of the web.
- taurath 10y agoOr typescript frequently.
- rapsey 10y agoNo I want to use the command line. https://maven.apache.org/guides/getting-started/maven-in-five-minutes.html https://maven.apache.org/guides/getting-started/maven-in-fiv... Maven quick start first command: > mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false Then it generates stupidly deep Java structure. and next you have to write a verbose xml. They even say: > The POM is huge and can be daunting in its complexity All of this stuff is verbose and built to be generated by IDEs. It's not clear, it's not concise.
- sgift 10y ago> The POM is huge and can be daunting in its complexity Because they are honest. Maybe it is because I'm more accustomed to poms, but the package.json/babelrc mix and webpack.config.jsons are daunting to me too.
- rapsey 10y agoWeb ecosystem is a mess as well. What I meant was Rust, Elixir, Erlang build/project files. Those are trivial.
- dm3 10y agoYou don't have to use maven directly. Something like https://github.com/bodar/jcompilo https://github.com/bodar/jcompilo would be much simpler and faster for a small project.
- rusk 10y agoMaven is a "bad example" - it's horrible. Everybody agrees.
- therpe1 10y agoMaven is great. Not perfect but it's far better than the alternatives. And every single time I've seen somebody come along and insist they have a better alternative the result is always worse or requires significant custom development. As for the idea that Java IDEs like Eclipse and IntelliJ are these "big heavy tools" -- it's just silly and outdated. It might've been true 15 years ago. (Flashback to 2004 and getting a cup of coffee while Eclipse starts.) These days Eclipse and IntelliJ launch instantly and feel just as lightweight as the command line. I'm often running multiple IDEs at the same time with no performance impact. Any Java shop that's any good doesn't depend on an IDE. The idea that you can't do anything without an IDE is wrong. A team doing continuous integration and deployment is damn well going to make sure that everything that needs to be done can be done from the command line. Nobody cares what you use to edit code on your own computer as long as you don't use tabs!
- rapsey 10y ago> So? Atom and Visual Studio Code did need to be installed too on my machine. This mentality reminds me of someone using an axe head as a hammer "I'd have to pull the hammer out of the toolbox" (install it) - that's too complicated, I prefer light-weight tools!" You misunderstand my point completely. I was trying to say the Java ecosystem is complicated and the only way it works is by using large IDEs. Saying how awesome Java IDEs are is disingenuous because Java is unusable without them.
- taway_1212 10y agoMost Java people I know use IDEs mostly just to edit and debug the code, and does the builds/runs/tests from the command line.
- stewbrew 10y agoWhat do you mean with "just to edit"? Aren't there any (compilation) errors, warnings displayed anywhere?
- taway_1212 10y agoYeah there are, sorry, a this point I consider them basically auxiliary editor features. I forgot that some other languages don't have this luxury.
- PerfectDlite 10y ago> because Java is unusable without them This is like saying 'Javascript is unusable without IDEs', you know.
- jerryszczerry 10y agoAnd this is making Java look good how exactly?
- PerfectDlite 10y ago
- TP4Cornholio 10y agoGetting a node server running the first time is actually very difficult. The libraries constantly change so fast tutorials frequently don't work. It was easy once I understood everything, but it wasn't easy the first time at all.
- scalatohaskell 10y ago> You can't develop in Java/Kotlin if you don't use those huge complicated tools. This is based on what? It is totally untrue from my experience. Quite the opposite.
- rapsey 10y agoI tried following the gradle command line guide for Kotlin to build a project and it did not work and I had no idea why. No errors and nothing happened.
- manyxcxi 10y agoIntelliJ is an awesome IDE, but it's not necessary. Part of it is Kotlin as well though, that's definitely as immature (as in age and mindshare, not attitude) of an ecosystem as there is with Java. The thing with Java is the amount of boilerplate, but the thing with Java is that all of that is ridiculously well documented or demonstrated ad nauseum. Are you building a jar with Maven? Your folder structure looks like this. War? It looks like that. Before Yeoman or any other generators even existed Maven has had archetypes that do the exact same thing. If you compare Maven, heck, even Gradle to Webpack + Babel for even fairly trivial projects, there's no way that it's more complicated. The tools for Java are truly portable, I can't even recall the hell we used to have to go through when we had to run gulp builds on Windows because developers of various libraries had hard coded *nix style paths, etc. Most importantly, Maven and Java really aren't a moving target. 9 months from now I'm not going to have to overhaul my entire build process because a wide swath of my plugins have completely changed directions. Stability is how you wind up with the time to make things run smoother in production. It's how you wind up with repeatable patterns and better instrumentation. You get a chance to take a breath and formulate an honest to goodness process vs. literally sprinting as fast as you can to simply keep up with the changes.