Pull to refresh

Static Typing Where Possible, Dynamic Typing When Needed

Reading time2 min
Views919
Именно так озаглавили пару лет назад своё исследование Erik Meijer и Peter Drayton из компании Microsoft. В нём идёт речь о конце холодной войны между динамически и статически типизированными языками, и о том, что же на самом деле подразумевают разработчики, когда говорят, что им нужно то или иное типизирование.

Я по многим пунктам согласен с данным исследованием. Новые языки, такие как C# 3.0, Scala, JavaScript 2, Java 7(may be) стирают эту границу. Ждал такого поступка и от Python 3000, но не дождался, и это несмотря на то, что презентация на тему висит на страничке Guido уже 8 год и не раз поднимался вопрос в mail-lists.

Многие часто ругали PHP за отсутствие нормальной ОО-модели, пространств имён или замыканий — как мы видим, в PHP 5.3 всё это уже присутствует. Сейчас, когда такие технологии, как PHP, Python и Ruby сравнялись по языковым возможностям, наличию инструментов и библиотек — выбор уже дело эстетики. Я никогда не был сторонником идеи «The next big language», зато всегда радовался заимствованию идей среди языков. Среди динамических языков следующий шаг сделали создатели ECMAScript(его реализации JavaSctipt & ActionSctipt известны многим из вас), в 4 версии спецификации мы увидели опциональное статическое типизирование. Я надеюсь, что это очередное продвижение к единым платформам(JVM, CLR), которые более подготовленны для статически типизированных языков и последние пару лет уркепляются в динамическом плане.

Хочу провести небольшой опрос по предпочтениям относительно типизированности языков:
1) На каком языке вы пишите? Какие стороны вам более всего привлекательны, и чего вам не хватает?
2) Какие языки из «противоположного» лагеря вы пробовали использовать, как ощущения?
3) Знакомы ли вам такие понятия, как type inference & optional static typing, и как вы смотрите на такой компромисс?
Tags:
Hubs:
Total votes 7: ↑6 and ↓1+5
Comments3

Articles