Желание чуда
Jul. 5th, 2007 09:54 amЧто-то мне современное программирование всё больше и больше напоминает систему магии, описанную в "Маге в законе" Олди. Там магические умения передавались от учителя к ученику без всяких трудозатрат со стороны последнего. Правда, у Олди информация таки попадала в голову ученика, а в современном технологическом мире - только в его компьютер, где ему никакой Google Desktop ответа на нужный вопрос не найдет.
Это я к чему - обнаружил в комментах в
ru_maemo ссылку на программку phonelink. Задача очень простая - набирать на мобильнике номер для голосового звонка и посылать SMS-ки.
Что сделал бы программист конца 80-х - начала 90-х годов прошлого века? Прочитал бы мануал по AT-командам и описание формата PDU, и написал бы программку которая собирает этот формат и отправляет на телефон через /dev/rfocomm0. Может быть еще почитал бы документацию по платформе и стал бы через dbus запрашивать список доступных телефонов. Строчек в 200-300 на C бы уложилился и без всяких сторонних библиотек (libdbus на Nokia N800 мы сторонней не считаем - вся система на ней построена). Благо всё необходимое в ядре и libc есть.
Что делает программист современный? Шарится по интернету и находит библиотеку, которая имеет отношение к решаемой задачи - libgnokii. То что 90% этой библиотеки делает вещи, совершенно не имеющие отношения к задаче - поддержку проприетарных протоколов Nokia для связи телефона с компьютером по кабелю (а это совершенно нерелевантно для устройства, у которого есть только bluetooth) - не важно.
То есть человек ищет не знания, как ему решить задачу, а некий "магический артефакт", который эту задачу уже решает. Дальше всё получается в точности как ворчал Велики Дракон у Шумила в "Иди поймай свою звезду":
Это я к чему - обнаружил в комментах в
![[livejournal.com profile]](https://www.dreamwidth.org/img/external/lj-community.gif)
Что сделал бы программист конца 80-х - начала 90-х годов прошлого века? Прочитал бы мануал по AT-командам и описание формата PDU, и написал бы программку которая собирает этот формат и отправляет на телефон через /dev/rfocomm0. Может быть еще почитал бы документацию по платформе и стал бы через dbus запрашивать список доступных телефонов. Строчек в 200-300 на C бы уложилился и без всяких сторонних библиотек (libdbus на Nokia N800 мы сторонней не считаем - вся система на ней построена). Благо всё необходимое в ядре и libc есть.
Что делает программист современный? Шарится по интернету и находит библиотеку, которая имеет отношение к решаемой задачи - libgnokii. То что 90% этой библиотеки делает вещи, совершенно не имеющие отношения к задаче - поддержку проприетарных протоколов Nokia для связи телефона с компьютером по кабелю (а это совершенно нерелевантно для устройства, у которого есть только bluetooth) - не важно.
То есть человек ищет не знания, как ему решить задачу, а некий "магический артефакт", который эту задачу уже решает. Дальше всё получается в точности как ворчал Велики Дракон у Шумила в "Иди поймай свою звезду":
--- Знаешь анекдот, как программист кипятит чайник. Дано: пустой.
чайник, кран, спички, газовая плита. Программа действий: наполнить
чайник водой из-под крана, поставить на плиту, зажечь газ. Ждать, пока
закипит чайник. Эта программа оформляется как объект. Второй случай.
Все то же самое, но чайник с водой уже стоит на плите. Действия
программиста: вылить воду из чайника и выполнить предыдущий объект.