Информация об изменениях

Сообщение Модульные системы программирования от 08.07.2020 1:15

Изменено 08.07.2020 1:18 Разраб

Модульные системы программирования
Наткнулся на описание Oberon (система Black Box).
https://oberoncore.ru/library/gubanov_sekrety_modulnyh_sistem
Внезапно осознал, что мало какие ЯП являются модульными.
И еще поразило, вот это:

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


Уже второй раз нахожу подобную мысль.
Уолтер Брайт:

Один мой коллега с богатым производственным опытом заметил,
что IDE – необходимый для программирования инструмент,
потому что позволяет одним щелчком мыши сгенерировать сотни строк стандартного кода.
При использовании языка D нет острой потребности в IDE, поскольку,
вместо того чтобы полагаться на фокусы генерации «заготовок» разного рода
«помощниками», D исключает саму идею стандартных заготовок, применяя
интроспекцию и собственные возможности генерации кода.
Программист уже не увидит стандартный код.
О присущей программам сложности заботится язык, а не IDE.


Даже удивительно, что в 2020 UI (Black Box) занимает 500K ОЗУ.
Полез в ютуб — оказалось в РФ очень активно его используют для прошивки железа, но и для современных задач(типа рисования в html5).

Т.е. по сути весь огород с версиями сборок в .net оказался фикцией, разбивка на модули сделана лишь частично.
В настоящее время основной подход — монолит. Разделение интерфейсов только на уровне кода.
Модульные системы программирования
Наткнулся на описание Oberon (система Black Box).
https://oberoncore.ru/library/gubanov_sekrety_modulnyh_sistem
Внезапно осознал, что мало какие ЯП являются модульными.
И еще поразило, вот это:

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


Уже второй раз нахожу подобную мысль.
Уолтер Брайт:

Один мой коллега с богатым производственным опытом заметил,
что IDE – необходимый для программирования инструмент,
потому что позволяет одним щелчком мыши сгенерировать сотни строк стандартного кода.
При использовании языка D нет острой потребности в IDE, поскольку,
вместо того чтобы полагаться на фокусы генерации «заготовок» разного рода
«помощниками», D исключает саму идею стандартных заготовок, применяя
интроспекцию и собственные возможности генерации кода.
Программист уже не увидит стандартный код.
О присущей программам сложности заботится язык, а не IDE.


Даже удивительно, что в 2020 UI (Black Box) занимает 500K ОЗУ.
Полез в ютуб — оказалось в РФ очень активно его используют для прошивки железа, но и для современных задач(типа рисования в html5).

Т.е. по сути весь огород с версиями сборок в .net оказался фикцией, разбивка на модули сделана лишь частично.
В настоящее время основной подход — монолит. Разделение интерфейсов только на уровне кода.

PS можно считать динамические языки типа common lisp, clojure модульными?
PS PS можно считать скриптовый режим F# модульным:
#load script-v1.fsx?
#load script-v2.fsx?