Наткнулся на чудесный пост от Moshe Zadka. Почему мы пишем программы сегодня на Python, Ruby, PHP, а не на старом добром Си? Почему используем заведомо менее эффективные (как по памяти, так и по скорости языки программирования).
Если кратко, Moshe приводит следующие доводы:
-
не все могут писать на Си, многим это просто недоступно, но это даже хорошо, если становится больше программистов - больше программ, больше удововлетворения для общества;
-
на языке высокого уровня писать быстрее - быстрее выпустим продукт на рынок, следовательно опередим конкурентов;
-
слишком много ошибок в программах на Си, которые можно избежать в языках высокого уровня;
-
люди готовы поменять деньги, вложенные в более мощное железо, на более "умные" программы.
Мне кажется, что вообще вопрос разработки на хороших языках высокого уровня не только быстрее, но и качественнее. Я думаю, что отсутствие в Си и Си++ прямо в самом языке так необходимых типов данных (хеши, списки и т.п.) приводит к неправильному мышлению начинающих программистов, они неправильно кодируют алгоритмы, получаются всё равно менее эффективные программы. А хороший язык высокого уровня уже в tutorial приучает читающего к правильному использованию структур данных, даёт сразу много готовых алгоритмов. Конечно, STL в Си++ решает несколько эту проблему, но даже Страуструп рассказывает о ней в отдельной главе, а часть книги предлагает заново написать тип строк и т.п.
Comments
Comments powered by Disqus