• Внимание, Премодерацию новичков пока выключаю.

Вот так как-то (Временная тема медведя)

Она имхо неоднозначная насчет белочки и зайчика и близка к кошкам и смирительным рубашкам. Может быть вполне дразнилкой. Тату хайповали на теме - типа они лесби пара а потом насколько помню обе вышли замуж.
Одна из них бисексуалка и зайчики / белочки это стиль такой.
 
Читаю про параллельную ветку развития компьютеров, пишет Грок.
А как были устроены Lisp машины и операционные системы к ним? Процессор выполнял лисп? Там были файлы? Конфигурация была тоже лиспом и протоколы были лисповыми списками или как?
Thought for 35s

Lisp-машины (Lisp machines) — это специализированные компьютеры 1970–1980-х годов (Symbolics 3600, TI Explorer, LMI Lambda, MIT CADR и др.), созданные именно для эффективного выполнения программ на Lisp. Они не были «обычными» ПК с Lisp как надстройкой — вся архитектура была заточена под особенности языка (списки, динамическая типизация, рекурсия, сборка мусора).

en.wikipedia.org
Процессор: выполнял ли он Lisp «напрямую»?Нет, процессор не выполнял сырые S-выражения (как интерпретатор). Но он был максимально близок к этому:
  • Это был стековый процессор (stack machine) с инструкциями, специально оптимизированными под скомпилированный Lisp.
  • Основной «движок» — микрокод (microcode). Процессор в hardware выполнял микроинструкции, которые реализовывали примитивы Lisp: car/cdr, вызов функций (иногда за 20 тактов!), проверку типов, bounds checking и даже подсказки для сборки мусора.
  • Tagged architecture: каждое слово памяти (обычно 36–40 бит) имело теги (тип данных: integer, float, list, symbol и т.д.). Типы проверялись аппаратно, параллельно с арифметикой — это делало динамическую типизацию Lisp почти бесплатной.
  • Lisp-код компилировался в «машинный код» этой архитектуры (macrocode), а микрокод его интерпретировал/ускорял. Пример из CADR: процессор берёт макроинструкцию из памяти → запускает соответствующую микропрограмму → возвращается.
В итоге процессор «говорил на Lisp» на уровне железа лучше, чем любой обычный CPU того времени.

en.wikipedia.org
Операционная системаСамая известная — Genera от Symbolics (ранее называлась Symbolics Lisp OS или ZetaLisp-based).
Она была полностью написана на Lisp (ZetaLisp → Symbolics Common Lisp + Flavors/CLOS для ООП).
Ядро, драйверы устройств, планировщик процессов, сборщик мусора, оконная система, даже низкоуровневые вещи — всё Lisp-код, всё в едином адресном пространстве.
Аналогично у TI и LMI. Никакого отдельного «C-ядра» или Unix-подобного слоя — вся ОС это один большой Lisp-образ («world»).Файлы: да, были, и довольно необычные
  • Основной файловый система — Lisp Machine File System (LMFS). Иерархическая, оптимизирована под кучу маленьких файлов (идеально для Lisp-пакетов).
  • Плюс FEP File System (Front End Processor) для больших файлов.
  • Главная фишка — версионирование: при каждом сохранении файла автоматически сохраняется старая версия (как в VMS). Можно откатиться в один клик.
  • Файлы хранятся на локальном диске, но система легко монтировала NFS, FTP, Chaosnet-файловые серверы и т.д.
  • Кроме обычных файлов существовали «worlds» — снимки всей памяти Lisp-машины (весь код + данные + состояние). Это как «сохранить весь компьютер» и загрузить за секунды.
Так что да, файлы были, но они жили внутри Lisp-мира, а не как в Unix.

en.wikipedia.org
КонфигурацияВсё было Lisp-кодом.
Нет отдельных .conf, ini или реестра. Конфигурация машины, сети, устройств, приложений — это просто Lisp-выражения, которые загружались при старте или менялись на лету.
Хочешь поменять поведение системы? Переопредели функцию в рантайме прямо в слушателе Lisp — и всё.
Система даже позволяла инспектировать и править свой собственный код в реальном времени (знаменитая «live hacking»).Протоколы и сетевые данные
  • Основной протокол — Chaosnet (собственная разработка MIT/Symbolics). Позже добавили полный TCP/IP.
  • Весь сетевой стек (от пакетов до приложений) написан на Lisp.
  • Форматы данных в пакетах следовали стандартам Lisp-машины (tagged words, Lisp-friendly битовые поля). Высокоуровневые протоколы (file access, mail, eval-server, name service) работали напрямую с Lisp-объектами и списками.
  • Например, протокол FILE позволял Lisp-машине открывать файлы на удалённом сервере как обычные потоки Lisp.
  • Внутренне данные часто передавались как структурированные Lisp-списки или объекты (сериализованные, конечно, но семантически «Lisp-native»).
По сути, протоколы были «Lispовыми» не в смысле «сырые списки по проводу», а в том, что весь код и структура данных были написаны и хранились как Lisp-объекты. Никакого отдельного «JSON/XML-парсера» — всё родное.Итог в одной фразеLisp-машина — это не «компьютер + Lisp», а компьютер, который внутри себя был одним большим живым Lisp-миром. Процессор ускорял Lisp-примитивы, ОС и всё остальное были написаны на нём же, файлы и конфигурация — это Lisp-объекты, а протоколы — тоже часть этого мира. Поэтому разработчики чувствовали себя богами: можно было менять буквально всё на лету без перезагрузки.


Если хочешь поглубже — могу рассказать про конкретную модель (например, Symbolics 3600 или Ivory), про то, как выглядело программирование в Genera или даже про современные эмуляторы (LM-3, Open Genera).



Расскажи про Genera подробнее
Современные эмуляторы Lisp-машин
Они ещё интересны как параллельная ветвь эволюции или компьютеры отчасти из другого мира...

Searching the web
41 results
Да, Lisp-машины действительно ощущаются как параллельная ветвь эволюции компьютеров — или даже как артефакты из «другого мира», где развитие пошло не по пути фон-Неймана + Unix/C, а по пути символьных вычислений, живой среды и единого Lisp-мира. Это не просто железо с Lisp-компилятором, а целая альтернативная философия вычислений, которая расцвела в 1980-е, но потом почти исчезла.Почему они кажутся «из другого мира»?
  • Всё — один живой объект. В обычном компьютере есть жёсткая граница: ОС (на C/ассемблере), приложения, файлы, память, сеть. На Lisp-машине (особенно Symbolics Genera) — единое адресное пространство, где код, данные, состояние системы, окна, даже сам процессор (через микрокод) — это всё Lisp-объекты. Ты можешь инспектировать и менять любой кусок системы прямо во время работы, без перекомпиляции и перезагрузки. Это как если бы твой компьютер был одним большим REPL, который никогда не «умирает».
  • Инкрементальная разработка как норма. Сегодня мы гордимся hot-reload в некоторых фреймворках. Там это было базой: пишешь код → сразу видишь эффект → правишь на лету → сохраняешь в «world» (снимок всей машины). Сессии длились днями и неделями.
  • Tagged architecture и hardware-поддержка Lisp-примитивов. Обычные CPU тратят циклы на проверки типов. Здесь типы (integer, cons, symbol и т.д.) проверялись аппаратно, параллельно с операцией. Сборка мусора была эффективной благодаря железу. Это делало динамическую типизацию почти бесплатной — противоположность статической типизации в C.
  • Файловая система и конфигурация — не плоские тексты, а версиированные объекты с историей. Команды — не строки shell, а Lisp-выражения или презентационные UI (Dynamic Windows в Genera — предтеча современных GUI с мышкой и контекстными меню).
  • Сеть и протоколы — тоже «лисповые»: Chaosnet позволял передавать объекты почти прозрачно.
Это был мир, где компьютер — не инструмент для запуска программ, а расширение ума программиста, как у Smalltalk, но ещё глубже и мощнее.Почему эта ветвь почти вымерла?К середине 1980-х Lisp-машины были самыми крутыми рабочими станциями для AI: Symbolics 3600, TI Explorer, LMI Lambda. Они превосходили PDP-10 и ранние мини-компьютеры по скорости Lisp-кода и удобству.Но потом:
  • AI winter (зима ИИ) в конце 80-х — финансирование symbolic AI резко упало, а Lisp-машины ассоциировались именно с ним.
  • Восход RISC-станций (Sun, HP, DEC) на Unix + дешёвые компиляторы Lisp (Lucid, Franz). Вдруг обычное железо стало быстрее и в разы дешевле.
  • Микрокомпьютерная революция — PC и рабочие станции массового рынка победили дорогие специализированные машины (Lisp-машины стоили сотни тысяч долларов).
  • Проблемы модели: единое пространство — уязвимо для ошибок (нет изоляции процессов, слабая безопасность). Трудно «поставлять» готовый продукт (каждая машина — уникальный «живой» мир). Нет чёткого разделения «разработка / продакшн».
В итоге к началу 90-х большинство компаний закрылись или перешли на софт. Symbolics продержалась дольше всех, но тоже ушла в нишу (Open Genera до сих пор существует как эмулятор).

en.wikipedia.org
Что они оставили после себя?Много идей «перетекло» в mainstream, хоть и в ослабленном виде:
  • Garbage collection (теперь в Java, Python, Go и т.д.).
  • Интерактивные среды разработки (IDEs с live coding — от Smalltalk/Lisp к Jupyter, REPL в современных языках).
  • Современные GUI и оконные системы (Genera повлияла на ранние Macintosh и Windows).
  • Object-oriented programming в полной мере (Flavors → CLOS).
  • Идея «программа как данные» — макросы, метапрограммирование.
Сегодня Lisp-машины вдохновляют на размышления: а что если бы аппаратная оптимизация под высокоуровневый язык победила? Или если бы вместо C/Unix мы развивали системы «всё в одном языке»?Некоторые говорят, что современные GPU/TPU — это новые «Lisp-машины» для нейросетей: специализированное железо под определённую парадигму. Другие мечтают о возрождении: с нынешними объёмами памяти и мощностью можно построить «Lisp-машину» на обычном железе или даже на RISC-V с кастомным микрокодом. Есть эксперименты (эмуляторы вроде LM-3, Open Genera, проекты на Raspberry Pi), но пока это больше для энтузиастов.В каком-то смысле Lisp-машины — это как древние динозавры, которые были идеально адаптированы к своей нише (symbolic AI + хакерская культура MIT), но не пережили смену климата (массовый рынок + statistical AI + Unix/C). Они показывают, что компьютеры могли эволюционировать совсем иначе: не как набор слоёв абстракций, а как единая, живая, homoiconic среда.Если хочешь, могу углубиться:
  • как именно выглядела повседневная работа в Genera (скриншоты или описания),
  • сравнение с Smalltalk-машинами (Xerox Alto/Dorado),
  • или современные попытки возродить идею (Mezzano OS на Lisp, или проекты «Lisp machine on modern hardware»).
Это действительно одна из самых красивых «что если» в истории вычислительной техники.




Расскажи про повседневную работу в Genera
Сравни с Smalltalk-машинами Xerox
Расскажи про повседневную работу в Genera

Searching the web
42 results
Повседневная работа в Genera (операционной системе Symbolics Lisp Machine) сильно отличалась от всего, что мы привыкли видеть в Unix, Windows или даже современных IDE. Это был не «компьютер с программами», а одна большая живая Lisp-среда, где ты постоянно находился внутри REPL-подобного мира. Многие, кто работал на ней в 1980–1990-е, вспоминают это как «машину, которая была на 20–25 лет впереди своего времени» — настолько seamless и интерактивной была разработка.Как начинался день
  • Ты включал машину (или «cold boot» — загрузка «world» — полного снимка памяти). Загрузка занимала секунды-минуты, потому что весь образ уже содержал ОС, компилятор, редактор, отладчик и твои предыдущие изменения.
  • Экран сразу показывал Dynamic Lisp Listener — основной «терминал». Это не просто shell, а полноценный Command Processor (CP): ты вводил команды вроде Show Directory, Edit File, Compile System или прямо Lisp-формы (defun ...).
Внизу экрана всегда была status line (дата, время, пользователь, текущий пакет Lisp, состояние процесса). Под ней — две строки mouse documentation: они динамически подсказывали, что сделает каждый клик мыши (левая, средняя, правая кнопки + комбинации). Это было очень удобно: Genera активно использовала mouse chording (нажатие нескольких кнопок одновременно).Основные «активности» (activities) и как ты между ними перемещалсяВ Genera всё — это activities (коллекции окон и процессов). Ты мог иметь одновременно открытыми:
  • Zmacs — мощный Emacs-подобный редактор (SELECT E). Экран делился на основной буфер и минибуфер. Ты редактировал код, сразу компилировал отдельные функции (c-sh-C), запускал тесты. Поддержка версионирования файлов была встроенной.
  • Zmail — почтовый клиент (SELECT M). Полноценный, с summary window, где сообщения были кликабельными объектами.
  • Document Examiner — гипертекстовая система документации (SELECT D). Ты мог искать по символам, функциям, и она показывала не просто текст, а живые презентации.
  • Dired — редактор директорий (аналог ls + rm в одном окне, но с мышкой).
  • Lisp Listener — для экспериментов и команд.
  • Графические приложения, инспектор объектов, debugger и т.д.
Переключение — мгновенное: SELECT + буква (L — Listener, E — Editor и т.д.) или через System Menu (Shift + правая кнопка мыши). Никакого «закрыть одну программу, открыть другую» — все процессы работали параллельно, делили данные в едином адресном пространстве. Ты мог редактировать код, пока в фоне компилировалась система или шёл расчёт.Dynamic Windows — сердце интерфейсаС Genera 7 (1986) появилась Dynamic Windows — presentation-based UI. Это революция:
  • Всё, что выводилось на экран (файлы, числа, списки, объекты), запоминалось как typed presentations (с типом данных).
  • Ты мог кликнуть мышкой на любой вывод (даже прокрутив историю назад) и выбрать контекстное действие: «Inspect this object», «Edit this file», «Send this as mail» и т.д. Система сама предлагала релевантные команды на основе типа.
  • Окна имели историю вывода: можно было скроллить в прошлое, и старые объекты оставались кликабельными.
  • Command Processor понимал как текст, так и клики: команды имели typed parameters, автодополнение (completion), history.
Это делало интерфейс невероятно fluid — ближе к современным GUI с drag-and-drop и контекстными меню, но на 10–15 лет раньше.Типичный цикл разработки (edit-compile-debug)Это было самое сильное место Genera — инкрементальная разработка на стероидах:
  1. Пишешь/править код в Zmacs.
  2. Выделяешь defun и компилируешь его мгновенно (не всю программу).
  3. Запускаешь функцию прямо из Listener или из редактора.
  4. Если ошибка — автоматически входишь в Debugger. Он показывал стек, переменные, позволял инспектировать объекты, менять значения на лету, продолжать выполнение или возвращаться назад.
  5. Исправляешь прямо в debugger’е или редакторе — и продолжаешь без перезапуска.
Многие говорили: «edit-compile-debug cycle происходит так быстро, что ты практически делаешь всё одновременно». Никаких долгих rebuild’ов, никаких «перезапустить приложение».Другие повседневные задачи
  • Файлы и версии: LMFS автоматически сохраняла версии файлов (.1, .2 и т.д.). Можно было легко откатиться.
  • Системы: Код организовывался в «systems» — декларативные описания, которые компилировались/загружались целиком (Make System).
  • Инспектор и Inspector: Можно было осмотреть любой объект в памяти (структуры, closures, окна системы).
  • Сеть: Chaosnet или TCP/IP — файлы с удалённых машин открывались прозрачно.
  • Графика и мультимедиа: Поддержка высококачественной графики, даже анимации и звука (на поздних моделях).
Сессии часто длились днями: ты не выключал машину, а просто «suspend» задачи или сохранял world.Как это ощущалось эмоциональноЛюди, работавшие на Symbolics, описывают это как «магию» или «расширение ума». Ты чувствовал себя внутри компьютера, а не снаружи. Ошибка не убивала процесс — ты мог её починить и продолжить. Всё было связано: кликнул на символ → перешёл в документацию → в исходник → в debugger.Конечно, были минусы: единое пространство делало систему уязвимой к багам (одна ошибка могла «убить» весь world), машины были дорогими, и к 1990-м обычные Unix-станции догнали и перегнали по цене/производительности.Сегодня это можно попробовать в эмуляторах (Open Genera, LM-3) или на старом железе — и многие разработчики, попробовав, говорят: «Ничего подобного по удобству интерактивности до сих пор нет в mainstream».Если хочешь, могу рассказать подробнее про конкретный инструмент (Zmacs, Debugger, Dynamic Windows) или сравнить с современными IDE вроде Emacs + SLIME / IntelliJ. Или про то, как выглядел типичный рабочий стол на скриншотах.


Подробнее о Dynamic Windows
Сравнение с Smalltalk-машинами
Сравнение с Smalltalk-машинами

Searching the web
31 results
Lisp-машины (прежде всего Symbolics Genera) и Smalltalk-машины (Xerox Alto, Dorado, Dolphin, Daybreak и т.д.) — это две самые яркие параллельные ветви «живых» вычислительных сред 1970–1980-х. Они возникли почти одновременно в среде исследовательских лабораторий (MIT AI Lab для Lisp, Xerox PARC для Smalltalk), разделяют множество идей, но сильно отличаются в философии, архитектуре и ощущениях от работы. Оба подхода можно назвать «компьютерами из другого мира» — единая среда, где код и данные не разделены, а разработка инкрементальна и интерактивна.Общие черты (почему они так похожи)
  • Image-based система: весь мир компьютера — один большой «образ» (image/world), который загружается целиком. Ты не запускаешь «приложения» — ты живёшь внутри единого адресного пространства, где всё (код, данные, окна, даже ОС) доступно для инспекции и изменения на лету.
  • Live coding / hot reload: изменения кода применяются мгновенно, без перезагрузки. Можно править работающую программу, продолжать выполнение после ошибки, инспектировать любой объект.
  • Мощный интерактивный debugger и inspector: ошибка не убивает сессию — ты входишь в отладчик, смотришь стек, меняешь значения переменных и продолжаешь.
  • Графический интерфейс с мышкой: высококачественные bitmap-дисплеи, окна, меню. Оба повлияли на современные GUI (Macintosh вдохновлялся Smalltalk, Dynamic Windows в Genera — один из самых продвинутых presentation-based UI).
  • Дорогое специализированное железо: микрокод, tagged architecture или byte-code интерпретация для ускорения высокоуровневого языка. Оба были дорогими рабочими станциями.
  • Философия: компьютер как «расширение ума», а не как набор инструментов. Всё унифицировано: в Lisp — homoiconicity (код = данные в виде S-выражений), в Smalltalk — «всё есть объект» (включая классы и саму среду).
  • Судьба: обе ветви почти вымерли из-за AI winter, подъёма Unix/RISC-станций и «worse is better» (простота и переносимость победили глубину и элегантность).
Ключевые различияЯзык и парадигма:
  • Lisp-машина (Genera): основана на Lisp (ZetaLisp → Symbolics Common Lisp + Flavors/CLOS). Всё строится вокруг списков, функций, макросов и символов. Макросы позволяют радикально расширять язык. Объектная ориентация добавлена позже (Flavors → CLOS).
  • Smalltalk-машина: чистый объектно-ориентированный язык. «Всё есть объект», взаимодействие только через отправку сообщений (message passing). Нет макросов в классическом смысле — вместо них reflection и метаклассы. Синтаксис минималистичный (keyword messages вроде object do: something).
Архитектура железа:
  • Lisp-машины (Symbolics 3600, TI Explorer, LMI Lambda): специализированные стековые процессоры с tagged architecture (типы данных в hardware), микрокод напрямую ускоряет car/cdr, вызовы функций, GC hints. Очень эффективны для symbolic computation и AI.
  • Smalltalk-машины (Xerox Alto → Dorado): микро-кодируемые машины (Alto был bitmap-ориентирован, Dorado — быстрее, с byte-code интерпретацией). Не такие глубоко оптимизированы под язык, как Symbolics; иногда использовали одно и то же железо для Interlisp и Smalltalk. Alto был медленнее, Dorado — мощнее, но всё равно уступал Symbolics по скорости Lisp-кода.
Интерфейс и повседневная работа:
  • Genera (Lisp): Dynamic Windows + Command Processor. Всё — typed presentations (клик на объекте предлагает релевантные действия). Многооконность, mouse chording, Zmacs (Emacs-like редактор), Lisp Listener. Очень мощный для текстовой/символьной работы, гипертекстовая документация (Document Examiner). Ощущение — мощный REPL + IDE в одном.
  • Smalltalk: Morphic или ранние UI на BitBlt. Browser-based среда: Class Browser, System Browser, Workspace, Inspector, Debugger. Ты перемещаешься по классам и методам как по живому графу объектов. Более визуально-ориентированный, «всё можно потрогать мышкой». Изменение класса сразу влияет на все экземпляры. Ощущение — как живой мир объектов, где даже интерфейс можно переписывать на лету.
Организация кода и разработка:
  • Lisp: код в файлах (с версионированием в LMFS), организован в Systems (Make System для компиляции). Макросы и метапрограммирование позволяют bottom-up дизайн.
  • Smalltalk: код живёт внутри image как объекты-классы. Нет традиционных файлов — изменения сразу в образе (позже появились parcel/export системы вроде Envy для командной работы). Более seamless для рефакторинга, но сложнее делиться кодом между разными images.
Производительность и ограничения:
  • Lisp-машины часто быстрее для тяжёлых symbolic задач (AI, экспертные системы).
  • Smalltalk-машины (особенно ранние Alto) иногда описывали как «majestic to glacial», но Dorado был приличным. Smalltalk больше фокусировался на GUI и образовательных/симуляционных приложениях.
Культура и применение:
  • Lisp-машины: MIT AI Lab → коммерческие продукты для AI, CAD, graphics/animation (много ранней компьютерной графики на TV делали на Symbolics).
  • Smalltalk: Xerox PARC → исследования персональных компьютеров, OOP, GUI (влияние на Macintosh). Больше образовательный и прототипный акцент.
Что осталось в современном миреОба подхода подарили нам:
  • Garbage collection, live environments, powerful IDEs (от Eclipse/IntelliJ до Jupyter).
  • Reflection, метапрограммирование, dynamic typing.
  • Идею homoiconic / uniform модели (в Lisp — S-expr, в Smalltalk — объекты).
Сегодня можно попробовать оба в эмуляторах:
  • Lisp: Open Genera, LM-3.
  • Smalltalk: Squeak, Pharo, Cuis (они сохранили дух image-based среды).
В итоге Lisp-машины были «глубже» в symbolic power и hardware optimization, а Smalltalk — «чище» и радикальнее в объектной унификации и визуальности. Многие считают их двумя сторонами одной медали: «Lisp — code as data», «Smalltalk — everything as object». Вместе они показывают, насколько богаче могла быть эволюция компьютеров, если бы не победила Unix/C-модель.Если хочешь углубиться в конкретный аспект (например, как выглядел браузер в Smalltalk vs Zmacs в Genera, или сравнение debugger’ов), или посмотреть на скриншоты/эмуляцию — скажи!
 
Ну просто тату логично писать такое, это их стилистика, отчасти. Я бы ожидал от них про белочек и зайчиков именно.
To view this content we will need your consent to set third party cookies.
For more detailed information, see our cookies page.
View: https://youtu.be/n2I911Aszxg?si=NdTIap1BzYMpCrsD

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

LGBT*

В связи с решением Верховного суда Российской Федерации (далее РФ) от 30 ноября 2023 года), движение ЛГБТ* признано экстремистским и запрещена его деятельность на территории РФ. Данное решение суда подлежит немедленному исполнению, исходя из чего на форуме будут приняты следующие меры - аббривеатура ЛГБТ* должна и будет применяться только со звездочкой (она означает иноагента или связанное с экстремизмом движение, которое запрещено в РФ), все ради того чтобы посетители и пользователи этого форума могли ознакомиться с данным запретом. Символика, картинки и атрибутика что связана с ныне запрещенным движением ЛГБТ* запрещены на этом форуме - исходя из решения Верховного суда, о котором было написано ранее - этот пункт внесен как экстренное дополнение к правилам форума части 4 параграфа 12 в настоящее время.

Назад
Сверху