Proposal for programming language of the year

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.

Christian Szegedy wrote:

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.

My 2 cents,

/Robert

Christian Szegedy szegedy@t-online.de wrote in message news:bukb6v$edh$07$1@news.t-online.com

Pragmatic Programmers wrote, that every year a new language should be
learnt.

For 2004, I would propose Scala (scala.epfl.ch).

Does anybody know the Pragmatic Programmer’s language of the year 2003?
In 2002 it was Haskell.
(http://www.pragmaticprogrammer.com/cgi-local/pragprog?LanguageOfTheYear)

Cheers
Sascha

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.

Chris

I’ve personally been considering OCaml - I’m impressed by the speed it
manages to achieve.

martin

···

Robert Feldt feldt@ce.chalmers.se wrote:

Sounds interesting. For people considering LotY I would like to propose
Erlang (http://www.erlang.org/faq/t1.html). It’s a concurrency-oriented

Chris,

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

wsdng@onlinehome.de (Sascha D?rdelmann) writes:

Christian Szegedy szegedy@t-online.de wrote in message
news:bukb6v$edh$07$1@news.t-online.com

Pragmatic Programmers wrote, that every year a new language should be
learnt.

For 2004, I would propose Scala (scala.epfl.ch).

Does anybody know the Pragmatic Programmer’s language of the year 2003?
In 2002 it was Haskell.
(http://www.pragmaticprogrammer.com/cgi-local/pragprog?LanguageOfTheYear)

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

Robert Feldt feldt@ce.chalmers.se wrote in message news:400E67CA.1030301@ce.chalmers.se

Sounds interesting. For people considering LotY I would like to propose
Erlang (http://www.erlang.org/faq/t1.html).

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.