catpad: (Default)
[personal profile] catpad
В связи с одной частью вот этого поста [livejournal.com profile] avva...
Что такое понимание программирования ? Для меня, например, программирование - это прежде всего понятие эстетическое. Тут мы полностью сходимся с Гелернтером, он об этом даже целую книжку написал. Вот, что он говорит в Mirror Worlds: "The software revolution balances ultimately on a fine point of aesthetics."
Так вот, мне кажется, что грань между человеком, способным понять программирование и тем, кто воспринимает программирование как ремесло и способ всегда найти работу, лежит не в способности понять указатели и рекурсию, а в понимании того, что рекурсия - это красиво и эстетично, хотя и не всегда практично, что Лисп красивей, чем С, что ядро ОС писать приятней, чем GUI для Excel'a, что сложный и при этом работающий multithreading - это явление эстетическое, а не просто тяжело отлаживаемая программа. И вот - самое главное сейчас скажу!!! Настоящий программист это тот, кто понимает, что когда из APL убрали все его символы и сделали язык J - это самое отвратительное издевательство, которое только можно себе представить. Вот такой тест на понимание программирования я бы давал в университете.
Да и не надо далеко ходить. Я когда-то даже вёл в Технионе курс APL. Там как раз одни студенты считали, что это очень полезный и интересный курс, а другие говорили - зачем мы тратим своё время на ерунду, лучше будем учить С++ и Джаву, чтобы потом зарабатывать много денег. Но можете не сомневаться, что сегодня первые как раз зарабатывают гораздо больше денег, чем вторые.

Или вот когда в source code в условии if одна скобка с пробелом, а вторая без пробела, или когда вокруг = с одной стороны есть пробел, а с другой нет, или (однажды рассказали - вот он где ужас-то) некий человек называл свои переменные русскими словами в транслите - вот это всё (процитируем Ольшанского) - мерзота и дантовый ад.

Date: 2007-02-02 10:01 am (UTC)
From: [identity profile] green-fr.livejournal.com
О том и речь: если привык "правильно", то это гораздо "лучше", чем если умеешь "правильно", но привычки нет, потому что это не кажется существенным.

Date: 2007-02-02 10:10 am (UTC)
From: [identity profile] satangel.livejournal.com
приходишь в новое место и привыкаешь правильно заново
где-то все до пробелов регламентируют, где-то нотации на имена переменных и "так, посмотри как другие"

месяца за 2-3 вливаешься в могучий трудовой коллектив и не выбиваешься

ведь главное что б всем было комфортно работать - и тебе, и с тобой

Date: 2007-02-03 09:12 pm (UTC)
nine_k: A stream of colors expanding from brain (Default)
From: [personal profile] nine_k
Код, который написан, чтобы срочно залатать дыру ("вчера надо! к чёрту эстетику"), как правило, потом всё равно переписывается по уму; более мудрыми -- при очередном рефакторинге, менее -- когда сломается или окажется bottleneck-ом %)

Date: 2007-02-04 12:04 am (UTC)

Date: 2007-02-04 07:44 am (UTC)
From: [identity profile] satangel.livejournal.com
писать по уму в большенстве случае некогда, когда код пишется "вчера"
я тут размышлял и решил, что наиболее эстетичная часть - это те 10% кода, которые работают 90% времени
неприрывно что-то правишь, что-то поддерживаешь

я в пятницу обуниверсалил кусок кода - он стал вызываться в 10 местах
обуниверсаленый кусок можно в рамку вставлять, в 2 последних места, откуда он вызывался уже через 10 минут после дедлайна писались, так меня можно распознать только по специфическим формулировкам сообщений об ошибках

и латать не придется - я знаю что пишу, тесты проходят и прочее
а эстетика страдает, ага

Date: 2007-02-04 09:45 am (UTC)
nine_k: A stream of colors expanding from brain (Default)
From: [personal profile] nine_k
> те 10% кода, которые работают 90% времени
весьма здраво.
Page generated Feb. 7th, 2026 06:29 am
Powered by Dreamwidth Studios