Comments 7
Ну, не знаю. Слишком много придётся держать в голове, что бы писать на подобно псевдо-естественноязыковом коде. И не нормальный естественный язык, и не ограниченный набор конструкций языка программирования.
Моё мнение — код должен обеспечивать инфраструктуру, должен быть движком. А всю подобную логику можно и нужно вынести в данные. Подгрузить онтологий, синтаксических парсеров, солверов, выстраивать правила разбора и вывода.
Моё мнение — код должен обеспечивать инфраструктуру, должен быть движком. А всю подобную логику можно и нужно вынести в данные. Подгрузить онтологий, синтаксических парсеров, солверов, выстраивать правила разбора и вывода.
+1
Рассуждение — это процесс анализа фактов, понимание смысла, причины и следствия. Здесь никакого анализа нет. Для машины все правила выглядят одинаково, тут просто поиск соответствия паттернам, факт соответствия паттерну имеет смысл только для человека.
0
Проблема в том, что описания, привязанные к каждому вычислению, могут расти экспоненциально.
Например, X {описание X} + Y {описание Y} = Z {сумма {описание X} и {описание Y}}
Если в алгоритме тысячи итераций, память будет забита гигабайтами описаний, в которых человек не разберётся.
Например, X {описание X} + Y {описание Y} = Z {сумма {описание X} и {описание Y}}
Если в алгоритме тысячи итераций, память будет забита гигабайтами описаний, в которых человек не разберётся.
0
Проблема реализации в том, что такой язык все еще не естественный. И по сути это:
Было бы из-за того, что решение
не подходит. Код должен мыслить иначе:
А без этого программирование так и останется написанием кода, пусть и коверканным русским языком.
PS.
PPS.
Убивал Наказывал бы за такой код. Ну почему, почему нельзя сделать так?
meaningful.query('добавить {} Земля {} в {} planets', { execute: true });
не сильно отличается от planets.push(Earth);
Да и {скобки} все еще напоминают о тупости программ. Если бы можно было в добавить Земля в planets
находить ключевые слова, (добавить, в) решение уже можно было бы использовать.Было бы из-за того, что решение
function getVolumeOfBall(diameter) {
if (diameter === 2)
return 4.1887902047864;
if (diameter === 142984)
return 1530597322872155.8;
}
не подходит. Код должен мыслить иначе:
function getVolumeOfBall(diameter) {
return Math.PI * 4 / 3 * Math.pow(diameter / 2, 3);
}
А без этого программирование так и останется написанием кода, пусть и коверканным русским языком.
PS.
expect(planets).toEqual([ 'Земля', 'Юпитер' ]);
Тогда уж лучше будет meaningful.query("{группа} Земля, Юпитер {должна являться значением} planets", {execute: true});
PPS.
eval(list + '.push(\'' + element + '\')');
window[list].push(element);
0
Sign up to leave a comment.
Может ли рассуждать ваш код?