Наткнулся в замечательном блоге, пропангадирующем FreeBSD, на чудесное объяснение RAID через бутылки воды и кулеры. Ну разве это не замечательно? Может, так на лекциях рассказывать?
Объяснение RAID-технологий кулерами 2
Зачем нам нужны высокоуровневые языки прогаммирования? 3
Наткнулся на чудесный пост от Moshe Zadka. Почему мы пишем программы сегодня на Python, Ruby, PHP, а не на старом добром Си? Почему используем заведомо менее эффективные (как по памяти, так и по скорости языки программирования).
Если кратко, Moshe приводит следующие доводы:
- не все могут писать на Си, многим это просто недоступно, но это даже хорошо, если становится больше программистов – больше программ, больше удововлетворения для общества;
- на языке высокого уровня писать быстрее – быстрее выпустим продукт на рынок, следовательно опередим конкурентов;
- слишком много ошибок в программах на Си, которые можно избежать в языках высокого уровня;
- люди готовы поменять деньги, вложенные в более мощное железо, на более «умные» программы.
Мне кажется, что вообще вопрос разработки на хороших языках высокого уровня не только быстрее, но и качественнее. Я думаю, что отсутствие в Си и Си++ прямо в самом языке так необходимых типов данных (хеши, списки и т.п.) приводит к неправильному мышлению начинающих программистов, они неправильно кодируют алгоритмы, получаются всё равно менее эффективные программы. А хороший язык высокого уровня уже в tutorial приучает читающего к правильному использованию структур данных, даёт сразу много готовых алгоритмов. Конечно, STL в Си++ решает несколько эту проблему, но даже Страуструп рассказывает о ней в отдельной главе, а часть книги предлагает заново написать тип строк и т.п.
Выступление на РИТ-2008 2
На конференции РИТ-2008 буду выступать с докладом «Сервер Flash-вещаний (RTMP) на Python или создание высоконагруженных сетевых серверов с использованием Twisted», буду рассказывать о сервере вещаний, который работает на Smotri.Com. Это будет в первый день, 14-го апреля в 16:40. Приглашаются все желающие. Материалы доклада ниже.