2009-02-14 7 views
1

Недавно я спросил около new languages and language features of the last 10 years, но, видимо, их нет.А как насчет программирования без исчисления?

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

Также одинаково готовые к использованию языки запросов, регулярные выражения и графические/древовидные конструкции, которые, хотя и математические, не являются исчислением, что заставило меня задуматься о том, какие другие конструкции не исчисления в программировании важны сейчас , и какие другие поля могут предоставить нам новые парадигмы программирования?

** Примечание: ** этот вопрос не о «новом», но о не исходит из исчисления.

+0

Я не уверен, что это является ответом, но параллельная обработка является очень новой и может (возможно, может быть) развиваться в новую парадигму программирования. – Mike

+0

Ну, это не ново, но на этот раз я не спрашиваю о новых новостях, поэтому это правильный ответ. Возможно, положите его туда, а не на комментарий :) –

+1

NN и генетическое программирование Интересные новые идеи, появившиеся в последние годы? Они целые века. – eljenso

ответ

2

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

Инструменты, которые мы имеем сейчас, достаточно хороши в решении вычислительных задач, поскольку они в настоящее время обрамлены.Новые взгляды на проблемы, несомненно, приведут к созданию новых языков, но это побочный продукт, а не стимул.

+0

Именно это меня интересует. Новые источники для поиска решений, а не для языков. –

1

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

3

Нейронные сети более 50 лет, см., Например, Perceptron.

Genetic programming более 40 лет.

Теперь исходный вопрос не был отредактирован, так что возраст уже не актуально ...

Кстати, объектно-ориентированное программирование возникло в моделировании, более 40 лет назад (Simula 67).

Большинство других языков программирования либо производятся снизу вверх от того, что может делать машина (императивные языки, начиная с FORTRAN в 1954 году), либо из некоторого математического понятия вычисления (например, lambda calculus вдохновил Lisp в 1957 году, а затем и на другие функциональные языки. Пролог - еще один пример, полученный из математической логики). Отношение языков программирования к исчислению, которое вы видите, в основном случайное, потому что численные вычисления были основным использованием компьютеров в первые дни и по-прежнему важны сегодня.

+0

Я уверен, что OP означал «генетическое» программирование, но вывод остается прежним. – eljenso

+0

Ну, это еще что-то новое. По сравнению с другими моделями программирования. –

+0

Anyways new не имеет отношения к этому вопросу. Это не математический фон. –

1

Исчисление - это не математика, это всего лишь часть математики - в целом, все языки программирования основаны на математике, а программы могут быть превращены в алгебраические структуры (или, более теоретически, в лямбда-исчисление или машину для обучения построить). То, что я пытаюсь сказать, состоит в том, что вся работа над компьютерно-научным аспектом программирования (как помечена) должна основываться на математике, хотя, возможно, и не на исчислении, поэтому вопрос как таковой несправедлив. Материал, который не является таким, как «Письменное программирование Кнута», который фокусируется на не математической стороне программирования - документации и т. Д., И это не совсем ново.

Редактировать: Оригинальный вопрос с тех пор обновлен. Спасибо, я полагаю.

+0

Новое не имеет значения, а математика - честная игра, потому что большинство из них можно смоделировать с помощью математики, но я имею в виду не исчисление. –

2

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

0

Программирование без исчисления звучит для меня по определению как составное что-то физическое в целую сущность, которая должна приводить к другому объекту в целом посредством вычислений, выполняемых физикой или/или устройством, созданным человеком. Мы можем думать, что это определенно будущее расчетов, потому что это было бы нечто, выходящее за рамки понимания человека. Там должно быть занято то, что работает, но мы не понимаем, как это сделать. Но, по-другому, это не будущее. Так создается Вселенная, включая нас в целом. Таким образом, это не очень практично, имея в виду наш мозг. Очевидно, что мы можем попытаться использовать что-то, как квантовые вычисления, квантовое запутывание или другое физическое явление, которое мы еще не обнаружили. И это в значительной степени, какой вариант у нас есть. Пока это не очень практично, попытаться использовать что-то, из чего мы сделаны.