?

Log in

No account? Create an account
про указатели (программистское, англ.) - Поклонник деепричастий [entries|archive|friends|userinfo]
Anatoly Vorobey

[ website | Website ]
[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

Links
[Links:| English-language weblog ]

про указатели (программистское, англ.) [авг. 16, 2012|02:22 pm]
Anatoly Vorobey
Комментарий в дискуссии на Hacker News предложил следующий отрывок в качестве 30-секундного введения в указатели в C. Мне понравилась эта идея, только я бы немного подправил заголовок и назвал это 30-секундным введением в указатели и ссылки в C++:

`It's long,' said the Knight, `but very, very beautiful. Everybody that hears me sing it -- either it brings the tears into their eyes, or else -- '
`Or else what?' said Alice, for the Knight had made a sudden pause.
`Or else it doesn't, you know. The name of the song is called "Haddocks' Eyes."'
`Oh, that's the name of the song, is it?' Alice said, trying to feel interested.
`No, you don't understand,' the Knight said, looking a little vexed. `That's what the name is called. The name really is "The Aged Aged Man."'
`Then I ought to have said "That's what the song is called"?' Alice corrected herself.
`No, you oughtn't: that's quite another thing! The song is called "Ways and Means": but that's only what it's called, you know!'
`Well, what is the song, then?' said Alice, who was by this time completely bewildered.
`I was coming to that,' the Knight said. `The song really is "A-sitting On A Gate": and the tune's my own invention.'
СсылкаОтветить

Comments:
[User Picture]From: squadette
2012-08-16 11:35 am
It would be really useful to call a song using pointer.

Let's just standardize the calling conventions for songs.
(Ответить) (Thread)
[User Picture]From: serenko
2012-08-16 11:45 am

С детства помню

Примечания к "Алисе в Зазеркалье" издательства "Наука". Указатели понял именно так.
Цитата из примечаний:
"Для человека, искушенного в логике и семантике, все это вполне понятно. Песня эта есть "Сидящий на стене"; она _называется_ "С горем пополам"; _имя_ песни - "Древний старичок"; имя это называется_ "Пуговки для сюртуков". Кэрролл здесь различает предметы, имена предметов и имена
имен предметов. "Пуговки для сюртуков", имя имени, принадлежит к той области, которую в современной логике именуют "метаязыком". Приняв соглашение о иерархии метаязыков, логикам удается избежать определенных парадоксов, которые мучили их со времен древних греков."
http://lib.ru/CARROLL/carrol1_2.txt
(Ответить) (Thread)
[User Picture]From: yms
2012-08-16 03:47 pm

Re: С детства помню

собсно,
(Ответить) (Parent) (Thread)
[User Picture]From: serenko
2012-08-17 03:39 am

Re: С детства помню

Спасибо. Погуглил. Про пример с картиной трубки не знал, а он, оказывается, известный.
(Ответить) (Parent) (Thread)
[User Picture]From: yms
2012-08-17 03:51 am

Re: С детства помню

(Ответить) (Parent) (Thread)
[User Picture]From: klvov
2012-08-16 05:00 pm

Re: С детства помню

Ну да, насколько я понимаю, "мета-" приставляют, чтобы перейти на один уровень абстракции вверх. В естественном русском языке "имя песни" и "то, как она называется" (сиречь "название песни") обычно совпадают. Чтобы шутка Кэррола стала понятной, надо бы придумать ситуацию, в которой понадобится сразу два этих понятия (и "имя", и "название"), при этом, в идеале, она должна быть настолько ясной, чтобы у читателя захватило дух от ощущения "как же я раньше думал, что это одно и то же?? а это же совершенно разные вещи!". При этом такая ситуация должна вписываться в контекст. У меня сходу придумать такую ситуацию не получилось. Можно приплести сюда аналогию из земноморского цикла У. Ле Гуин (где "имя" означало Истинное Имя, и знание его давало магу власть над его носителем, а "название" означало нечто вроде клички для повседневного использования), но с нятягом.

Кэррол вообще занудный.
(Ответить) (Parent) (Thread)
[User Picture]From: haiut
2012-08-16 11:57 am
жестко :)
(Ответить) (Thread)
[User Picture]From: cema
2012-08-16 12:20 pm
Ну это тривиальный пример.
(Ответить) (Thread)
[User Picture]From: polycode
2012-08-16 02:54 pm
Этот фрагмент использовался в книге Peter van der Linden "Expert C Programming" в контексте объяснения системы типов. Мол, тип переменной называется A, сам тип представляет собой B, переменная этого типа называется C, а равна она D.
(Ответить) (Thread)
[User Picture]From: moon_aka_sun
2012-08-16 03:22 pm
По-моему, отсылка к Алисе была и в Введении в Алгол-68. Вот там уж точно имена имён были в полный рост. Без всяких машинных "адресов" и "указателей".
(Ответить) (Thread)
[User Picture]From: zhenyach
2012-08-17 01:47 am
Впервые в подобном контексте отсылку к этому месту Кэрролла увидел в середине 80-х в какой-то переводной книжке по программированию (не помню).
(Ответить) (Thread)