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

Igor Tkachev it at rsdn.ru
Mon Nov 20 06:45:52 CET 2006


Hello Michal,

> 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.

You are kidding, right? :)

> 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.

What about Mono? Mono still does not support C# 2.0 features and
nobody knows when it does. This prevents me from using Mono for my
clients, for instance, as I do not want to support two different
versions of the same code. Nemerle could help me and other people on
this. 

> 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.

I did not get it. What about Microsoft patents?

BTW, I'm not a linux guy, but after we finish VS integration, we can
look into Mono/SharpDevelop applications as well.

> 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.

I can give you an idea :) What do you think about like-Erlang
multithreading features in Nemerle?

> 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.

I am not sure, but I don't think Martin Odersky, Anders Helsberg, and
even Bjarne Stroustrup were born heads or whoever these respected men
are right now.

> 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.

I am telling you without any automatic provers - with Nemerle you are
doing it right :) There are only a few steps left that maybe are not
so interesting, but have to be done.

> 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.

It will be the great next step. However today mainstream needs
compile-time transformation to build libraries of patterns. So far we
have to use run-time code generation (like here
http://www.codeproject.com/useritems/EasyDAL.asp ). It helps a little
bit, but too hard to develop and very limited. 

Also Spec# needs a good compiler to be embedded in. How many of them
do you know? :)

>> 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.

It's OK. Thank you for your pragmatic answer.

> 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.

It would be great. We can do almost everything, but without your help,
guys, some thinks can take an infinite amount of time. So, our
enthusiasm can come to the end sooner :(

> [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.

-- 
Best regards,
Igor
mailto:it at rsdn.ru





More information about the devel-en mailing list