Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Другие языки > Программирование на естественном языке


Автор: Unker 27.1.2010, 01:22
Возможно ли программирование на формализованном естественном языке? Речь идет не о псевдоязыке с фиксированным синтаксисом или лексикой, а о языке обладающая всеми (или потенциально всеми) свойствами настоящей языка, в том числе возможностью описания самого себя?
Да и вообще есть ли в этом смысл?
Для данных целей хорошо подходит упрощенный английский язык, из-за его сравнительно простой грамматики
эта тема, вероятно, должна была быть создана в "философии программирования")

Автор: Void 27.1.2010, 21:02
Цитата(Unker @  27.1.2010,  03:22 Найти цитируемый пост)
Да и вообще есть ли в этом смысл?

Edsger W. Dijkstra, On the foolishness of "natural language programming".
Цитата
[...] when judging the relative merits of programming languages, some still seem to equate "the ease of programming" with the ease of making undetected mistakes.

Цитата
[...] the "naturalness" with which we use our native tongues boils down to the ease with which we can use them for making statements the nonsense of which is not obvious.

Сказано было сорок с лишним лет назад. Актуальности, на мой взгляд, не потеряло.

Автор: Unker 27.1.2010, 22:19
Все зависит от того насколько мы владеем языком и умеем формулировать свои мысли. Языковой анализатор может переформулировать предложение, таким образом раскрывая суть, которую он понял.

Автор: _Y_ 5.3.2010, 15:26
Где-то я читал, что с повышением уровня языки программирования приближаются к языкам человеческим. Вроде как современные языки - они 4-го уровня и есть даже один 5-го - SQL. Типа SQL использует почти нормальные фразы аглицкого. Ерундистика для тех, кто SQL в глаза не видел.

Во всех человеческих языках много неопределенности, подразумевающих толкование принимающей стороной. Скажем сказано одно слово "Иди":
  • Сказанное мужу утром, может быть понято как "Пора тебе на работу".
  • Донесшееся до него же вечером из спальни может быть воспринято как приглашеие заняться сексом.
  • Обращенное и годовалому ребенку - "учись ходить" (то же и к взрослому, но очень пяному smile )
  • Сказанное жестко, в ответ на просьбу закурить - просто сокращение от чуть более длинного посылания.
  • Дописывайте список сами.
В компьютерных же языках GOTO поято не будет, если точно не указано куда идти smile 

Автор: Unker 29.3.2010, 02:14
Конечно же, написать сразу совершенный однозначный код на естественном языке трудно.
Но при выливании своих мыслей в код программист не просто записывает их в блокнот, а интерактивно взаимодействует с IDE которая показывающает многозначность (если она есть) или формулирует предложение другим образом, для того чтобы убедиться в правильности понимания. Этот процесс аналогичен общению, разве что более кропотливый.

Автор: Finarfin 14.4.2010, 20:55
Цитата

Программирование на естественном языке 
Программирование и естественный язык: пропасть непреодолимая... и такие треды уже боян. Люди - разветвленнейшие самообучающиеся нейронные сети, а компы - машины тьюринга. Прямая совместимость невозможна!
Цитата(Unker @  27.1.2010,  01:22 Найти цитируемый пост)
настоящей языка

Настоящая языкä: 
динозавр динозаврихе: -   у-У  smile !
Она ему:  - Э` э  smile .
Он ей:      - у-у-У!
Она ему:  - Э` э.
Он ей:      - Вымрем, дура!


Мораль анека в том, что y-y-y становиться понятным 1) в контексте и 2) в совокупности с интонацией, мимикой и т.п. Компиллятор естественного языка должен обладать телепатическими способностями  smile 

На самом же деле наименее телепатичный компилятор лучше, он позволит/пропустит меньше ошибок. 

Автор: Unker 14.4.2010, 21:05
Цитата(Finarfin @ 14.4.2010,  20:55)
Люди - разветвленнейшие самообучающиеся нейронные сети, а компы - машины тьюринга

Возможно же мыслить на обычные языке программирования (при наличии достаточного опыта), то почему же нельзя строго-естественном языке?

Так, тема давно уже не новая, но где она поднималась на этом форуме?

Автор: qweqwe 14.4.2010, 22:07
Цитата(Эдсгер Дейкстра)

Проекты, предлагающие программирование на естественном языке, гибельны по своей сути.

Автор: lve 18.5.2010, 21:49
В МЭСИ еще в ноябре 1979 г. на встрече с группой ведущих американских IT-специалистов, возглавляемой одним из авторов известного проекта ISDOS - проф. Д.Тайкроу, обсуждалась концепция системы, обеспечивающей реализацию программирования на естественном языке.
А еще через год там же в МЭСИ была продемонстрирована ее работа  на примерах получения готовых ПЛ-программ решения некоторых экономических задач, по запросам специалистов управления, сформулированным на языке, близком к естественному.

Л.Еремин. Характеристика языков двухуровневой системы машинного проектирования программ обработки учетно-статистической информации – “СИНТЕЗ”. Автоматизация проектирования (материалы семинара). М.: МДНТП, 1981, стр.17-22.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)