(no subject)
Feb. 2nd, 2007 09:53 amВ связи с одной частью вот этого поста
avva...
Что такое понимание программирования ? Для меня, например, программирование - это прежде всего понятие эстетическое. Тут мы полностью сходимся с Гелернтером, он об этом даже целую книжку написал. Вот, что он говорит в Mirror Worlds: "The software revolution balances ultimately on a fine point of aesthetics."
Так вот, мне кажется, что грань между человеком, способным понять программирование и тем, кто воспринимает программирование как ремесло и способ всегда найти работу, лежит не в способности понять указатели и рекурсию, а в понимании того, что рекурсия - это красиво и эстетично, хотя и не всегда практично, что Лисп красивей, чем С, что ядро ОС писать приятней, чем GUI для Excel'a, что сложный и при этом работающий multithreading - это явление эстетическое, а не просто тяжело отлаживаемая программа. И вот - самое главное сейчас скажу!!! Настоящий программист это тот, кто понимает, что когда из APL убрали все его символы и сделали язык J - это самое отвратительное издевательство, которое только можно себе представить. Вот такой тест на понимание программирования я бы давал в университете.
Да и не надо далеко ходить. Я когда-то даже вёл в Технионе курс APL. Там как раз одни студенты считали, что это очень полезный и интересный курс, а другие говорили - зачем мы тратим своё время на ерунду, лучше будем учить С++ и Джаву, чтобы потом зарабатывать много денег. Но можете не сомневаться, что сегодня первые как раз зарабатывают гораздо больше денег, чем вторые.
Или вот когда в source code в условии if одна скобка с пробелом, а вторая без пробела, или когда вокруг = с одной стороны есть пробел, а с другой нет, или (однажды рассказали - вот он где ужас-то) некий человек называл свои переменные русскими словами в транслите - вот это всё (процитируем Ольшанского) - мерзота и дантовый ад.
Что такое понимание программирования ? Для меня, например, программирование - это прежде всего понятие эстетическое. Тут мы полностью сходимся с Гелернтером, он об этом даже целую книжку написал. Вот, что он говорит в Mirror Worlds: "The software revolution balances ultimately on a fine point of aesthetics."
Так вот, мне кажется, что грань между человеком, способным понять программирование и тем, кто воспринимает программирование как ремесло и способ всегда найти работу, лежит не в способности понять указатели и рекурсию, а в понимании того, что рекурсия - это красиво и эстетично, хотя и не всегда практично, что Лисп красивей, чем С, что ядро ОС писать приятней, чем GUI для Excel'a, что сложный и при этом работающий multithreading - это явление эстетическое, а не просто тяжело отлаживаемая программа. И вот - самое главное сейчас скажу!!! Настоящий программист это тот, кто понимает, что когда из APL убрали все его символы и сделали язык J - это самое отвратительное издевательство, которое только можно себе представить. Вот такой тест на понимание программирования я бы давал в университете.
Да и не надо далеко ходить. Я когда-то даже вёл в Технионе курс APL. Там как раз одни студенты считали, что это очень полезный и интересный курс, а другие говорили - зачем мы тратим своё время на ерунду, лучше будем учить С++ и Джаву, чтобы потом зарабатывать много денег. Но можете не сомневаться, что сегодня первые как раз зарабатывают гораздо больше денег, чем вторые.
Или вот когда в source code в условии if одна скобка с пробелом, а вторая без пробела, или когда вокруг = с одной стороны есть пробел, а с другой нет, или (однажды рассказали - вот он где ужас-то) некий человек называл свои переменные русскими словами в транслите - вот это всё (процитируем Ольшанского) - мерзота и дантовый ад.
no subject
Date: 2007-02-02 01:13 am (UTC)эстетика это очень важный элемент почти во всём
и многим это всойственно не зависимо от призвания
и конечно истинно призванные не допустят (такой ужас )
этого явно не достаточно для хорошего программера
равно как a=20 and b=20 тоже не достаточно
то о чём ты говоришь просто определяет как человек относится к делу которым он занят и если человек правильный, то будет хорошим специалистом и на практике ещё он скорее всего пойдёт заниматься тем что ему нравится
no subject
Date: 2007-02-02 01:29 am (UTC)Достаточным условием я бы считал умение написать на Лиспе функцию факториал.
(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2007-02-02 04:37 am (UTC)То надо сказать build manager-у, чтобы в еженощный build script вставил запуск indent, и не брать в голову. Поважнее вещи есть.
no subject
Date: 2007-02-02 05:05 am (UTC)(no subject)
From:(no subject)
From:no subject
Date: 2007-02-02 07:55 am (UTC)no subject
Date: 2007-02-02 09:14 am (UTC)если результат нужен вчера и через 10 минут тебя повесят - на пробелы нет времени, пишешь как привык
При необходимости поддержки кода обычно есть циркуляр что как оформлять
а на переменные с японскими корнями в латинице я насмотрелся вдоволь, сейчас смотрю на английские и не вижу особой разницы - в чем ужас то?
no subject
Date: 2007-02-02 10:01 am (UTC)(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2007-02-02 09:39 am (UTC)Да, удивительно, что сам Иварсон, или как его, этого не понимает. Причем, он это начал делать примерно тогда, когда появился Юникод и стало возможным использовать почти любые символы где угодно, если только придумать способ их вводить.
no subject
Date: 2007-02-02 11:32 am (UTC)no subject
Date: 2007-04-29 03:50 pm (UTC)no subject
Date: 2007-02-03 09:09 pm (UTC)И то, что J выглядит жутковато и нечитаемо, в отличие от APL, тоде согласен. Но K в этом смысле ещё куда смешнее :))
Вообще, над программами на APL-образных языках надо некоторое время "медитировать", уж больно они своеобразно устроены. И тут важно, чтобы операторы были обозначены удобно для глаза. Увы, J в этом смысле весьма субоптимален. Лучше бы сделали английские слова. Вон в sql с этим вполне сложилось.
no subject
Date: 2007-04-29 03:52 pm (UTC)no subject
Date: 2007-02-03 09:17 pm (UTC)пишу на Kx, конечно не по работе, а в меру необходимости,
на J писать как-то всё не могу себя заставить, т.к. Kx кажется намного более простым и в тоже время более функциональным (триггеры, dependence, db, ...).
и давно хотел попробовать более чистый APL с нормальным для APL'а алфавитом, что бы могли посоветовать?
no subject
Date: 2007-02-04 01:11 am (UTC)http://catpad.net/michael/apl/ibmapl2
Там же несколько документов про него. Это самый популярный интерпретатор, им как раз пользовались у нас на курсе.
Можете, если интересно, почитать также описание одной программы, которую я когда-то написал:
http://www.catpad.net/michael/apl
no subject
Date: 2007-03-15 01:18 pm (UTC)По сравнению с IBM APL2 interpreter, который предлагает
no subject
Date: 2007-02-03 09:19 pm (UTC)no subject
Date: 2007-02-04 12:02 am (UTC)Так отличаются творцы от ментальных копипастеров. Творцы делают красиво, причем все, чтобы они не делали!
no subject
Date: 2007-02-04 12:05 am (UTC)Почитать текст со всеми комментриями можно тут (http://deep-water.ru/?http://catpad.livejournal.com/257573.html)
Это Ваш 1-й ТОПовый пост за последний год (http://deep-water.ru/top/). Посмотреть статистику автора можно тут (http://deep-water.ru/top/info.php?id=410)
(при поддержке
no subject
Date: 2007-02-04 08:57 am (UTC)Но вообще, у J есть ряд преимуществ перед APL ( впрочем и недостатки тоже имеются )
no subject
Date: 2007-02-04 02:08 pm (UTC)Настоящий жЫр - это когда в верблюжьей нотации составные слова из частей английских слов и русских слов в транслите. То есть, хотел человек дать переменной имя, начал писать название по-английски - обнаружил, что продолжать по английски словарный запас не позволяет; ничтоже сумняшеся продолжает по-русски на транслите.
no subject
Date: 2007-02-05 08:56 am (UTC)no subject
Date: 2007-02-04 04:33 pm (UTC)no subject
Date: 2007-02-05 01:22 am (UTC)А насчёт терминалов - это я просто так спросил. Можешь набрать там ERH KYO, ERH KLS, MOST MK - моя работа! :)
(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2007-02-05 10:24 am (UTC)no subject
Date: 2007-02-05 12:23 pm (UTC)no subject
Date: 2007-02-05 10:22 pm (UTC)>программирование и тем, кто воспринимает программирование как ремесло и
>способ всегда найти работу, лежит не в способности понять указатели и
>рекурсию, а в понимании того, что рекурсия - это красиво и эстетично, хотя и >не всегда практично, что Лисп красивей, чем С, что ядро ОС писать приятней,
>чем GUI для Excel'a, что сложный и при этом работающий multithreading - это
>явление эстетическое, а не просто тяжело отлаживаемая программа.
Спасибо! А я думал что это я один такой дурак.
P.s. а рекурсия все же зло. Вечно за стек дрожишь... :)
no subject
Date: 2007-02-05 10:23 pm (UTC)(no subject)
From: