Subversion
Written by: Lorna Jane Mitchell
Featured Refcardz: Top Refcardz:
  1. Git
  2. DNS
  3. Data Mining
  4. Spring Data
  5. Subversion
  1. Spring Data
  2. Subversion
  3. Spring Config.
  4. Spring Annotations
  5. Data Mining

Link Details

Link 200064 thumbnail
User 1 avatar

By rick
via macstrac.blogspot.com
Published: Jul 06 2009 / 08:39

Don't get me wrong - I've written tons of Java over the last decade or so & think its been a great evolutionary step from C++ and Smalltalk (lots of other languages have helped too like JavaScript, Ruby, Groovy, Python etc). However I've long wanted a long term replacement to javac. I even created a language to scratch this itch.
  • 58
  • 5
  • 4630
  • 9

Comments

Add your comment
User 85500 avatar

andrewm replied ago:

4 votes Vote down Vote up Reply

this is a much more interesting article than the title gives away. it's by James Strachan the creator of Groovy. The best quote from the article:

"I can honestly say if someone had shown me the Programming Scala book by by Martin Odersky, Lex Spoon & Bill Venners back in 2003 I'd probably have never created Groovy."

Food for thought.

User 85500 avatar

andrewm replied ago:

0 votes Vote down Vote up Reply

another unusual quote from James in the comments: "I kinda prefer the static typing approach really; and generics/operator overloading are very handy in Scala."

very, very interesting.

User 393686 avatar

RawThinkTank replied ago:

-5 votes [show comment] Vote down Vote up Reply
User 381587 avatar

vyadh replied ago:

0 votes Vote down Vote up Reply

I'm curious why you are always so vehement about Scala RawThinkTank? It seems to me like the programming language you use is like a religion to you... It's just a programming language, why do you get so worked up about it?

User 393686 avatar

RawThinkTank replied ago:

0 votes Vote down Vote up Reply

When i will try to read new programmers code written in Scala , i will hav to pay for that.

User 388907 avatar

MCII replied ago:

-4 votes [show comment] Vote down Vote up Reply
User 338269 avatar

Miloskov replied ago:

0 votes Vote down Vote up Reply

For me Java and Jython are my final stop at the JVM, After that I will venture more deep with new platforms and programming languages as Erlang, Haskell, Parrot, LLVM so on. Good luck with Scala but I dont think is the next big thing, Its cool but just that.

User 338269 avatar

Miloskov replied ago:

2 votes Vote down Vote up Reply

Also Scala is complex for the avarage joe, lots of things to grok more than Java, Actors, Closures, Type inference and much more. It have cool syntactic sugar over Java but it is more complex than even C# 4.0. Another topic: static typing vs dynamic typing never ends, Both have pro's and con's.
If I will learn and new and a sush a complex language I would prefer more to learn Haskell for example.

Why languages as Basic, Clipper, VB, PHP, Javascript, Ruby, Python won over the complex ones? because simplicity. Everybody wants simplicity and can scale much better for example Facebook, twitter and many social netoworks use dynamic languages for their development and it is a success.

Java is a simple and small language that everybody was confortable with it but of course everything have to evelove and Java is showing its age with some verbose constructs but still valid for many years to come.

Me I think as I said before, Scala is cool but just that.

User 255959 avatar

yardena replied ago:

0 votes Vote down Vote up Reply

Just to get the facts straight - Twitter has recently moved to Scala. See http://www.scala-lang.org/node/932 and the presentation http://www.slideshare.net/al3x/why-scala-presentation

User 85500 avatar

andrewm replied ago:

1 votes Vote down Vote up Reply

they've moved to scala for the back end messaging, and still use rails for the front end i believe. horses for courses.

User 207606 avatar

glaforge replied ago:

1 votes Vote down Vote up Reply

Furthermore, the slides explain it's because of the underlying JVM that it was interesting. Also actors were interesting. But you can have actors in Java too. Or with Groovy even. So saying "twitter moved to Scala" is a bit far fetched.

User 204329 avatar

ddelponte replied ago:

0 votes Vote down Vote up Reply

My vote is for Groovy. Scala will have a place among the programming elite, but it's learning cureve is too steep for the average developer.

User 209464 avatar

willcode4beer replied ago:

0 votes Vote down Vote up Reply

Let's just call Scala Java++. In a way, it fixes the mistake of C++ (trying to be backwards compatible).

To really succeed, Scala will need a first class toolset (static typing will make tool developers jobs easier). Java really took off when the IDEs for it became high quality. Ruby was just an oddity until Rails came around.

Sure, Scala is more complex and a bit more challenging to learn. But, for the folks who aren't up to the challenge, there'll always be VB.net, Rails, PHP, etc. For the ones up to the challenge, they will get to experience high-end, high quality development.

User 338269 avatar

Miloskov replied ago:

-4 votes [show comment] Vote down Vote up Reply
User 381587 avatar

vyadh replied ago:

4 votes Vote down Vote up Reply

I don't really understand all the comments about Scala being complicated. I actually think that in many ways it is simpler than Java in that it is so much more consistent. Sure there are lots of advanced features, but those features are targeted mainly at library developers rather than application developers. You don't have use them, and if you don't want them to be used at all, that is what code reviews are for.

I do think people have a slightly harder time getting into Scala than some other languages, but because it is different from the classical C-style imperative coding, not because it is actually a complicated language to learn.

User 242727 avatar

bwtaylor replied ago:

0 votes Vote down Vote up Reply

I don't think the "you don't have to use it" argument is valid. That's like saying you don't have to use all the crazy syntactic sugar in perl. It's true on one level, but when you realize that for every 10 developers there are 10 different favorite subsets whose union is the whole, you also realize that that means you have to KNOW the whole in order to understand what others are doing. I don't recommend embracing scala unless you are ready to embrace ALL of scala.

That said, I just don't think here that the advanced features of scala are things that should be hidden. They are good features, many of which might happen to be unfamiliar to java developers as they come from the functional side of the world, but good features none-the-less. Just suck it up and learn them.

User 381587 avatar

vyadh replied ago:

1 votes Vote down Vote up Reply

My original point was that some features are only really relevant for use in library code, and so less experienced developers should not need to be concerned about them. However, I had not considered that with many developers, where each might use a different advanced feature, it may lead to a developer ending up having to understand more of the language than they would like.

That is a good point. However, responsible development teams do code reviews to ensuring readable and consistent code. As a team, you should agree what features of the language to use, or simply be pragmatic about what is acceptable. If you want to use something new, you can say that should be agreed in advance, just like any other technology. We do the same thing here with Java, if you do certain things or use certain parts of the library, then your code will be rejected, and you will have to change it.

I think Scala does an excellent job of providing advanced features for the domains that find them useful, without thrusting them in everybody's faces like Perl seems to do.

User 338269 avatar

Miloskov replied ago:

0 votes Vote down Vote up Reply

Im not a Scala pro programmer I just read some articles about Scala and little bit the book of Odersky and it looks complex but maybe you are right I need to read complete the book of Odersky and practice more to understand it better.

For example what if I just apply the OOP to a scala program and comes another programmer but he likes the functional style and we mix, the problem will be later, That was the problem with C++ and the mess with generic, C on C++ and the OOP in C++ together their are like a frankenstein programs.

User 338269 avatar

Miloskov replied ago:

2 votes Vote down Vote up Reply

Or alright lets go everybody to Scala and forget Java/javac, anyway there is not anymore Java SE spec so what the hell heheh.

Add your comment


Html tags not supported. Reply is editable for 5 minutes. Use [code lang="java|ruby|sql|css|xml"][/code] to post code snippets.