Про развитие языков программирования
Раньше типизация помогала быстрее выполнять код, теперь помогает быстрее его писать.
Месяца 3 назад эта фраза не давала мне покоя. Бывает такое, что где-то читал/смотрел/слушал, а найти не можешь. Запомнилось только, что её сказал Андерс Хейлсберг (Создатель Turbo Pascal, Delphi, C# и TypeScript). Сегодня слушал пятиминутку реакта по пути на работу и в этом подкасте оказалось упоминание источника!
Самое большое преимущество, которое приносят типы — производительность. Раньше языки были статически типизированы, чтобы дать необходимую информацию компилятору и сгенерировать максимально производительный машинный код. Во главу ставился процессор, сегодня фокус сместился на человека: типизация делают более интеллектуальные IDE с такими функциями как навигация по коду, поиск определений и ссылок, безопасные рефакторинги, проверка кода на ошибки. Всё это важно для современного разработчика, т.к. увеличивается производительность написания кода, что сокращает time to market.
Вот оно, оригинальное интервью «Inside TypeScript with Anders Hejlsberg — BDL2011»
И еще одна интересная цитата Хейлсберга:
С тех пор, как я занимаюсь компьютерами, мы только и делали, что поднимали уровень абстракции все выше и выше. Уже пройден путь от машинного кода до ассемблера, далее к С, потом С++ и теперь до среды, управляющей исполнением кода, такой как .NET или Java. Пока я не вижу никаких признаков того, что этот список нельзя продолжить. На мой взгляд, интересно, сможем ли мы поднять уровень абстракции выше, чем императивное программирование.