Как бы выглядели языки программирования, если бы каждая вычислимая вещь могла быть выполнена за 1 секунду? - PullRequest
2 голосов
/ 28 мая 2009

Вдохновлен этим вопросом

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

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

Тем не менее, он может отвечать только на вычислимые вопросы за одну секунду ... поэтому я не представляю "невозможную" машину (по крайней мере, я так не думаю) ... Например, эта машина все еще не быть в состоянии решить проблему остановки.

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

Во всяком случае, в интересах, надеюсь, интересной дискуссии, открывающей ее как вики сообщества ...

Ответы [ 11 ]

0 голосов
/ 28 мая 2009

SQL - это такой язык - вы запрашиваете какой-то фрагмент данных и получаете его. Если вам не нужно беспокоиться о подробностях реализации db, это может быть даже забавно для программирования.

...