I think, it is especially interesting for Ruby programmers. Scala seems
to be a seamless integration of the best features of object oriented and
functional features. Its syntax resembles that of Ruby.
It has full support for object-orientation and also supports closures
(see: code-blocks in Ruby), first class higher order functions and
meta-programming support.
It has also some important distinguishing features:
Static typing with generic types and type inference
It compiles to Java bytecode and can seamlessly access existing
Java libraries. Therefore, it is platform independent. (compile once
run anywhere.)
It features pattern matching like most functional languages, and this
also applies to XML documents.
I have read about it today for the first time, but I would say, I was
never so impressed by a programming langugage since Ruby.
Pragmatic Programmers wrote, that every year a new language should be
learnt.
For 2004, I would propose Scala (scala.epfl.ch).
I think, it is especially interesting for Ruby programmers. Scala
seems to be a seamless integration of the best features of object
oriented and functional features. Its syntax resembles that of Ruby.
It has full support for object-orientation and also supports closures
(see: code-blocks in Ruby), first class higher order functions and
meta-programming support.
It has also some important distinguishing features:
Static typing with generic types and type inference
It compiles to Java bytecode and can seamlessly access existing
Java libraries. Therefore, it is platform independent. (compile once
run anywhere.)
It features pattern matching like most functional languages, and
this also applies to XML documents.
I have read about it today for the first time, but I would say, I was
never so impressed by a programming langugage since Ruby.
Sounds interesting. For people considering LotY I would like to propose
Erlang (http://www.erlang.org/faq/t1.html). It’s a concurrency-oriented
(everything is a process) general-purpose programming language with
dynamic/latent typing and some niceties from functional languages
(pattern matching, list comprehension etc).
Been used a lot to build real-time, fault-tolerant apps mostly in
telecom business.
Well, I don’t think anyone has mentioned Icon yet, but it is a pretty cool
language. It has some very original ideas; I haven’t seen anything else
like it.
Well, I don't think anyone has mentioned Icon yet, but it is a pretty cool
language. It has some very original ideas; I haven't seen anything else
like it.
I learned (and taught) Icon in grad school, and while it seemed cool at the
time, that was only because its best-known competition in the scripting world
was shell and Perl. Compared to those, yes, it's pretty cool. I especially like
the concept of multiple return values, as in this example from Ralph Griswold's
/The Icon Programming Language/, pp. 31-32:
procedure To( i, j )
while i <= j do {
suspend i
i +:= 1
}
end
So calling:
every write( To( 1, 10 ) )
produces
"1 2 3 4 5 6 7 8 9 10"
For a procedural scripting language, Icon is pretty nice--certainly easier to
read and maintain than Perl. But I think that its obscurity is due to bad
timing. It appears to be older than Perl (I can't find a definitive date for its
creation, but its creator, Ralph Griswold, was also the author of SNOBOL decades
ago), but Perl gobbled up mindshare in the mid-90s with the advent of CGI
scripts. And object-oriented scripts, like Python and Ruby, attract newcomers
who don't want to learn (or have already learned) Perl. As far as I know, it's
also fossilized--even in the late 90s, when I used Icon, the available
interpreters on the major platforms were quite old. And when I taught it, I had
a /very/ hard time finding Griswold's text in any numbers for class.
If I had to teach the same Programming Languages course again today, I'd pick
Ruby or Haskell.
···
--
jason
:wq
___________________________________________________________
This mail sent using ToadMail -- Web based e-mail @ ToadNet
AFAIK, they couldn’t agree on a single language, so some decided on Oz
(http://www.mozart-oz.org/),
and some decided to create their own language
(sorry, haven’t got the link handy - I can look it up if you’re interested)
kind regards
frank
···
–
Frank Schmitt
quattro research gmbh phone: +49 89 700763-0
e-mail: schmitt NO at SPAM quattro-research !@! dot com
Been used a lot to build real-time, fault-tolerant apps mostly in
telecom business.
Erlang was also used to build one of the most popular non-professional
3d modelers today (wings3d).
I thought it kind of showed very well the features and also the
current limitations of the language.