Естественные языки программирования, шевелятся?
От: IQuerist Мухосранск  
Дата: 06.07.16 07:29
Оценка:
Добрый день

На днях просмотрел "Самоопределение в контексте глобальных вызовов" Переслегина. Он конечно сильно разочаровывает в последние 5 лет. Но любопытные идеи в видео есть. Как программер я отметил ряд проколов, например оказывается "компьютеры" уже проходят тест тьюринга и прочий желтый снег. Но удивило другое — Переслегин (а с ними вероятно прочая академическая братия) до сих пор ждут "программирование на естественном языке" как некоторое качественное изменение в IT.

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

Или это банальная боязьнь "академической братии" перед изучение синтаксиса? И они надеяться — вот когда с компьютером можно будет поговорить на "человеческом языке" вот тогда мы эгегей сколько всего хорошего напрограммируем!
Re: Естественные языки программирования, шевелятся?
От: 0x7be СССР  
Дата: 06.07.16 09:29
Оценка: 6 (1)
Здравствуйте, IQuerist, Вы писали:


IQ>Если честно совсем не могу понять какие задачи "программирование на естественном языке" может решить, т.к. имхо большинство программеров умудряются паршиво программировать и на формальных языках.

IQ>Или это банальная боязьнь "академической братии" перед изучение синтаксиса? И они надеяться — вот когда с компьютером можно будет поговорить на "человеческом языке" вот тогда мы эгегей сколько всего хорошего напрограммируем!
Дело не в синтаксисе. Принципиальное различие между ЯП и естественным языком состоит в том, что текст на ЯП имеет точное значение и однозначно интерпретируется. Если при компиляции возникает неопределенность например, один и тот же идентификатор может быть разрешён в два объекта), и компилятор не имеет явных правил её разрешения, то будет ошибка. Текст на естественном языке имеет неопределённость, которую мы разрешаем на основе контекста и личного опыта, применяя для этого свой интеллект. Результат у этого процесса недетерминирован, поэтому часто разные люди понимают один и тот же текст по-разному.
Работа программиста в своей сути и состоит в том, чтобы перевести нечёткую постановку задачи на естественном язык в однозначное описание решения на формальном.
Re[2]: Естественные языки программирования, шевелятся?
От: IQuerist Мухосранск  
Дата: 06.07.16 09:59
Оценка:
Здравствуйте, 0x7be, Вы писали:

0>Здравствуйте, IQuerist, Вы писали:



IQ>>Если честно совсем не могу понять какие задачи "программирование на естественном языке" может решить, т.к. имхо большинство программеров умудряются паршиво программировать и на формальных языках.

IQ>>Или это банальная боязьнь "академической братии" перед изучение синтаксиса? И они надеяться — вот когда с компьютером можно будет поговорить на "человеческом языке" вот тогда мы эгегей сколько всего хорошего напрограммируем!
0>Дело не в синтаксисе. Принципиальное различие между ЯП и естественным языком состоит в том, что текст на ЯП имеет точное значение и однозначно интерпретируется. Если при компиляции возникает неопределенность например, один и тот же идентификатор может быть разрешён в два объекта), и компилятор не имеет явных правил её разрешения, то будет ошибка. Текст на естественном языке имеет неопределённость, которую мы разрешаем на основе контекста и личного опыта, применяя для этого свой интеллект. Результат у этого процесса недетерминирован, поэтому часто разные люди понимают один и тот же текст по-разному.
0>Работа программиста в своей сути и состоит в том, чтобы перевести нечёткую постановку задачи на естественном язык в однозначное описание решения на формальном.

Это-то понятно, более того, если раньше "запрограммировать" часто означало решить какую-то задачу численными методами, то сегодня "запрограммировать" имхо уже означает создание конвенционной системы/приложения, что имхо само по себе уже по большому счету не является "программной" задачей и вероятно с IOT этот тренд качественно усилиться... Где тут место для "программирования на естественном языке"?

PS имхо мы видим совсем другой тренд — интуитивность интерфейсов, которая дает возможность неподготовленным пользователям использовать довольно сложные системы. Но это имхо идет в полном разрезе с "программированием на естественном языке".
Re[3]: Естественные языки программирования, шевелятся?
От: 0x7be СССР  
Дата: 06.07.16 10:15
Оценка:
Здравствуйте, IQuerist, Вы писали:

IQ>Это-то понятно, более того, если раньше "запрограммировать" часто означало решить какую-то задачу численными методами, то сегодня "запрограммировать" имхо уже означает создание конвенционной системы/приложения, что имхо само по себе уже по большому счету не является "программной" задачей и вероятно с IOT этот тренд качественно усилиться... Где тут место для "программирования на естественном языке"?

А фиг его знает. Автоматическое программирование по требованиям, сформулированным на естественном языке?

IQ>PS имхо мы видим совсем другой тренд — интуитивность интерфейсов, которая дает возможность неподготовленным пользователям использовать довольно сложные системы. Но это имхо идет в полном разрезе с "программированием на естественном языке".

Не знаю. Взять, например, Siri. Когда ей посылается запрос на естественном языке — это разве не программирование её на конкретное действие?
С другой стороны, язык, понимаемый Siri — это лишь некоторое ограниченное подмножество естественного языка, и контекст в котором он интерпретируется тоже предельно узок.
Получается такой DSL
Re[4]: Естественные языки программирования, шевелятся?
От: IQuerist Мухосранск  
Дата: 06.07.16 10:53
Оценка:
Здравствуйте, 0x7be, Вы писали:

0>Здравствуйте, IQuerist, Вы писали:


IQ>>Это-то понятно, более того, если раньше "запрограммировать" часто означало решить какую-то задачу численными методами, то сегодня "запрограммировать" имхо уже означает создание конвенционной системы/приложения, что имхо само по себе уже по большому счету не является "программной" задачей и вероятно с IOT этот тренд качественно усилиться... Где тут место для "программирования на естественном языке"?

0>А фиг его знает. Автоматическое программирование по требованиям, сформулированным на естественном языке?

мы то с вами понимаем процесс разработки целиком, и какую часть в этом процессе занимает активность "формализация требований"?

IQ>>PS имхо мы видим совсем другой тренд — интуитивность интерфейсов, которая дает возможность неподготовленным пользователям использовать довольно сложные системы. Но это имхо идет в полном разрезе с "программированием на естественном языке".

0>Не знаю. Взять, например, Siri. Когда ей посылается запрос на естественном языке — это разве не программирование её на конкретное действие?

0>С другой стороны, язык, понимаемый Siri — это лишь некоторое ограниченное подмножество естественного языка, и контекст в котором он интерпретируется тоже предельно узок.

0>Получается такой DSL

Имхо нет... На мой взгляд это просто часть интерфейса, ведь нового поведения не появляется.
Re[5]: Естественные языки программирования, шевелятся?
От: 0x7be СССР  
Дата: 06.07.16 11:04
Оценка:
Здравствуйте, IQuerist, Вы писали:

0>>А фиг его знает. Автоматическое программирование по требованиям, сформулированным на естественном языке?

IQ> мы то с вами понимаем процесс разработки целиком, и какую часть в этом процессе занимает активность "формализация требований"?
ИМХО, всю. Формализация заканчивается кодом — единственным формальным описанием системы. Требования, пусть даже очень подробные, записанные на естественном языке, всё равно имеют неопределённость.

IQ>Имхо нет... На мой взгляд это просто часть интерфейса, ведь нового поведения не появляется.

Окей, давайте пофантазируем ещё. Курс SICP определяет язык программирования как совокупность трёх компонент:
1. Примитивов
2. Средств комбинации.
3. Средств абстракции.

Сири позволяет исполнять некоторые примитивы. Если вдруг появится возможность комбинировать несколько операций в один сценарий и абстрагировать его за некоторой новой фразой, причем делать это тоже голосом, получится ЯП? По моему мнению — да. Будет ли это естественный язык — ХЗ, скорее — нет
Re[6]: Естественные языки программирования, шевелятся?
От: IQuerist Мухосранск  
Дата: 06.07.16 14:11
Оценка: +1 :)
Здравствуйте, 0x7be, Вы писали:

0>Здравствуйте, IQuerist, Вы писали:


0>>>А фиг его знает. Автоматическое программирование по требованиям, сформулированным на естественном языке?

IQ>> мы то с вами понимаем процесс разработки целиком, и какую часть в этом процессе занимает активность "формализация требований"?
0>ИМХО, всю. Формализация заканчивается кодом — единственным формальным описанием системы. Требования, пусть даже очень подробные, записанные на естественном языке, всё равно имеют неопределённость.

В современных проектах кодом заканчивается очень и очень большая группа активностей

IQ>>Имхо нет... На мой взгляд это просто часть интерфейса, ведь нового поведения не появляется.

0>Окей, давайте пофантазируем ещё. Курс SICP определяет язык программирования как совокупность трёх компонент:
0>1. Примитивов
0>2. Средств комбинации.
0>3. Средств абстракции.

0>Сири позволяет исполнять некоторые примитивы. Если вдруг появится возможность комбинировать несколько операций в один сценарий и абстрагировать его за некоторой новой фразой, причем делать это тоже голосом, получится ЯП? По моему мнению — да. Будет ли это естественный язык — ХЗ, скорее — нет


Чего бы программер не изобретал, в итоге получается ЯП
Re[3]: Естественные языки программирования, шевелятся?
От: утпутуук  
Дата: 06.07.16 14:14
Оценка:
Здравствуйте, IQuerist, Вы писали:

IQ>PS имхо мы видим совсем другой тренд — интуитивность интерфейсов, которая дает возможность неподготовленным пользователям использовать довольно сложные системы. Но это имхо идет в полном разрезе с "программированием на естественном языке".


Домохозяйки скоро будут программировать на естественном языке. Но можно ли будет считать это программированием? С нашей проф точки зрения — скорее нет, с бытовой — наверно — да.
Re[4]: Естественные языки программирования, шевелятся?
От: IQuerist Мухосранск  
Дата: 06.07.16 14:48
Оценка:
Здравствуйте, утпутуук, Вы писали:

У>Здравствуйте, IQuerist, Вы писали:


IQ>>PS имхо мы видим совсем другой тренд — интуитивность интерфейсов, которая дает возможность неподготовленным пользователям использовать довольно сложные системы. Но это имхо идет в полном разрезе с "программированием на естественном языке".


У>Домохозяйки скоро будут программировать на естественном языке. Но можно ли будет считать это программированием? С нашей проф точки зрения — скорее нет, с бытовой — наверно — да.


Вопрос имхо довольно принципиальный... они будут заниматься "разработкой" или использовать возможности продвинутых интерфейсов?

Эдак вы и верстальщиков в программисты запишите
Re: Естественные языки программирования, шевелятся?
От: GlebZ Россия  
Дата: 08.07.16 07:33
Оценка: -1 :)
Здравствуйте, IQuerist, Вы писали:

Занятный факт. В японском языке практически отсутсвует применение слова "нет". И вообще, повелительного наклонения. Когда-то оно было, но только между хозяином и рабом. В результате нельзя сказать в баре, дайте мне сакэ. Необходимо говорить что-то типа "сакэ иметь мне желательно". Зачастую митинги программистов проводятся на английском языке, даже если участвуют только японцы. А уж программировать на японском — невозможно.
Re: Естественные языки программирования, шевелятся?
От: L_G Россия  
Дата: 02.08.16 07:11
Оценка:
Думаю, "программирование на естественном языке" легче всего реализовать в форме формализующего диалога с компьютером.
То есть, человек будет пытаться сформулировать требования к программе как может, а компьютер будет задавать уточняющие вопросы, пытаясь устранить все неоднозначности, до тех пор, пока однозначность очередного требования не будет достигнута.
Скорее всего, вместо кода программы будет выступать формальное описание требований, могущее быть однозначно отображенным в текстовое описание на естественном языке (его подмножестве, если точнее).

Очередной этап программирования — внесение очередного требования — будет считаться завершенным, когда компьютер зачитает формальное описание этого требования и на его вопросы "Всё ли верно? Уточнений нет?" человек ответит соответственно "Да" и "Нет".

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

Как побочный эффект, по ходу работы программист будет естественным образом осваивать особенности формального языка описания требований и будет пытаться говорить с компьютером сразу на нем, не используя неуместные в конкретном случае фигуры естественного языка. Так он сможет вводить/надиктовывать требования с меньшим числом ошибок, сокращая стадию формализующего диалога.
Каша в голове — пища для ума (с)
Re[2]: Естественные языки программирования, шевелятся?
От: Ops Россия  
Дата: 02.08.16 09:28
Оценка:
Здравствуйте, L_G, Вы писали:

L_G>То есть, человек будет пытаться сформулировать требования к программе как может, а компьютер будет задавать уточняющие вопросы, пытаясь устранить все неоднозначности, до тех пор, пока однозначность очередного требования не будет достигнута.


А откуда известно, что она вообще может быть достигнута? Тут люди не могут заставить заказчиков нормально сформулировать требования, а ты про машину.
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.
Re[3]: Естественные языки программирования, шевелятся?
От: Real 3L0 Россия http://prikhodko.blogspot.com
Дата: 02.08.16 09:34
Оценка:
Здравствуйте, Ops, Вы писали:

Ops>А откуда известно, что она вообще может быть достигнута? Тут люди не могут заставить заказчиков нормально сформулировать требования, а ты про машину.


Может. Необходимо только добавить "умолчания".
Например, "напиши мне ПриветМир" — выведет "Привет Мир" белыми буквами на чёрном фоне в углу экрана. Если пользователю не понравится, то он начнёт добавлять уточнения.
Вселенная бесконечна как вширь, так и вглубь.
Re[4]: Естественные языки программирования, шевелятся?
От: Ops Россия  
Дата: 02.08.16 09:52
Оценка:
Здравствуйте, Real 3L0, Вы писали:

R3>Может. Необходимо только добавить "умолчания".

R3>Например, "напиши мне ПриветМир" — выведет "Привет Мир" белыми буквами на чёрном фоне в углу экрана. Если пользователю не понравится, то он начнёт добавлять уточнения.

Это все хорошо для примитивных задач. А как насчет "создай мне программу документооборота для моей фирмы"?
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.
Re[5]: Естественные языки программирования, шевелятся?
От: s_aa Россия  
Дата: 02.08.16 10:03
Оценка:
Ops>Это все хорошо для примитивных задач. А как насчет "создай мне программу документооборота для моей фирмы"?

Зачем? "Зарегистрируй документ", "Найди документ", "Передай Иванову для ознакомления". Документооборот без мышки и клавиатуры становится просто великолепен.
Жизнь не обязана доставлять удовольствие. Достаточно отсутствия страданий.
Re[5]: Естественные языки программирования, шевелятся?
От: Real 3L0 Россия http://prikhodko.blogspot.com
Дата: 02.08.16 10:21
Оценка:
Здравствуйте, Ops, Вы писали:

Ops>Это все хорошо для примитивных задач. А как насчет "создай мне программу документооборота для моей фирмы"?


Как человек, автоматизировавший кучу документооборотов, авторитетно заявляю — этой фразы достаточно.
Вселенная бесконечна как вширь, так и вглубь.
Re[6]: Естественные языки программирования, шевелятся?
От: Ops Россия  
Дата: 02.08.16 10:24
Оценка: +1
Здравствуйте, s_aa, Вы писали:

_>Зачем? "Зарегистрируй документ", "Найди документ", "Передай Иванову для ознакомления". Документооборот без мышки и клавиатуры становится просто великолепен.


Сначала нужно эти операции как-то объяснить машине, что сводится к созданию системы документооборота.
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.
Re[6]: Естественные языки программирования, шевелятся?
От: Ops Россия  
Дата: 02.08.16 10:26
Оценка:
Здравствуйте, Real 3L0, Вы писали:

R3>Как человек, автоматизировавший кучу документооборотов, авторитетно заявляю — этой фразы достаточно.


Даже если фирма — Газпром?
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.
Re[7]: Естественные языки программирования, шевелятся?
От: Real 3L0 Россия http://prikhodko.blogspot.com
Дата: 02.08.16 10:49
Оценка: :)
Здравствуйте, Ops, Вы писали:

Ops>Даже если фирма — Газпром?


Лукойла и Росатома достаточно?
Вселенная бесконечна как вширь, так и вглубь.
Re: Естественные языки программирования, шевелятся?
От: Слава  
Дата: 02.08.16 15:22
Оценка: :)
Здравствуйте, IQuerist, Вы писали:

IQ>Если честно совсем не могу понять какие задачи "программирование на естественном языке" может решить, т.к. имхо большинство программеров умудряются паршиво программировать и на формальных языках.


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