Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I've be very scared of a web startup that chose Java over Python or Ruby. Why subject yourself to Java? RoR and Django are both solid platforms (among others).


Given the choice to develop in the Java, Python or Ruby language, I'd choose Python and Ruby over Java. But given the choice to develop on the Java, Python or Ruby platform, I'd choose the Java platform over the 2 others any day because with the Java platform I can choose to develop in Java, Groovy, Scala etc. and have many useful OS libraries at my disposal.

I'm just working on my web startup using Groovy and Grails and many things I need are provided out of the box or through plugins (security, search) that are easy to install, configure and use.

I think you should consider platforms as a whole and not just the languages.


For our webapp the sweet spot has been Java/Tomcat for it's stability and security with python methods compiled into Java bytecode for regex and other methods that are cumbersome in Java.

The downside is that Jython throws more runtime exceptions. OTOH it has incentivized a ramp-up in unit testing (Maven, Selenium).


J2EE and J2SE are also solid platforms...


but only the enterprise developers seems to be caring about Java platforms. Freelancers / hackers rarely use Java.


Depends on what you mean by freelancers.

There's an impression that RoR is the language of choice for hackers because so many web-apps are built by it.

Web consulting firms use Java all the time because it's a proven technology with tons of flexibility. In RoR, the moment you step outside of the conventional MVC model; you are pretty much hosed, you have to write from scratch a lot of stuff that folks in Java have already enterprise platforms for. Specifically, if you want to do crazy data modeling with custom lazy-loading/cascading; or if you want to integrate some kind of high performance message system client-side; or have some kind of custom encoding/decoding of data objects from server-side to client-side (e.g., Rails to Flex/Silverlight). You pretty much have to rip up the whole rails framework.

RoR/Python is programmer's proverbial hipsterism to show how hip you are. But I would rather use Java when I need to deliver in actuality since you can't get laid anyways by impressing programmers.


Java tools are often for-enterprise, and the best of them are often for-purchase.

Tweaking a Java library is huge PITA, because Java is soooo code-heavy. I estimate Java leads to ~10x as many lines of code when compared to Ruby or Python for basic libraries like API clients. The IDE-reliance inherent in that culture removes many of the immediate incentives of code minimalism, and as such, you often find insanely convoluted libraries that literally have more classes than pieces of functionality.

Java's great if you're not in a hurry, or if your organization is infected with enough bureaucracy that the added bureaucracy in the code won't even make a dent in your already-dismal efficiency, or if you need to "get fat" (i.e. "hire a bunch of college grads and burn them out") and you don't mind dropping your talent density to near-zero figures.

With all talent being equal, give me a Python or Ruby shop over a Java shop any day, and I'm certain they will be significantly more productive, day in and day out.


Without getting all programming language religious on you, I have to disagree with you. Most Java tools are open-source, e.g. Eclipse IDE, JBoss application server, Tomcat app server, etc, all market leaders, or near the top.

We've deployed a reasonable sized startup codebase for our project without paying a dime for tools and libraries.

Plus, we were also able to carry our Java coding skills across into our Android mobile app development.

I think there are pros and cons to most languages.


I take it you never heard of a little thing called the Apache Software Foundation?


RoR isn't a language. It's an MVC framework that's good for websites (that is, web applications that have a lot of pages). It's overkill for APIs, transaction-heavy stuff, one-page apps, etc.

It's a baloney-ass straw man to set up Rails as weak when compared to Java. Rails is a limited web framework, and Java is a programming language.

Instead, you should compare Ruby or Python to Java for web development. If it's still your position that there aren't enough good open-source tools in Ruby or Python to do what you need, then I believe you're either looking very hard, or you're looking in the wrong places.


And using anything tained with the "enterprise" label would completely kill your street cred in the freelance / hacker / startup world, darling!


Scalability for one.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: