писал коммент к дискуссии тут -
http://thedeemon.livejournal.com/64155.htmlподумал, что оно достойно отдельного поста.
TL; DR: прототипы полезно писать на чем-больше-языков-тем-лучше, после чего мержить всё в кучу на каком-то mature рантайме (CLR, BEAM, JVM, V8), неважно, руками этот код написан или сгенерирован. и поддерживать уже там.
1. в дотнете много батареек "из коробки", которые заметно лучше, чем в других платформах, друг с другом интегрированы (поскольку у мсфт тупо есть ресурсы на полировку мелочей)
2. там очень просто абьюзить родной JIT и делать быстрый портабельный между всеми (!) поддерживаемыми Микрософтом и Моно платформами кодоген, работающий на той же скорости, что и compile-time (опять же, из-за наличия батареек )
3. и тулзы хороши (один concurrency visualizer чего стоит)
4. система типов по сравнению с хаскелем крайне бедна. но к ней достаточно удобно достраивать костыли (code contracts, pex и прочее), работающие частично в рантайме, частично в компайлтайме, на практике этого хватает.
5. много кто судит по дотнету по 2.0, но с тех пор очень много косяков планомерно исправляются.
заметьте, про язык я ничего не говорю. я говорю про платформу. а уж какой дефолтный язык дали - такой есть. кодогены пишутся на раз-два.
короче, если хочется прыгать выше головы - помогает п.2
но очень уж широкий круг задач покрывается п.1, и с каждым релизом, как ни странно, растет.
я люблю строить велосипеды и юзать экзотические языки, но мелочи при этом - они вылазят. и их нетривиальное количество. поэтому дотнет дает (лично мне) *предсказуемость* темпов разработки. что не мешает регулярно пытаться сделать из него Эрланг-машину, например :)