[nem-en] Scala: what you say about it?

Michal Moskal michal.moskal at gmail.com
Sun Nov 19 12:08:21 CET 2006


On 11/19/06, Igor Tkachev <it at rsdn.ru> wrote:
> Well, I think I should ask more general question. What are your plans
> regarding the future of Nemerle, guys? How far are you going to go
> with it? Is this just a scientific project or you consider / would see
> Nemerle as one of mainstream languages?

I would really like to see Nemerle as a mainstream language. The
problem is (depending on how you define mainstream, but anyway), that
successful languages are either dynamic (perl, python, ruby, php),
very old (C, C++, Fortran, Cobol, and don't lough at me -- consider
all that financial crap) or backed by a large company (C#, VB, Java).
Nemerle fits neither category.

The next problem is that it runs on .NET, which is very unlikely to be
seen as an advantage by the open source/linux people (especially when
you consider the recent Novell-Microsoft deal; Miguel told me once he
had received literal death threats in the past...). OTOH the .NET
thing is likely to be seen as an advantage by more reasonable folks,
so it might be a plus. And don't get me wrong -- I understand that
.NET compatibility is one of the main reasons Nemerle is so cool of an
language, I'm just looking at it from the ,,public relations'' side.

This is also why it is very important what you're doing -- it is
likely to attract more Windows developer who don't care about
Microsoft patents and the like.

The problem with the language itself is that there seem to be no Next
Big Thing to do in the compiler or the language. There are some bugs,
there are some tweaks to be made but nothing really that important or
at least likely to be a good PhD topic [1]. Again what you're doing
comes closest -- it is going to be important for users, but is not
really language or compiler thing.

OTOH when you look at Scala you see Martin Odersky who is head of the
programming methods lab at the EPFL who therefore seem to know what
are the hot (regardless useful or not) trends in the programming
languages and what kind of papers are going to be published.

This is one of the reasons why I've switched to automatic theorem
proving, or really satisfability modulo theories. Nobody asks the
question ,,why'' there -- it's simple -- this new prover is able to
handle this and that widely recognized problem that nobody else has
been able to. The tasks are well defined -- verify this is and that
piece of software or CPU. It's far easier to prove you're doing
something right and everybody else is doing it wrong. In programming
languages it's almost impossible, at least without getting a huge user
base.

The other reason is that I believe that the Next Big Thing in
programming languages will be far more static verification than we
have now. This is why I think what Rustan Leino with his Spec# is
doing is very important. I think it will catch up in 5 years from now.
This is just a natural next step from static type systems. However for
this things to catch up they need decent backend tools for theorem
proving.

> I am asking because when I tell other people about the language, they
> ask me almost the same questions, and my answer usually starts from
> "I hope...". It would be better to say "Sure, no doubt.." :)

So I would really like to answer "Sure, no doubt", but I cannot. Maybe
Kamil will be able to say more, as he is doing much more than I do in
the recent months.

I think we can roll out the 1.0 release, I can focus on bug fixing
let's say in the next week. This would have some good psychological
effects I think.

I hope this helps.

[1] If you, or someone you know, wants to do a PhD (or Post-doc) in
Computer Science at the Wroclaw University, please let me know. This
is especially directed (but not limited) to people in the Ukraine and
Russia. It doesn't have to be Nemerle-related. We have strong logic,
program verification and algorithms groups.

-- 
   Michał


More information about the devel-en mailing list