Предположим, что, прочитав предыдущий пост "Об информатике вообще", вы взвесили все ЗА и ПРОТИВ и решили стать программистом.
Какие способности в себе имеет смысл развивать и как узнать есть ли у вас призвание к программированию?
Принято считать, что хорошей основой для программирования является математика. Конечно, это верно. Человек должен быть знакомым с аристотелевской логикой и уметь решать математические задачи в три действия.
Но есть и другие требования…
Авторы: Ворожцов А.В., Винокуров Н.А.
Да просит нас Михаил Васильевич Ломоносов, но позволим себе его перефразировать “Информатику уже потому учить нужно, что она ум в порядок приводит”.
Действительно, если посмотреть крупным планом на то, что сейчас представляет собой информатика, и постараться вычленить её основную ее задачу, то по большому счёту остаётся только одно – информатика учит осуществлять формализацию сущностей и процессов (= приводить в порядок мысли).
На этот раз буду рассказывать не только про метапрограммирование, но и про Ruby, а также про алгоритмы — сегодня вспомним классику и посмотрим, как она нам явится в Ruby-строках реализации метода qsort. Блог только начинается, про настоящее метапрограммирование пока говорить рано, поэтому позволю себе отступления от основной темы.
Программирование, которым я периодически по-прежнему занимаюсь, постепенно меняет свой стиль и всё больше связано с метапрограммированием. При этом нельзя сказать, что обычное программирование мне опостылело. Просто как любой программист, я ищу пути для всё большей модульности, краткости, внятности и гибкости кода, и в метапрограммировании мне видится нераскрытый потенциал (несмотря на давний необозримый интернетовский флуд по метапрограммированию идущий ещё от Lisp). :)
Хочу начать вести блог, посвященный метапрограммированию на Ruby.