Подтвердить что ты не робот

Какие языки программирования (помимо Smalltalk) основаны на изображениях?

Мне очень интересно, если кто-то знает язык программирования, который использует изображение, такое как Smalltalk...

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

4b9b3361

Ответ 1

Изображений

Изображения в основном являются дампами памяти. Обычно система разработки Lisp запускает среду выполнения и образ. Затем пользователь вносит изменения, а затем может написать новое изображение. Иногда эта функция используется разработчиком, иногда она также используется при разработке самой системы Lisp.

Многие системы Lisp используют "изображения". Возможно, именно так и поступил Smalltalk, поскольку у Lisp были изображения уже задолго до того, как появился Smalltalk. Маккарти Lisp 1.5 в начале 60-х использовал изображения. Знания о методах реализации Lisp были переданы в Xerox. L Peter Deutsch, например, работал в 60-х годах над реализацией Lisp - в начале 60-х, когда он был ребенком, он написал свой первый Lisp. В 70-х годах он работал в Xerox, особенно в сфере внедрения виртуальных машин Smalltalk.

Позднее, в 70-х/80-х годах, ОС на машинах Lisp была в основном изображениями Lisp (часто называемыми мирами) (даже иерархическими изображениями с инкрементными дельта-изображениями). Lisp Machines также сохраняет состояние среды разработки (пример: какой код откуда и в какой версии написан кем) в образе, но варианты MIT машины Lisp обычно сохраняют исходный код в файлах.

Управляемый исходный код

Если вы спросите, на каком языке используется аналогичный способ организации исходного кода и управления им (т.е. Не в файлах в каталогах проектов), то Xerox Interlisp сделал это. Эппл Дилан сделал это. Некоторые инструменты разработки БД могут сделать это.

Ответ 2

Factor - это Forth со многими высокоуровневыми функциями и изображением.

Ответ 3

Фактически вы можете рассматривать базы данных SQL как объекты на основе изображений - данные и код (хранимые процедуры) хранятся вместе в одном большом непрозрачном блобе.

Ответ 4

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

Ответ 5

Мне интересно, масштабируется ли система Smalltalk Image.

Если у вас было 20 программистов, работающих на одной и той же базе кода, как это работает? У каждого из них свой образ, или они разделяют его?

Если вы внесете модификацию кода, требующую изменения вашей среды, и кто-то изменит ее с аналогичными требованиями, можно ли объединить изображения (как с контролем версий)?

Ответ 6

Большинство реализаций Common Lisp.

Ответ 7

Да, большинство Forths основаны на изображениях.

Ответ 8

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

'Поэтому, хотя я могу использовать JVM для вычисления на стороне сервера, это немного тяжелый вес для небольших и простых задач. Общий ответ Lisp на эту проблему был гениальным. Вместо того, чтобы создавать программы, которые вы запускаете снова и снова, он предлагает "среду", в которой код итеративно оценивается, чтобы вы действительно выросли и взращивали расширяющийся набор функций в долгосрочной перспективе. Мне нравится эта модель, когда это уместно, и наслаждайтесь ею, например, в Emacs, которую я могу оставлять работать в течение нескольких дней подряд, в то же время расширяя ее функциональность, создавая новые функции и настраивая переменные ".

Ответ 9

Чтобы ответить на вопрос Билла К.: видимо, он работает отлично (хотя я не пробовал контроль версий в команде лично).

Все системы Smalltalk делают это несколько иначе. Там очень интересный подкаст об этом на Трассировка стека. Большая часть его относится ко всем средам разработки на основе изображений.

Ответ 10

Ранние интерпретаторы BASIC можно было рассматривать как основанные на изображениях, поскольку они включали рудиментарный редактор и сохраняли исходную форму программы в памяти, когда пользователь работал над ней, и предоставлял такие команды, как "SAVE" и "LOAD" ( или "READ"?), чтобы сохранить всю программу в исходный файл и загрузить ее позже.

Ответ 11

Одностраничные приложения можно рассматривать как своего рода изображения для JavaScript + HTML. Одностраничное приложение означает [web] -приложение, в котором все данные, код и состояние содержатся в одном документе HTML.

Рассмотрим TiddleWiki в качестве примера: http://www.tiddlywiki.com/