Наткнулся на [чудесный пост](http://moshez.wordpress.com/2008/04/25/uphill-both-ways-the-myth/) от Moshe Zadka. Почему мы пишем программы сегодня на Python, Ruby, PHP, а не на старом добром Си? Почему используем заведомо менее эффективные (как по памяти, так и по скорости языки программирования). Если кратко, Moshe приводит следующие доводы: - не все могут писать на Си, многим это просто недоступно, но это даже хорошо, если становится больше программистов - больше программ, больше удововлетворения для общества; - на языке высокого уровня писать быстрее - быстрее выпустим продукт на рынок, следовательно опередим конкурентов; - слишком много ошибок в программах на Си, которые можно избежать в языках высокого уровня; - люди готовы поменять деньги, вложенные в более мощное железо, на более "умные" программы. Мне кажется, что вообще вопрос разработки на хороших языках высокого уровня не только быстрее, но и качественнее. Я думаю, что отсутствие в Си и Си++ прямо в самом языке так необходимых типов данных (хеши, списки и т.п.) приводит к неправильному мышлению начинающих программистов, они неправильно кодируют алгоритмы, получаются всё равно менее эффективные программы. А хороший язык высокого уровня уже в tutorial приучает читающего к правильному использованию структур данных, даёт сразу много готовых алгоритмов. Конечно, STL в Си++ решает несколько эту проблему, но даже Страуструп рассказывает о ней в отдельной главе, а часть книги предлагает заново написать тип строк и т.п.