type inference - "вывод типов" или "определение типа результата"

Переводим термины и придумываем новые, в т.ч. для ЯОС
Ответить
ритминформ
Сообщения: 31
Зарегистрирован: 23.03.21 11:29

type inference - "вывод типов" или "определение типа результата"

Сообщение ритминформ » 24.03.21 12:30

БудДен писал(а):
24.03.21 10:35
Например, если мы определяем функцию, то компилятор какого-либо языка может выводить тип аргумента из операций, которые над ним делаются в теле функции. В этом случае "определение типа результата" не подойдёт
Очень даже подойдёт.
Компилятор пытается определить ТИП ЗНАЧЕНИЯ РЕЗУЛЬТАТА ВЫРАЖЕНИЯ (операнда), т.е. тип результата. Кстати, и тип значения функции - тоже тип значения результата выражения. А выражение состоит из одной функции.

P.S.
Не надо пытаться дословно переводить слово "inference". Когда я учил техперевод, меня учили, что слово не имеет смысла без контекста.
При обращении к переводчику имеем варианты: ("вывод", "заключение", "умозаключение", "предположение" и т.д.). Судя по контексту словосочетание "type inference" подразумевает процесс , способность выполнять этот процесс (свойсто). Слово "вывод" в данном контексте плохо воспринимается как процесс определения типа. Я предпочел бы "пределение типа результата". Как-то так.

ритминформ
Сообщения: 31
Зарегистрирован: 23.03.21 11:29

Re: Язык программирования Санда

Сообщение ритминформ » 24.03.21 12:39

БудДен писал(а):
24.03.21 10:35
операция конкатенации не должна обозначаться плюсиком. ЕМНИП в Бейсике сделали правильно, а вот в JS - нет.
Душой я с Вами и согласен со мнением (кроме символа ".", который используется при разрешении имён). Однако, жизнь требует смирить наше душевное возмущение и остаться с плюсиком. Так уж исторически сложилось и я не возьму на себя смелость изменять этот подход.

ритминформ
Сообщения: 31
Зарегистрирован: 23.03.21 11:29

Re: Язык программирования Санда

Сообщение ритминформ » 24.03.21 12:53

Павиа писал(а):
24.03.21 11:52
JSON сложно упрощаем до человеческого YML
Даже не знаю как отреагировать на такое высказывание... :O

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: Язык программирования Санда

Сообщение БудДен » 24.03.21 15:16

P.S.
Не надо пытаться дословно переводить слово "inference". Когда я учил техперевод, меня учили, что слово не имеет смысла без контекста.
При обращении к переводчику имеем варианты: ("вывод", "заключение", "умозаключение", "предположение" и т.д.). Судя по контексту словосочетание "type inference" подразумевает процесс , способность выполнять этот процесс (свойсто). Слово "вывод" в данном контексте плохо воспринимается как процесс определения типа. Я предпочел бы "пределение типа результата". Как-то так.
Возможно, термин и неудачен, но люди живут в обществе. Допустим, Вы меня убедите использовать Ваш термин - тогда мы с Вами друг друга поймём, а остальные нас не поймут. Что будем делать в этом случае? Убеждать всех остальных? Ваш вариант в этом случае тоже не безупречен. Предлагаю просто остановиться на том, что мы как-то сумели друг друга понять и оставить данный терминологический вопрос за кормой. Или уж завести отдельную тему в форуме "Русская терминология" по соседству - и там я может быть напишу ещё пару соображений.

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: Язык программирования Санда

Сообщение БудДен » 24.03.21 15:18

ритминформ писал(а):
24.03.21 12:39
БудДен писал(а):
24.03.21 10:35
операция конкатенации не должна обозначаться плюсиком. ЕМНИП в Бейсике сделали правильно, а вот в JS - нет.
Душой я с Вами и согласен со мнением (кроме символа ".", который используется при разрешении имён). Однако, жизнь требует смирить наше душевное возмущение и остаться с плюсиком. Так уж исторически сложилось и я не возьму на себя смелость изменять этот подход.
Ну, я не претендую в том, чтобы участвовать в разработке вашего языка или как-то предлагать его менять. Если осознаёте эту проблему - то можете сами принять то решение, которое Вас устроит. Я только отмечу, что языки, где конкатенация обозначается плюсиком - не факт что в подавляющем большинстве. Так что, вообще говоря, нет, так исторически не сложилось. Возможно, сложилось в 1С. А так, когда операция конкатенации появляется, она может оказаться полезной и для чего-то другого. Например, для векторов + может означать почленное сложение, а конкатенация - приписывание.

ритминформ
Сообщения: 31
Зарегистрирован: 23.03.21 11:29

Re: Язык программирования Санда

Сообщение ритминформ » 24.03.21 16:52

БудДен писал(а):
24.03.21 15:16
P.S.
Не надо пытаться дословно переводить слово "inference". Когда я учил техперевод, меня учили, что слово не имеет смысла без контекста.
При обращении к переводчику имеем варианты: ("вывод", "заключение", "умозаключение", "предположение" и т.д.). Судя по контексту словосочетание "type inference" подразумевает процесс , способность выполнять этот процесс (свойсто). Слово "вывод" в данном контексте плохо воспринимается как процесс определения типа. Я предпочел бы "пределение типа результата". Как-то так.
Возможно, термин и неудачен, но люди живут в обществе. Допустим, Вы меня убедите использовать Ваш термин - тогда мы с Вами друг друга поймём, а остальные нас не поймут. Что будем делать в этом случае? Убеждать всех остальных? Ваш вариант в этом случае тоже не безупречен. Предлагаю просто остановиться на том, что мы как-то сумели друг друга понять и оставить данный терминологический вопрос за кормой. Или уж завести отдельную тему в форуме "Русская терминология" по соседству - и там я может быть напишу ещё пару соображений.
Как можно не понять словосочетание "определение типа результата"? Здесь нет ни одного слова, которое можно понять многознчно. В словосочетании "вывод типа" слово "вывод", как минимум, я воспринял как одну из операций ввода-вывода.

Но, в принципе, это для меня не важно и не стоит обсуждения.

MihalNik
Сообщения: 244
Зарегистрирован: 05.11.18 11:02

Re: Язык программирования Санда

Сообщение MihalNik » 24.03.21 21:52

ритминформ писал(а):
24.03.21 16:52
Как можно не понять словосочетание "определение типа результата"?
Вполне можно неправильно понять. Например, как часть описания заголовка функции.
У программистов нет общего языка. И то что, скажем, в каком-нибудь JS называется функцией, в Обероне будет ближе к понятию модуля.
В данном случае точнее говорить не "определять" или "выводить", а "вычислять".
Павиа писал(а):
24.03.21 11:52
История помнит много таких примеров. Бил-Гейтс каждая домохозяйка сможет писать на Бесике . В результате появились программисты.
Каждый пользователь сможет делать запросы на языке SQL. В результате имеем SQL-программист и NoSQL-программистов.
Каждый пользователь сможет создать свой сайт используя HTML. В результате отдельная профессия верстальщик, фронэндер, и JS-программист
JSON сложно упрощаем до человеческого YML, имеем DevOPS.
Так Гейтс оказался прав, почти вся эта "кодла" не обучена соответствующей деятельности профессионально.
Последний раз редактировалось MihalNik 25.03.21 02:43, всего редактировалось 1 раз.

MihalNik
Сообщения: 244
Зарегистрирован: 05.11.18 11:02

Re: Язык программирования Санда

Сообщение MihalNik » 24.03.21 22:12

БудДен писал(а):
24.03.21 10:35
Насчёт неважности типа, хочу ещё предостеречь от грабель: "1"+1=11. Чтобы на них не попасть, операция конкатенации не должна обозначаться плюсиком. ЕМНИП в Бейсике сделали правильно, а вот в JS - нет.
Можно просто соединять строковые значения идущих подряд выражений, без доп. обозначений.

ритминформ
Сообщения: 31
Зарегистрирован: 23.03.21 11:29

Re: Язык программирования Санда

Сообщение ритминформ » 25.03.21 00:34

MihalNik писал(а):
24.03.21 21:52
Так Гейтс оказался прав, почти вся эта "кодла" не обучена соответствующей деятельности профессионально.
100%
Каждая домохозяйка мнит себя программистом. Как и каждый счетовод называет себя бухгалтером.

ритминформ
Сообщения: 31
Зарегистрирован: 23.03.21 11:29

Re: Язык программирования Санда

Сообщение ритминформ » 25.03.21 00:36

MihalNik писал(а):
24.03.21 21:52
ритминформ писал(а):
24.03.21 16:52
Как можно не понять словосочетание "определение типа результата"?
Вполне можно неправильно понять. Например, как часть описания заголовка функции.
Ну, мне нечего скказать на это. :/ Если словосочетание "определение типа результат" кто-то понимает как часть заголовка функции, то no comments.

Аватара пользователя
Лис [Вежливый]
Сообщения: 561
Зарегистрирован: 08.10.18 13:32

Re: Язык программирования Санда

Сообщение Лис [Вежливый] » 25.03.21 02:08

ритминформ писал(а):то no comments.
У меня есть comments.

https://gufo.me/dict/ushakov/%D0%BE%D0% ... 0%B8%D0%B5
https://ushakovdictionary.ru/word.php?wordid=40474
Ушаков. Толковый словарь русского языка Ушакова. 2012
определения, ср.

1. Действие по глаг. определить во всех знач., кроме

5. Точное определение обязанностей. Определение признаков холеры. Определение растений. Определение углов. Определение наказания. Определение на службу.

2. Формулировка, раскрывающая содержание понятия (науч.). – Что значит Дать "определение"? Это значит прежде всего подвести данное понятие под другое, более широкое. Ленин. Дать чему-н. Построить определение. Сжатое определение. Неточное определение.

3. Второстепенный член предложения, отвечающий на вопрос: какой? чей? который? (грам.).

4. Постановление суда, вынесенное по частному вопросу, возникшему при рассмотрении дела. Определение суда.
Мы видим, что у слова "Определение" есть пять значений, из них применимы в этом случае первое и пятое. БудДен привёл пример того, как слово могло быть понято не в первом словарном значении.
ритминформ писал(а):Ну, мне нечего скказать на это. :/
Ну я за позицию БудДена. Но словарь - плохой, первый попавшийся, не хватает ему формальности и этимологической части.

ритминформ
Сообщения: 31
Зарегистрирован: 23.03.21 11:29

Re: Язык программирования Санда

Сообщение ритминформ » 25.03.21 02:42

Лис [Вежливый] писал(а):
25.03.21 02:08
ритминформ писал(а):то no comments.
У меня есть comments.

https://gufo.me/dict/ushakov/%D0%BE%D0% ... 0%B8%D0%B5
https://ushakovdictionary.ru/word.php?wordid=40474
Ушаков. Толковый словарь русского языка Ушакова. 2012
определения, ср.

1. Действие по глаг. определить во всех знач., кроме

5. Точное определение обязанностей. Определение признаков холеры. Определение растений. Определение углов. Определение наказания. Определение на службу.

2. Формулировка, раскрывающая содержание понятия (науч.). – Что значит Дать "определение"? Это значит прежде всего подвести данное понятие под другое, более широкое. Ленин. Дать чему-н. Построить определение. Сжатое определение. Неточное определение.

3. Второстепенный член предложения, отвечающий на вопрос: какой? чей? который? (грам.).

4. Постановление суда, вынесенное по частному вопросу, возникшему при рассмотрении дела. Определение суда.
Мы видим, что у слова "Определение" есть пять значений, из них применимы в этом случае первое и пятое. БудДен привёл пример того, как слово могло быть понято не в первом словарном значении.
Я не представляю в данном контексте как слово "определение" может быть понято иначе, чем значение 1.
Но ещё раз подчеркиваю: мне это не важно. Я, программируя с осени 1985 года не припомню случая, чтобы где-то встретил словосочетание "type inference". Меня оно не интресует.

Аватара пользователя
Лис [Вежливый]
Сообщения: 561
Зарегистрирован: 08.10.18 13:32

Re: Язык программирования Санда

Сообщение Лис [Вежливый] » 25.03.21 02:45

не припомню случая, чтобы где-то встретил словосочетание "type inference". Меня оно не интресует.
Ну значит современное собеседование не пройдёте, потому что это "type inference" во многих современных языках программирования.
Вот и остаётся Вам быть "независимым автором" (маргиналом вне мейнстрима).

ритминформ
Сообщения: 31
Зарегистрирован: 23.03.21 11:29

Re: Язык программирования Санда

Сообщение ритминформ » 25.03.21 03:01

Лис [Вежливый] писал(а):
25.03.21 02:45
Ну значит современное собеседование не пройдёте, потому что это "type inference" во многих современных языках программирования.
Вполне вероятно. Надеюсь, что мне никогда не придётся проходить собеседование. :)
Лис [Вежливый] писал(а):
25.03.21 02:45
Вот и остаётся Вам быть "независимым автором" (маргиналом вне мейнстрима).
Мне больше нравится быть владельцем, которым я сегодня являюсь, и я ни в коем разе не хочу попадать в мейнстрим. Я не девочка из телеграмма.

Аватара пользователя
Лис [Вежливый]
Сообщения: 561
Зарегистрирован: 08.10.18 13:32

Re: Язык программирования Санда

Сообщение Лис [Вежливый] » 25.03.21 03:07

ритминформ писал(а):владельцем, которым я сегодня являюсь
Распальцовка, упускание конкурентных преимуществ. Лидер колонии не великий стратег (последняя фраза - переделанная цитата из одной игры-стратежки).

ритминформ
Сообщения: 31
Зарегистрирован: 23.03.21 11:29

Re: Язык программирования Санда

Сообщение ритминформ » 25.03.21 03:10

Лис [Вежливый] писал(а):
25.03.21 03:07
ритминформ писал(а):владельцем, которым я сегодня являюсь
Распальцовка, упускание конкурентных преимуществ.
Я не собираюсь ни с кем конкурировать в области ИТ. Мне это не интересно.

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: type inference - "вывод типов" или "определение типа результата"

Сообщение БудДен » 22.04.21 22:39

Ну вот смотрите, Вы не хотите конкурировать и вывод типов Вам не интересен, Вы с ним не сталкивались, но тем не менее называть мы его должны так, как Вы его назвали. А люди, которым он интересен, уже давно договорились между собой называть его по-другому. Ведь почти все слова в современных языках многозначны и так или иначе терминология - это продукт договорённостей. Да, "вывод типов" - тоже не идеальный вариант, это условное название, но люди, говоря это, друг друга понимают. А у Вас получается довольно агрессивная позиция - кто Вас не понял (читай, отказался подчиняться тем соглашениям, которые Вы навязываете, причём в области, которая не Ваша совсем), тому кривую рожицу ставить. Вам не кажется Ваше поведение слегка недружелюбным?

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: type inference - "вывод типов" или "определение типа результата"

Сообщение БудДен » 22.04.21 22:47

Вот тут нам С.Т. лингву предложил и лингва говорит (из книги Александреску), что type inference переводится именно как вывод типов. МОжно было бы сказать "автовычисление типа" - тогда, наверное, было бы ещё лучше. Но на самом-то деле в Обероне type inference почти отсутствует, и действительно можно особо и не обсуждать.

С.Т.
Сообщения: 15
Зарегистрирован: 20.04.21 14:26

Re: type inference - "вывод типов" или "определение типа результата"

Сообщение С.Т. » 23.04.21 08:47

Если вернуть контекст, то полный перевод выглядит как "вывод типов по алгоритму Хиндли — Милнера". Пришёл из функциональных языков, где результатом функции может быть функция (выражение). Терминология заимствуется из математики, тип именно выводится.

Формулировка "определение типа результата" говорит о том, что человек уловил суть и решил частный случай задачи для императивного языка (а большего ему и не надо).

Выпад про "многие современные языки" и "провал собеседования" я даже боюсь комментировать, поскольку не знаю что старше: смузи или лямбда-исчисление.

Ответить