Разговорный язык программирования язык / система - PullRequest
2 голосов
/ 30 декабря 2008

Я недавно наткнулся на то, что называется Rpoku , на котором говорят на компьютерном языке. Я также нашел исследование под названием Voice Code , в котором используется другой подход. Здесь демонстрационное видео ..

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

Ответы [ 4 ]

1 голос
/ 30 декабря 2008

Я, например, думаю, что это ужасная идея. Чтобы разговорный язык имел смысл и был проще, он должен быть в некоторой степени свободным. В конце концов, все это приведет к попытке выяснить, что грамматически приемлемо для «компилятора» на самом деле делать то, что я хочу, и в этом он будет таким же «техническим», как языки сегодня, за исключением большей волк в овечьей шкуре.

Может быть, я бы попробовал, если бы хотел довести себя до самоубийства: D

1 голос
/ 30 декабря 2008

Я много думал об этом; и я думаю, что потребуется смена парадигмы (не говоря уже о достижениях в области ИИ в масштабе Star Trek), чтобы позволить программистам быть столь же продуктивными в устной форме, как и при написании.

Например, в этом простом примере кода я на самом деле говорю гораздо больше, чем набираю:

List<Employee> ListOfEmployees = new List<Employee>();

foreach (Employee emp in ListOfEmployees) {
Console.WriteLine(emp.Name);
}

В этом блоке кода я говорю следующее:

Создать общий список сотрудников объекты, инициализировать объект сотрудника по умолчанию. После этого я хочу перебирать объекты сотрудников по одному, и написать каждый имя для консоли.

(Я специально пропустил код для присвоения имен сотрудникам - для простоты).

Мне было гораздо быстрее набрать этот код, чем сказать, что я хотел сделать, и даже если бы этого не было, для компьютера должны были быть определены термины, чтобы перевести мои слова в реальный код , Не говоря уже о том, что это язык очень высокого уровня - представьте, как бы выглядел Perl (или C), если бы на нем говорили?

0 голосов
/ 30 декабря 2008

Отладка в лучшем случае будет раздражать.

Я думаю, вы могли бы подумать больше об использовании разговорного языка для управления программой. Если бы у вас был набор высокоуровневых функций и данных, вы могли бы легко сказать (украсть пример) «Распечатать список имен сотрудников», если «Печать», «Список» и «Имена сотрудников» уже определены.

0 голосов
/ 30 декабря 2008

Наверное, нет. Или, по крайней мере, пока. Следующим шагом будет грамотное программирование и DSL.

Может быть, а может и нет. Мы не хотим писать больше, просто чтобы заинтересованные стороны действительно поняли намерения программного обеспечения. Мы?

В любом случае, вот интересное видео обо всем этом.

http://www.infoq.com/presentations/domain-specific-languages

...