Live data from Hacker News

Is java dead for startups?

news.ycombinator.com

81–90 of 101 posts

Re: Is java dead for startups?

#81

Is there really an aversion to using Java in a lean startup, or is this just an example of Voluntary Response Bias? That is, are you simply observing that startups who make a big deal about the language they're using are more likely to be using one of the "hot" languages than a stodgy old language like Java?

I raised this issue because I am currently having trouble attracting java engineers, and when I queried the developers in my social network, they raised this potential issue as a source of my problem. From the tenor of most of the comments here, it sounds like there may be a bit of a cultural issue as well as some substantive reasons why java is not more prevalent in startups.

Re: Is java dead for startups?

#82
post #22

Born again Java fan here. I took a diversion into languages like Python (which I still heavily use), but now I wish I had just used Java in the first place. Once you turn a program from a 2 hour long run-time down to < 10 minutes (my Lucene vs PyLucene experience), you don't really see the benefit of using Python anymore. Plus I've realized that I prefer static typing.

Speed is a bad reason to choose Java or other less expressive languages. There are many more expressive languages with speed comparable to Java, including but not limited to Haskell, Common Lisp, Scheme, Clojure, Scala and several ML variants. Some of these run on the JVM and some offer static typing. It looks as though Psyco and LuaJIT compare well to Java in microbenchmarks as well.

>* including but not limited to Haskell, Common Lisp, Scheme, Clojure, Scala and several ML variants *

Any non-FP languages?

Re: Is java dead for startups?

#83
post #55

Earlier quoted context omitted.

I have not read where Scala is the same speed, citation?

its not real "proof", but check out the Computer Language Benchmarks Game: http://shootout.alioth.debian.org/

So if that isn't 'real "proof"' what would be 'real "proof"' ?

Re: Is java dead for startups?

#84
post #17

Earlier quoted context omitted.

The play framework sounds like something you'd be interested in. It abandons the Java conventions for a more rails like experience. http://www.playframework.org/

playframework is way better than rails in my opinion

Watched the screencast. First thought when I saw 'SomeClass extends Controller': this will be hard to evolve.

Tapestry 5 has done away with this and does not require interfaces or superclasses anymore in order to avoid breaking the API in future releases, they should have learned from that.

Re: Is java dead for startups?

#85
post #22

Earlier quoted context omitted.

Speed is a bad reason to choose Java or other less expressive languages. There are many more expressive languages with speed comparable to Java, including but not limited to Haskell, Common Lisp, Scheme, Clojure, Scala and several ML variants. Some of these run on the JVM and some offer static typing. It looks as though Psyco and LuaJIT compare well to Java in microbenchmarks as well.

>* including but not limited to Haskell, Common Lisp, Scheme, Clojure, Scala and several ML variants * Any non-FP languages?

Most languages that I would designate as "expressive" allow FP, but not all require it. Common Lisp isn't very functional; it doesn't even do tail-call elimination by default. It's idiomatic to use a fairly imperative style in CL. Scala allows FP, but also has OO that's fairly similar to Java with less boilerplate. Lua allows FP, but an imperative style is idiomatic (it doesn't even have map/reduce/filter built-in).

Edit: BigForth is an implementation of Forth that seems to be pretty close to Java in speed. Forth is not a functional language. D is a fast language intended as a C++ replacement. Despite looking a bit like C++ or Java, it can be quite a bit more terse than either. D 2.0 adds quite a bit of FP support to make concurrency and parallelism easier, but you can still write C in D if you so choose.

Re: Is java dead for startups?

#86
post #83

Earlier quoted context omitted.

its not real "proof", but check out the Computer Language Benchmarks Game: http://shootout.alioth.debian.org/

So if that isn't 'real "proof"' what would be 'real "proof"' ?

Implementation + problem specific.

Languages aren't fast, code + data + implementation combinations are.

Re: Is java dead for startups?

#87
post #7

If you're a web shop, IMO, none of the Java web frameworks are ideal for the fast prototyping that most startups need to do on a regular basis. I've hated every Java web framework I've ever worked with and I've used most of the popular ones. Always felt like I was fighting the framework for one reason or another; too verbose, not expressive enough or too tightly structured. There are some decent platforms for the JVM…

Without exception this sentiment should not be reserved for just Java web frameworks, but rather the whole lot of server side web-frameworks. with the JavaScript/RIA tool-kits now maturing, there is no need to use a server side web framework for UI concerns.

With the clean separation of discipline that this creates, Java and a multitude of other languages are fine for providing the data and business services that said UI application communicates with.

Given Java's plethora of libraries available in the middleware layer, I do not know why someone would not consider it as a potential candidate for their service layer.

To be clear though, it is not only Java but the entire concept of assemble a screen on the server, push it to the client and then every action on the client requires a trip to the server to make a decision, was just plain bad design. All of these server frameworks are designed to write applications in that manner.

The web started as some people putting up pages, HTML forms where bolted on and then someone backed it with CGI/POST and the web application was born. Unfortunately, until the JavaScript/RIA frameworks came along, we had not moved the needle much past CGI/POST we just put some window dressing on it.

The decoupled JavaScript / HTML5 / CSS UI is now breaking the constraints of the old page-post model and the reality is the server side frameworks are rooted in the page-post model and are no longer a necessity.

Re: Is java dead for startups?

#88

I once wrote some blogposts [1] titled "Why do Startups still use Java? ". I would have thought people who wanted the Java libraries/JVM would have used Scala or Clojure. I understand why people would choose Java over say Python (the need for specific libraries like say Hadoop which have no direct equivalent in Python/C land), but I've not yet understood why they won't use Clojure or Scala once they choose the JVM. I…

As a startup we evaluated using Scala for parts of our development but found the development tooling support to be very limited.

Eclipse is a great IDE that has been an awesome productivity booster, but the Scala Eclipse plugin kept throwing Exception.

If it worked for me, then I would have tried it out, and then I would have gotten my teams feedback, then we would have considered switching. i.e. I do see non Java languages running on the JVM to be the future, but they are not the present yet.

Re: Is java dead for startups?

#89
post #7

If you're a web shop, IMO, none of the Java web frameworks are ideal for the fast prototyping that most startups need to do on a regular basis. I've hated every Java web framework I've ever worked with and I've used most of the popular ones. Always felt like I was fighting the framework for one reason or another; too verbose, not expressive enough or too tightly structured. There are some decent platforms for the JVM…

did you try Tapestry 5?

Re: Is java dead for startups?

#90
post #88

I once wrote some blogposts [1] titled "Why do Startups still use Java? ". I would have thought people who wanted the Java libraries/JVM would have used Scala or Clojure. I understand why people would choose Java over say Python (the need for specific libraries like say Hadoop which have no direct equivalent in Python/C land), but I've not yet understood why they won't use Clojure or Scala once they choose the JVM. I…

As a startup we evaluated using Scala for parts of our development but found the development tooling support to be very limited. Eclipse is a great IDE that has been an awesome productivity booster, but the Scala Eclipse plugin kept throwing Exception. If it worked for me, then I would have tried it out, and then I would have gotten my teams feedback, then we would have considered switching. i.e. I do see non Java la…

"As a startup we evaluated using Scala for parts of our development but found the development tooling support to be very limited."

Twitter seems to manage fine with the "limited tooling" for Scala and is the existence proof that Scala works fine in startup/production environments. I suppose they must be using ancient editors like Emacs or Vim and unix command lines? Sure, "tooling" like that existing for Java would be nice to have, but if that stops you from using Scala in a startup, you are not the target audience for it.

That said, I concede that your startup/developers may have had special needs that the folks Twitter didn't and so you shouldn't use Scala - or Clojure. Or Haskell. Or even Ruby or Python- all of these have "limited tooling" as compared to Java.

Post reply on HN