Scala Designer Martin Odersky On Next Steps
rfernand79 writes Infoworld has an interview with Martin Odersky, designer of Scala, in which they discuss the future of this popular language. Three versions are discussed as being part of the Scala roadmap: The first one (2.12) focuses on better integration with Java 8, and making use of the latest improvements in the JVM. The second one (Aida) focuses on cleaning up the Scala libraries. But the third one (Don Giovani) is about a fundamental rethink of Scala, with a strong focus on simplicity.
But the third one (Don Giovani) is about a fundamental rethink of Scala, with a strong focus on simplicity.
"Guyth. Let uth dump all the thyntaxth exthept the parens, and put the left one before the thymbol name."
"Hey, man: what's with the sudden lisp?"
Get thee glass eyes, and, like a scurvy politician, seem to see things thou dost not.--King Lear
I had to check two wrong links to actually find the article. I guess my bad for wanting to rtfa.
http://www.ocamljava.org/
"Recursive bipartite matching"- try it!
I really like Scala, but I only use a small subset of all the crazy (and what I consider a bunch of superfluous) language features. Simpler Java with Closures is what is should be. Granted I'm not a language expert/theorist, but most of us that code for a living aren't. Trying to read some of the more esoteric features of Scala leaves me with "I thought it was supposed to make my life easier". When I have to spend an hour looking up syntax to describe what the code is doing - well, that doesn't work for me.
Every time I teach a beginner's course, I am reminded of just how ugly Java really is. Here's a simple example:
- Comparing two "int" variables, you use == .equals()
- Comparing two Integer variables, you probably want
- But it is possible to have two different Integer objects with the same value - this is when you wand ==
- But Java wants to save memory, so in fact == and equals yield the same result for values from -128 to +127
That's one example, but there are lots more. A more advanced example are the generics that disappear when the code is compiled. I understand the arguments for doing it this way, but I disagree with them - if you have generics, you ought to be able to query the types at run-time. There are lots and lots of highly questionable design decisions - basically, 20 years of backwards compatibility.
It's past time to clean house. Building a new language on top of the established JVM technology seems like a very good idea indeed. Perhaps Scala can fulfill this role...
Enjoy life! This is not a dress rehearsal.
I really like Scala, but I only use a small subset of all the crazy (and what I consider a bunch of superfluous) language features. Simpler Java with Closures is what is should be. Granted I'm not a language expert/theorist, but most of us that code for a living aren't. Trying to read some of the more esoteric features of Scala leaves me with "I thought it was supposed to make my life easier".
http://poeme-d-amour-sms.blogspot.com/
Groovy was released first, but that didn't stop you from releasing something that would fragment and harm the Java ecosystem. As you've said before, you hate Java. You're doing a good job of hurting us and hurting Java. Too bad someone doesn't put a stop to your attack on us. We have families to take care of. You are harming children. I lost my last job because of we couldn't make a decision between Groovy and Scala before we ran out of time before our deadline. This fragmentation is destroying lives.
In other words, don't bother with Scala just yet since we haven't made up our minds about the syntax and will probably start all over.
This isn't even taking into consideration the forking of syntax between Typesafe's Scala and Typelevel's Scala.
I find it amusing when other JVM languages bash Java's baggage while they are young, but then they too get old and find out they created a bunch of baggage themselves. Let me know when you get that binary compatibility between versions of Scala figured out.
Seriously, it's very easy to write code that you yourself can't even understand the next day.
Please study Perl 6 and Python 3 before you start "a fundamental rethink" of a useful language.
In The press, maybe. In actual use, it seems rather doubtful.
Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
Yes, dynamic languages like Clojure are nice, but so are static ones. I actually consider Scala a dialect of ML, much in the way that Ruby is a dialect of Smalltalk.
When other language designers discuss language design, Scala gets laughed at, usually for the performance of the compiler, which is so slow that a couple alternative compile servers and sophisticated incremental systems have emerged to reduce the time. People that write large scale Scala application speak of how many minutes and gigabytes of memory it takes to "warm up" their build servers.
Are you joking?
Rob Pike? The Rob Pike who designed Go, a language stuck in the 80's in terms of type theory? The Stroustrup who "designed" the abomination that is C++ which language pervades industry almost solely because of inertia? I don't believe Andrei has designed any successful language, though he's certainly contributed to the design of D(*). Matsakis doesn't have any track record of language design as far as I can tell, though I'll certainly grant that Rust could end up a "better" language than Scala. ("Better" is subjective anyway.)