1 (изменено: Freeman, 08.07.2016 в 20:15)

Тема: Темы будущих обсуждений и лекций

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

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

Философско-маргинальные темы:

  • Американский и неамериканский способы решения задач. Маленькие и острые утилиты UNIX, toolchain. Русский след в программировании. Русское программирование объективно существует? Каким должен быть русский по духу язык программирования.

  • История Паскаля и Си глазами "Канторовых систем". Какой синтаксис круче? Важен ли синтаксис вообще? Европейские и американские языки и IDE. Первая в мире IDE. Культура F5 и культура F9.

  • Национальная ОС и государственный интегратор. Как должен выглядеть честный тендер на разработку национальной ОС. Какой может быть национальная ОС.

Проектирование, архитектура, ведение проектов:

  • Языки программирования с грузом совместимости и современные. Равенство системных и прикладных программистов. Как отличить хороший язык от плохого. (эту тему я уже пытался проговорить в старом цикле лекций, но ничего не получилось)

  • Объектно-ориентированная операционная система, чем она отличается от обычной. Классическая реализация -- Smalltalk/Squeak, 20000 строк Алана Кея. Windows Cairo -- канонический провал проекта ОООС. ОС как абстракция двоичных интерфейсов.

Реализация языка Кантор:

  • Последние изменения в Канторе: DSL встроенных типов и операций, итераторы (будет первая попытка проговорить итераторы, наверняка блин выйдет комом)

  • Блочный new в Канторе как способ описания данных, аналогичный XML или JSON. Объектный код Кантора. Универсальный двоичный контейнер -- аналог Google Protocol Buffers.

  • Управление памятью в Канторе, выделение памяти и передача владения.

  • Концепция объектов первого класса: что она дает и что покрывает. Суперкомпиляция в рамках Кантора. Исключения первого класса.

  • Функциональное и императивное программирование на Канторе: функции и процедуры, переменные, свойства. Заимствование концепций СУБД, почему не нужны монады. Система типов Хиндли-Милнера, вывод типов. Перегруженные функции, свойства, классы, переменные.

2 (изменено: Freeman, 25.01.2017 в 19:25)

Re: Темы будущих обсуждений и лекций

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

Критически важные темы, должны быть проговорены до 1 апреля:

Полезные для развития проекта темы без привязки к датам:

  • Особенности объектного кода Кантора. Обратимый код — не байт-код. Гипотеза о минимально необходимом наборе примитивов — передовая идея новых ИТ.

  • Хранилище обратимого кода. Гибкость и отсутствие умолчаний. Принцип "как в играх".

  • Цикл разработки на Канторе — от исходника до исполнимого файла. Скриптовая идеология в Канторе. БД кода как пакетный менеджер.

  • Проблема разыменования ссылок и действий над объектами по ссылке. Матрица действий, ключевые слова ее для реализации.

  • Модель памяти в Канторе. Передача параметров и управление памятью.

  • Импорт системных функций, соглашение вызова. Работа с описателями (handle) в языке с объектами первого класса.

  • Виды наследования в Канторе. "Волшебное" ключевое слово from. Кантор как СУБД. Реализация триггеров средствами ООП.

  • Объекты первого класса, исключения первого класса, но не функции первого класса.

  • Функциональное программирование — курс молодого бойца. Кантор как первый язык программирования. ФП в средней школе.

  • Язык с бесконечным числом синтаксисов. Альтернативные синтаксисы Кантора — необходимые и экспериментальные.

Частично обсужденные темы, но повторение — мать учения (плюс развитие теорий не стоит на месте):

  • Теорема о множественном наследовании. Нормализация классов в ООП. Фрактальная модель — объектно-ориентированная ОС и объектно-ориентированная СУБД в одном флаконе.

  • Классы как функции состояния, обобщения как функции высшего порядка. Частичное применение обобщений и обобщения-кортежи в Канторе.

Теоретические и политические темы:

  • Растровый и векторный графический интерфейс. Концепции GUI ОС и стандарты W3C, противоречия между ними. Интерфейс, управляемый данными.

  • ZUI как следующий шаг после GUI. Реализация ZUI в псевдографике.

  • ОС на функциональном языке.

  • Культура ОС/языка и терминология. Как делаются культовые проекты? Как продвинуть русскую культуру в современных условиях — по аналогии с японской и корейской?

  • Реализация стратегических проектов. Рецепт Джоэля Спольски по разорению конкурентов. "Секретный пункт" в плане. Секретный пункт Си в плане Оберона как причина его провала.

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

Темы на лето — когда думать уже жарко, поэтому говорить хочется только о чем-то легком:

  • Вики-разметка в Канторе — семантическая единая вики разметка. Понятие среды вики-разметки. Функциональное программирование в вики-разметке.

  • Документирование кода вики-комментариями — пример использования семантической разметки, погруженной в насыщенную внешнюю среду.