Во.. кстати...
Про классический треугольник в языке. Как только его не пишут (вариантов терминологии полно - всякие денотаты, концепты...). В этой книжке так:
"Значение — обозначаемый именем предмет ими класс предметов
Смысл — способ, каким имя обозначает предмет (информация о предмете).
Имя — языковое изображено, обозначающее предмет."
Не буду копипастить разъяснения афтара. Сами почитайте три абзаца от слов "Каждое имя имеет значение и смысл" и до картинки. Сцылка:
http://exsolver.narod.ru/Books/Other/Logica/c5.html
Объяснения обычные (в смысле похожие объяснения я видел у других авторов, скажем, у Чёрча).
Может, кому интересно? Давно хотелось обсудить - неспешно, вдумчиво. Никакого сценария обсуждения у меня нет, и свое мнение толком не сформировано. Скажу только одно: интуитивно мне эта схема очень не нравится. Но интуиция меня, бывает, подводит.
Возможно, это привычка программиста. Кто не программист, поясню: у нас повсюду такие вещи состоят не из трех частей, а из двух:
1. Есть адрес, который указывает где что-то лежит.
2. Есть это самое "что-то".
Причем, адрес тоже где-то лежит. Может быть, лежит только временно. Может быть адрес адреса. Могут быть циклические ссылки (1 указывает на 2, 2 указывает на 1). И куда тогда девать этот самый треугольник?
В книжке приводится пример:
"Разные выражения, обозначающие один и тот же предмет, имеют одно и то же значение, но разный смысл (т е. смысл выражений “4”, “2 + 2” и “9 - 5” различен)."
Да ну нафик. Это три адреса: "4", "2 + 2", "9 - 5". Первый адрес - указывает на цифру. Два других - на пару цифр и операцию. Если к этим трем адресам применить некую процедуру: рассматривать их как инструкцию по вычислению, то можно получить число. Одно и то же. Но ведь можно и другую процедуру применить. Скажем, засунуть в какое-нибудь уравнение.
Как-то так... мутно все, не могу сформулировать.
"Значение — обозначаемый именем предмет ими класс предметов
Смысл — способ, каким имя обозначает предмет (информация о предмете).
Имя — языковое изображено, обозначающее предмет."
Не буду копипастить разъяснения афтара. Сами почитайте три абзаца от слов "Каждое имя имеет значение и смысл" и до картинки. Сцылка:
http://exsolver.narod.ru/Books/Other/Logica/c5.html
Объяснения обычные (в смысле похожие объяснения я видел у других авторов, скажем, у Чёрча).
Может, кому интересно? Давно хотелось обсудить - неспешно, вдумчиво. Никакого сценария обсуждения у меня нет, и свое мнение толком не сформировано. Скажу только одно: интуитивно мне эта схема очень не нравится. Но интуиция меня, бывает, подводит.
Возможно, это привычка программиста. Кто не программист, поясню: у нас повсюду такие вещи состоят не из трех частей, а из двух:
1. Есть адрес, который указывает где что-то лежит.
2. Есть это самое "что-то".
Причем, адрес тоже где-то лежит. Может быть, лежит только временно. Может быть адрес адреса. Могут быть циклические ссылки (1 указывает на 2, 2 указывает на 1). И куда тогда девать этот самый треугольник?
В книжке приводится пример:
"Разные выражения, обозначающие один и тот же предмет, имеют одно и то же значение, но разный смысл (т е. смысл выражений “4”, “2 + 2” и “9 - 5” различен)."
Да ну нафик. Это три адреса: "4", "2 + 2", "9 - 5". Первый адрес - указывает на цифру. Два других - на пару цифр и операцию. Если к этим трем адресам применить некую процедуру: рассматривать их как инструкцию по вычислению, то можно получить число. Одно и то же. Но ведь можно и другую процедуру применить. Скажем, засунуть в какое-нибудь уравнение.
Как-то так... мутно все, не могу сформулировать.
no subject
int* x;
int* & y = x;
дело в том, что код генерируется все-таки разный для
*x = 0 и *y = 0.
В первом случае происходит одно обращение к адресу, во втором - два. Т.е. технически y - это вовсе не другое имя, не равноценный алиас. Это просто сокращение. В C писали бы так:
int* x;
int** y = &x;
*x = 0;
**y = 0;
В C++ сделали такую хрень как ссылка, это указание каждый раз, когда написано "y" делать автоматически еще одну операцию "*", которую не писать каждый раз. Потому ссылки вообще-то "дороже".
Вот ежели в вашем примере всякий раз автоматически переводить вторую фразу на русский перед использованием - это будет что-то типа того...
no subject
Если так:
взять две одинаковые по содержанию функции get_baikal(), только одна называется get_baikal(), а вторая - get_most_deep_lake_in_the_world() с одинаковым содержимым (прверкой на 1620).
Так вот, имя - это одно из get_most_deep_lake_in_the_world()/get_baikal(), смысл - содержание функции, предмет - результат обработки.
Где-то так.
Но я в этих треугольниках не разбираюсь, только пишу как понял по-своему.