avva: (Default)
avva ([personal profile] avva) wrote2004-07-22 02:49 am

мимоходом (программистское)

Читаю исходники одного большого проекта на C.

Автор кода использует #define-нутые константы T и NIL для обозначения true/false. Какое извращение! Кипит мой разум возмущённый.

You can take a programmer away from LISP, but you can’t take LISP away from the programmer...

[identity profile] ivan-gandhi.livejournal.com 2004-07-21 05:53 pm (UTC)(link)
А любопытно было бы заглянуть в головы таких интересных людей, для которых false - это NIL. Как, скажем, они представляют себе логические операции. Или предикаты. Или, хм, кванторы.

[identity profile] cmm.livejournal.com 2004-07-22 01:36 am (UTC)(link)
> А любопытно было бы заглянуть в головы таких интересных людей, для которых false - это NIL

в каком языке?
поясните свою мысль, если можно.

[identity profile] ivan-gandhi.livejournal.com 2004-07-22 01:28 pm (UTC)(link)
Я насчёт языка не понял вопроса.

Что я имел в виду: false, для тех, кто учился чему-то - это логическая константа. NIL - это нечто совершенно другое - пустая ссылка, например.

Или для программирующего на си нуль и ложь - действительно одно и то же? Ну типа, всё на свете, мол, байты. Типа путаем знак и обозначаемое. Так, что ли?

[identity profile] cmm.livejournal.com 2004-07-22 01:35 pm (UTC)(link)
ага, Вы в этом смысле.
это-то я вполне понимаю, и даже согласен.
только теперь я не понимаю, каких таких людей Вы имели в виду в Вашем первом комменте. :)

[identity profile] ivan-gandhi.livejournal.com 2004-07-23 11:28 am (UTC)(link)
Да я настолько отвлёкся по жизни от байтов и слов, что мне даже в голову не пришло, что существуют ещё люди, сводящие всё на свете к эти "базовым понятиям".

exactly! the language doesn't matter!

[identity profile] watertank.livejournal.com 2004-07-21 06:49 pm (UTC)(link)
Это особенно интересно слышать от человека, который определяет интелигента стандартным определением слова диссидент :)

Re: exactly! the language doesn't matter!

[identity profile] watertank.livejournal.com 2004-07-21 06:55 pm (UTC)(link)
btw, i just realized that интеллигент is spelled with two л's. my apologies to real intelligentsia ;)

[identity profile] gamlett.livejournal.com 2004-07-21 07:12 pm (UTC)(link)
Ага. Это Лисп :)
А еще бывает
public const bool True = true; //in case they change the requirements again

[identity profile] bobuk.livejournal.com 2004-07-21 09:23 pm (UTC)(link)
Скорее
public const bool True = (0==0)
public const bool False = (!True)

[identity profile] flaass.livejournal.com 2004-07-21 09:52 pm (UTC)(link)
Вспоминается старый анекдот про "этих поганых паскалЕй".

[identity profile] dimrub.livejournal.com 2004-07-21 10:15 pm (UTC)(link)
Это не Криспиновский ли IMAP server часом?

[identity profile] avva.livejournal.com 2004-07-21 11:12 pm (UTC)(link)
Он, родимый ;) что, узнаёшь с пол-пинка, да?

[identity profile] dimrub.livejournal.com 2004-07-21 11:36 pm (UTC)(link)
Ну дык, это ж уникум! :) Ладно T, NIL, а как тебе количество скобок?

[identity profile] avva.livejournal.com 2004-07-21 11:50 pm (UTC)(link)
Ох...

[identity profile] alexott.livejournal.com 2004-07-21 11:43 pm (UTC)(link)
LISP тяжело изжить из человека, если он уже на нем программировал - по себе знаю :-)
Посмотри на http://www.intelib.org - специальная библиотека, чтобы программировать на С++ как на Лиспе

[identity profile] avva.livejournal.com 2004-07-21 11:50 pm (UTC)(link)
Боже мой, какой ужас ;)

[identity profile] alexott.livejournal.com 2004-07-21 11:55 pm (UTC)(link)
не все так плохо как кажется!
stas: (Default)

[personal profile] stas 2004-07-22 12:13 am (UTC)(link)
Никогда не мог понять людей, которые добровольно соглашаются программировать на Лиспе. Нет, если придётся, и я могу, но по своей воле броситься в это бушующее море скобок, all alike?

[identity profile] smilga.livejournal.com 2004-07-22 12:55 am (UTC)(link)
Скобок? В Лиспе нет никаких скобок, это Вам показалось.
stas: (Don't panic!)

[personal profile] stas 2004-07-22 10:05 am (UTC)(link)
Да и самого-то Лиспа нету, наверняка. Глюки одни.

[identity profile] smilga.livejournal.com 2004-07-22 11:24 am (UTC)(link)
Сам-то Лисп как раз есть, зато серьезные сомнения имеются насчет всего остального. Это как у Желязного — есть Амбер, настоящий город, и есть Тени, которые только кажутся настоящими.

[identity profile] cmm.livejournal.com 2004-07-22 01:35 am (UTC)(link)
если ты сравнишь процентное отношение пунктуации к прочим знакам в типичном коде на, скажем, C и на лиспе, ты рискуешь сильно удивиться. :)

> Никогда не мог понять людей

это ничаво.
stas: (Default)

[personal profile] stas 2004-07-22 10:03 am (UTC)(link)
А в какую сторону я должен удивиться - их в C++ больше, чем я думал, или меньше?
Меня в лиспе беспокоит не то, что пунктуации там много, а то, как она выглядит :)

[identity profile] dimrub.livejournal.com 2004-07-22 10:06 am (UTC)(link)
Смотри, если на C++ в одну строчку писать, хрен чего поймешь. А если на лиспе индентацию соблюдать - чудо, а не язык!
stas: (Default)

Штирлиц чудом зацепился за балкон

[personal profile] stas 2004-07-22 10:08 am (UTC)(link)
То-то и оно - я-то привык на языке писать, а не на чуде ;)

[identity profile] cmm.livejournal.com 2004-07-22 12:28 pm (UTC)(link)
в Ц пунктуации таки гораздо больше.
к тому, как она в лиспе выглядит, я лично привык за пару дней.
и теперь просто скобок не замечаю, ориентируюсь по индентации.
то есть получается типа Питона, только редактировать сильно легче, плюс макросы.
дело вкуса, да.

[identity profile] sobaker.livejournal.com 2004-07-22 12:16 am (UTC)(link)
Ха-ха :)

[identity profile] averros.livejournal.com 2004-07-22 12:21 am (UTC)(link)
"Besides, the determined Real Programmer can write FORTRAN programs in any language."

отсюда (http://www.sorehands.com/humor/real1.htm)

Противные манагеры!

[identity profile] potan.livejournal.com 2004-07-22 01:20 am (UTC)(link)
Из за этих гадких манагеров, которые считают что кроме C/C++, delphy, vb, c#, Perl и Java других язвков нет, настоящим программистам-лисповикам приходится так извращаться!
Все зло от матагеров.

[identity profile] onodera.livejournal.com 2004-07-22 01:44 am (UTC)(link)
#define FALSE TRUE /*debug mode*/

[identity profile] cousin-it.livejournal.com 2004-07-23 03:22 pm (UTC)(link)
Бывает еще

#define private public

Вообще про такое есть сайт (http://thedailywtf.com).