Интерактивный язык программирования? - PullRequest
5 голосов
/ 15 февраля 2010

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

Ответы [ 13 ]

1 голос
/ 15 февраля 2010

Кто-то уже упомянул Форт, но я хотел бы немного рассказать об истории Форта. Традиционно Forth - это язык программирования, который является его собственной операционной системой. Традиционный Forth сохраняет программу непосредственно на секторах диска без использования «настоящей» файловой системы. Он мог позволить себе это сделать, потому что он не работал непосредственно на процессоре без операционной системы, поэтому ему не нужно было играть хорошо.

Действительно, в некоторых реализациях Forth используется не только как операционная система, но и как центральный процессор (многие более современные процессоры на основе стека фактически спроектированы как машины Forth).

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

1 голос
/ 15 февраля 2010

Многие Forths могут быть использованы таким образом.

1 голос
/ 15 февраля 2010

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

Концепция преднамеренного программирования Чарльза Симони также может быть частью этого, но вы еще не можете пойти и купить ее. Возможно, стоит изучить проект Intentional Workbench.

...