Зачем нам нужны высокоуровневые языки прогаммирования?

Наткнулся на чудесный пост от Moshe Zadka. Почему мы пишем программы сегодня на Python, Ruby, PHP, а не на старом добром Си? Почему используем заведомо менее эффективные (как по памяти, так и по скорости языки программирования).

Если кратко, Moshe приводит следующие доводы:

  • не все могут писать на Си, многим это просто недоступно, но это даже хорошо, если становится больше программистов - больше программ, больше удововлетворения для общества;

  • на языке высокого уровня писать быстрее - быстрее выпустим продукт на рынок, следовательно опередим конкурентов;

  • слишком много ошибок в программах на Си, которые можно избежать в языках высокого уровня;

  • люди готовы поменять деньги, вложенные в более мощное железо, на более "умные" программы.

Мне кажется, что вообще вопрос разработки на хороших языках высокого уровня не только быстрее, но и качественнее. Я думаю, что отсутствие в Си и Си++ прямо в самом языке так необходимых типов данных (хеши, списки и т.п.) приводит к неправильному мышлению начинающих программистов, они неправильно кодируют алгоритмы, получаются всё равно менее эффективные программы. А хороший язык высокого уровня уже в tutorial приучает читающего к правильному использованию структур данных, даёт сразу много готовых алгоритмов. Конечно, STL в Си++ решает несколько эту проблему, но даже Страуструп рассказывает о ней в отдельной главе, а часть книги предлагает заново написать тип строк и т.п.

Comments

Comments powered by Disqus
Contents © 2015 Andrey - Powered by Nikola