День программиста — профессиональный праздник программистов, отмечаемый на 256-й день года.

Терминология

Кодить (писать код)

Я не приемлю этот термин в современном его понимании. Пишут текст, а не код программы, код получается после компиляции. Вот, эдак, лет 27 назад я действительно кодил. И это выглядело так:

010237 – переслать из второго регистра содержимое ячейки памяти
001000 – ячейка памяти
020201 – сравнить содержимое второго регистра с содержимым первого регистра.

Это даже не ассемблер, а именно коды процессора архитектуры DEC. Последовательность этих цифр не требует компиляции, а загружается в память процессора каким – либо образом. Теперь всё так развилось, что народ, оторвавшись от этих низов, витает очень высоко и банальное заполнение базы ручками порой называет программированием.

Программировать

Писать текст программы, или модуля на языке высокого уровня. Ассемблер, по сравнению с кодированием (см. кодить) язык высокого уровня, т.к. требует компиляции. Раньше, когда я писал на Алголе, текст программы предварялся составлением блок-схемы. Это в строгом смысле слова не является программированием, т.к. не требует знания языка и не требует компиляции.

Сейчас все меняется и ломает строгость определения «программировать». Таковыми являются, например, методы визуального программирования в MS Access, или составление сложных взаимосвязанных таблиц в MS Excel.

 

Типы программистов

Традиционалист. Это рассудительный, не торопливый человек. Его знания обширны. Он долго запрягает. Результат даже первых прикидок от него приходится терпеливо ждать. Он конечно ошибается в краевых эффектах, но. Оказывается, что правильно построенная архитектура классов, дает свои плоды в масштабировании, исправление ошибок нижнего уровня так же происходит достаточно просто. Этим он и занимался так долго.

Ледокол. Молодой сравнительно человек, с красными от невысыпания глазами. Знания не систематизированы. Плодит ошибки на всех уровнях и не думает их исправлять, а исправляя, плодит новые. Но. Если надо быстро найти что-либо новое в безраздельном море методов, алгоритмов и программ, это его страсть. Ледокол идёт, взламывая лёд и освобождая воду, как новое знание для всех членов команды. Он не обращает внимание на торосы после себя, подбирать глыбы льда за собой он не должен, это задача для других. Его интересует только новые знания, а реализовав их, он многое забывает. Такой программист полезен на начальном этапе любого сложного проекта.

Лепила. Производит впечатление профессионала. Его лексикон изобилует аббревиатурами, о которых многие и не подозревали. На любой поставленный вопрос: а как мы будем это делать, у него тут же найдется с пяток уже готовых реализованных проектов. На предложение сделать что-либо конкретное уходит в жестокую оборону, обосновывая свои действия тем, что только сейчас он нашел метод, который позволит всё решить за один вечер, но у него повис комп.

Библиотекарь. Отличается от лепилы, тем, что все-таки предъявляет свои результаты. Этот специалист умудряется склеить разные модули, подцепить кучу библиотек и выдать на гора результат, который работает только на его компьютере. Через какое-то время выясняется, что в библиотеках он навел свой «порядок». Своих завершенных проектов у него никогда не было, так как писать что-либо оригинальное он не в состоянии.

Это четыре архитипа, даже я думаю первых трех достаточно, чтобы комбинацией получить любой случай в современном ремелсе под названием программирование. Теперь о ремесле, как некоторые характеризуют этот вид знаний. Не согласен. Всё зависит от поставленной задачи. Если она традиционна, например web-магазин, то для профессионала это будет ремеслом, который с легкостью использует свои наработки в новом обрамлении. А теперь представим не традиционную задачу, например, искусственный интеллект (ИИ). Только в широком смысле этого термина, а не в прикладном, где раздражающая подсказка о необходимости апгрейднуть приложение выдаётся за проявление ИИ. Это уже не ремесло, а нечто большее, ибо инструментов готовых нет, их надо создать.

Обновлено (13.09.2012 11:14)

 
Новости электроники от РадиоЛоцмана
Вопросы искусственного интеллекта, философия и практика
. @Mail.ru