4 ms·
I had similar ambitions, and I wanted to play with the top performers, so I started looking at the Java (gemini) ecosystem. And after an hour of surfing I reme
by gog 13y ago
I had similar ambitions, and I wanted to play with the top performers, so I started looking at the Java (gemini) ecosystem.
And after an hour of surfing I remembered why I didn't follow through the last time I had this idea. The Java ecosystem is complex, I mean really complex.
Here are some of the terms I came by that look like I should grasp before trying to make something: servlet (various versions), servlet container (resin, tomcat, jetty, ...) , OSGi, jar, war, wab, jboss, glassfish, java standard/enterprise edition, where are classes being imported from, configuration files for different containers, JNDI, classpath...
Are there any resources for Java like http://mirnazim.org/writings/python-ecosystem-introduction/ http://mirnazim.org/writings/python-ecosystem-introduction/ for Python or http://www.phptherightway.com/ http://www.phptherightway.com/ for PHP that would help someone to start navigating all those java-isms?
"Getting started" article for developing web applications with gemini would also be helpful.
- krg 13y agoHi gog, I'm sorry you spent time trying to get started with Gemini, because it's our internal framework that isn't released yet. That would have been frustrating for you! From our "Motivations" section: http://www.techempower.com/benchmarks/#section=motivation http://www.techempower.com/benchmarks/#section=motivation "Why include this Gemini framework I've never heard of?" We have included our in-house Java web framework, Gemini, in our tests. We've done so because it's of interest to us. You can consider it a stand-in for any relatively lightweight minimal-locking Java framework. While we're proud of how it performs among the well-established field, this exercise is not about Gemini. We routinely use other frameworks on client projects and we want this data to inform our recommendations for new projects.
- continuations 13y agoIn previous rounds there were some discussions that you were considering open sourcing Gemini. Is that still on the table or have you decided against it?
- krg 13y agoIt is still on the table, but we haven't made much internal progress on this yet. Hopefully we'll get there before too long.
- gog 13y agoThank you, now I understand why I couldn't find anything useful on this page http://www.eclipse.org/gemini/web/ http://www.eclipse.org/gemini/web/ :) Nevertheless I am still looking for good resources on getting started with Java (ecosystem wise, not the language itself).
- columbo 13y agoHave you considered starting with Grails? It's a much easier jump into the "java-ish" world. The main benefit is you can choose to run a grails application and rely on java jars for when you need performance boosts.
- wasd 13y agoWe've been using Groovy internally for a few years for prototyping and experimentation. I thought about slowly introducing Grails as an alternative to Spring for some projects. My experience was that it vaguely reminded me of Rails but needed a lot more polish. I had a huge issue trying to chase down archaic stacktraces and found that there is little developer momentum pushing it forward. I usually found myself googling and reading random blogs to figure out simple things I couldn't infer from the docs. Where as Rails magically makes things work, I found that a lot of times Grails made things magically not work. I wouldn't personally suggest it for anything customer facing.
- vorg 13y agoYou could use JRuby and Rails if you need the JVM. Groovy's OK for wraparounds testing and/or running Java classes, what it was originally intended for, bringing closures and terser list/map syntax (altho JRuby et al have those too). It's all rather slooooow though. Grails uses Groovy's MOP which was added later, but I don't use them much. I toyed with Groovy's interceptors and categories when they were added, even wrote notes on them, but they broke in the upgrade from 1.5 to 1.6. There's a lot of such cruft in Groovy which just lapses from version to version through lack of use and support. They brought in AST transforms to get programmers to extend Groovy's functionality, but when they do, the Groovy managers wil swipe the code and pass it off as their own in the next version of Groovy (e.g. Groovy++ written by Alex Tkachman was cloned as the static compilation in Groovy 2.0 and the static traits in the upcoming Groovy 2.2). tldr... Use grOOvy for quickies handling Java classes, and for Grails where it's required, but look at a serious programming language for anything larger.
- bhauer 13y agogog, I totally agree that the documentation for the Java ecosystem is awful. My theory is that the relevant information for today is lost under 18 years of noise. What I'd like to see: Java should be renamed with every major version [1], in much the same way Ubuntu, OS X, and Android are named. [1] http://tiamat.tsotech.com/rename-java http://tiamat.tsotech.com/rename-java