Live data from Hacker News

Language War - Scala versus Python (Part 2)

blog.zlemma.com

11–20 of 26 posts

Re: Language War - Scala versus Python (Part 2)

#11
post #4

"Yes, Scala has Lift but it can’t match the maturity of Django. This overrode the benefits of some of the other libraries/tools that Scala/Java have on offer. Python gets ahead again: 2-1." How does one come to the conclusion that the maturity of an 8 year old web framework, beats out the benefits of the almost 20 year old battle tested Java ecosystem. Not to mention the Scala Ecosystem is included as Icing on the JV…

We were merely in search of a good web framework. Java has battletested libraries but so does python and a lot of other general programming languages. It still isn't answering our core question. A decision on what web framework to use has much more to do with the framework itself(its philosophy and community) than with the language it is built in. Coming to django, I would argue that it is the best documented project…

Er. If your startup developers can't write more bytes than necessary, why are you publicly doing a shoot-out? You clearly can't afford to explore all reasonable options. You're wasting everyone's time if by cherry picking outdated Scala frameworks to compare to the state-of-the-art Python frameworks.

Re: Language War - Scala versus Python (Part 2)

#12
post #7
post #4

"Yes, Scala has Lift but it can’t match the maturity of Django. This overrode the benefits of some of the other libraries/tools that Scala/Java have on offer. Python gets ahead again: 2-1." How does one come to the conclusion that the maturity of an 8 year old web framework, beats out the benefits of the almost 20 year old battle tested Java ecosystem. Not to mention the Scala Ecosystem is included as Icing on the JV…

The Java ecosystem is not terribly usable from Scala - even if you can call all the methods, it's not idiomatic, it will expect Java collection types etc. And few of the worthwhile parts of Java's libraries are 20 years old. You can build cool stuff in scala + e.g. wicket, I've done it, but there's an extra layer of awkwardness to deal with that doesn't exist with python/django.

Could you further explain why calling Java methods from Scala is not idiomatic? I have virtually no real exposure to Scala, but a decent amount of Clojure experience. I've found in my pet Clojure project that it's not really painful to wrap up calls to Java libraries in idiomatic clojure (in fact I'm writing the graphics renderer in Java for performance). Does Scala really make it that much trouble to call Java methods?

Re: Language War - Scala versus Python (Part 2)

#13
post #11

Earlier quoted context omitted.

We were merely in search of a good web framework. Java has battletested libraries but so does python and a lot of other general programming languages. It still isn't answering our core question. A decision on what web framework to use has much more to do with the framework itself(its philosophy and community) than with the language it is built in. Coming to django, I would argue that it is the best documented project…

Er. If your startup developers can't write more bytes than necessary, why are you publicly doing a shoot-out? You clearly can't afford to explore all reasonable options. You're wasting everyone's time if by cherry picking outdated Scala frameworks to compare to the state-of-the-art Python frameworks.

Firstly, this isn't a shoot-out. I apologize if the title feels that way. It's our account on why we chose one(language) over the other looking into various real-life variables, not just web frameworks.

>> You clearly can't afford to explore all reasonable options. How else would we know which one to go with and save extra bytes?

Lift/Play are surely not outdated. I am just stating objective facts that led us to one over the other.

Read both the articles we have posted to get a flavour :)

Re: Language War - Scala versus Python (Part 2)

#14
post #11

Earlier quoted context omitted.

Er. If your startup developers can't write more bytes than necessary, why are you publicly doing a shoot-out? You clearly can't afford to explore all reasonable options. You're wasting everyone's time if by cherry picking outdated Scala frameworks to compare to the state-of-the-art Python frameworks.

Firstly, this isn't a shoot-out. I apologize if the title feels that way. It's our account on why we chose one(language) over the other looking into various real-life variables, not just web frameworks. >> You clearly can't afford to explore all reasonable options. How else would we know which one to go with and save extra bytes? Lift/Play are surely not outdated. I am just stating objective facts that led us to one…

I was responding to your comment that you had not looked at Play 2.0. I would not argue that it's outdated, I am arguing that if you excluded it from consideration, you missed something.

Re: Language War - Scala versus Python (Part 2)

#15
post #11

Earlier quoted context omitted.

We were merely in search of a good web framework. Java has battletested libraries but so does python and a lot of other general programming languages. It still isn't answering our core question. A decision on what web framework to use has much more to do with the framework itself(its philosophy and community) than with the language it is built in. Coming to django, I would argue that it is the best documented project…

Er. If your startup developers can't write more bytes than necessary, why are you publicly doing a shoot-out? You clearly can't afford to explore all reasonable options. You're wasting everyone's time if by cherry picking outdated Scala frameworks to compare to the state-of-the-art Python frameworks.

The blog post is for startup founders who are making very early-stage decisions on technology, hiring, funding etc. If you are not one of those, it's probably not very useful to you. We did receive appreciatory comments from people. I'm not sure why you say "wasting everyone's time" ...

Re: Language War - Scala versus Python (Part 2)

#16
post #4

"Yes, Scala has Lift but it can’t match the maturity of Django. This overrode the benefits of some of the other libraries/tools that Scala/Java have on offer. Python gets ahead again: 2-1." How does one come to the conclusion that the maturity of an 8 year old web framework, beats out the benefits of the almost 20 year old battle tested Java ecosystem. Not to mention the Scala Ecosystem is included as Icing on the JV…

Wait, are you comparing the ages of Django and Java? Wouldn't it be fairer to compare the ages of Python and Java? Python is about four years older than Java.

Re: Language War - Scala versus Python (Part 2)

#18
post #7

Earlier quoted context omitted.

The Java ecosystem is not terribly usable from Scala - even if you can call all the methods, it's not idiomatic, it will expect Java collection types etc. And few of the worthwhile parts of Java's libraries are 20 years old. You can build cool stuff in scala + e.g. wicket, I've done it, but there's an extra layer of awkwardness to deal with that doesn't exist with python/django.

Could you further explain why calling Java methods from Scala is not idiomatic? I have virtually no real exposure to Scala, but a decent amount of Clojure experience. I've found in my pet Clojure project that it's not really painful to wrap up calls to Java libraries in idiomatic clojure (in fact I'm writing the graphics renderer in Java for performance). Does Scala really make it that much trouble to call Java metho…

Scala makes it as easy as it can, but it just feels awkward; collection types are the most obvious thing; method names don't follow the same conventions, different types are expected for callbacks (you can use implicit conversions to mitigate this, but it's still a bit cumbersome), Java libraries sometimes return null in a way that no Scala library would. Some libraries expect classes that follow the JavaBean conventions, which look hideous in Scala (there's an annotation to tell scalac to generate JavaBean methods but it won't count them for implementing interfaces, so it's not actually useful). There are no showstoppers and it would probably be hard to do better when the languages are so different, but there's just loads of little niggling irritations to slow you down.

Re: Language War - Scala versus Python (Part 2)

#19
post #14

Earlier quoted context omitted.

Firstly, this isn't a shoot-out. I apologize if the title feels that way. It's our account on why we chose one(language) over the other looking into various real-life variables, not just web frameworks. >> You clearly can't afford to explore all reasonable options. How else would we know which one to go with and save extra bytes? Lift/Play are surely not outdated. I am just stating objective facts that led us to one…

I was responding to your comment that you had not looked at Play 2.0. I would not argue that it's outdated, I am arguing that if you excluded it from consideration, you missed something.

Technically he missed lots of things - there are hundreds of frameworks.

Re: Language War - Scala versus Python (Part 2)

#20
post #14

Earlier quoted context omitted.

Firstly, this isn't a shoot-out. I apologize if the title feels that way. It's our account on why we chose one(language) over the other looking into various real-life variables, not just web frameworks. >> You clearly can't afford to explore all reasonable options. How else would we know which one to go with and save extra bytes? Lift/Play are surely not outdated. I am just stating objective facts that led us to one…

I was responding to your comment that you had not looked at Play 2.0. I would not argue that it's outdated, I am arguing that if you excluded it from consideration, you missed something.

I agree. We skimmed through and figured it's very new, so didn't explore more.
Post reply on HN