Рекомендуемое 

Компонентный ассемблер для цифрового пространства. Часть 1

Maurits-Esher-reptilies

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

Если присмотреться, цифровое пространство с точки зрения оборудования (железа) уже в достаточной мере построено, достаточно обратить внимание на насыщенность мира вычислительными узлами, средствами коммуникации и облачными сервисами.

В то же время, единое программное цифровое пространство не существует. Существует несколько экосистем, слабо связанных друг с другом. Разработка внутри одной экосистемы (iOS, Android, Java, …) существенно проще, чем разработка, затрагивающая несколько экосистем. Замечу, что границы между экосистемами искусственно выстроенные, их могло не быть, так как использованное оборудование, в сущности, универсально.

Так как я осознаю себя, в первую очередь, инструментальщиком (компиляторы, технологии разработки и средства разработки) и архитектором, я вижу странность в движении к цифровому пространству именно в своей области компетенции.

Возьмем простой пример. Язык Go [1], по многим характеристикам, является вполне подходящим для создания частей цифрового пространства. Особенно, если обратить внимание на подход к OOP (интерфейсы, отсутствие наследования и утиная типизация). Но, одновременно, в Go постулируется, что это язык для разработки (монолитных, статически линкованных) программ, что странно: шаг вперед, два шага назад.

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

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

Нужен ли нам вообще язык программирования для поддержки программирования межкомпонентного взаимодействия? Или нужна, скорее, некая надстройка, типа IDL (Interface Definition Language) вместе с обеспечивающими взаимодействие инструментами?

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

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

Если мы примем, в качестве рабочего, предположение, что экспериментальный язык ускорит разработку (а не замедлит её, так как язык/компилятор/RTS тоже надо разрабатывать), то можно перейти к перечислению требований к такому экспериментальному языку.

pdf
Имя файла: ass
Размер файла: 441 kb
Скачать файл
...

Компонентный ассемблер. Часть 2. Дух языка - Цифровая экономика

Общеизвестно, что 2018 год стал переломным годом для русской философии. В этом году были сформулированы окончательные (ultimate) ответы на «вечные» русские вопросы «Кто виноват?» и «Что делать?» (ответы приписываются С. Лаврову и капитану «Беззаветного», см. соответствующие разделы учебника). Начиная с 2019 г. основным вопросом русской философии стал вопрос: «Как cделать?»

«Краткая история русской философии», Галактопедия, 2119 г.

Читайте также:

 

Комментарии

Нет комментариев. Будь первым, кто оставит комментарий.
Гость
18.02.2019
трансакционные издержки цифровое общество технология общего назначения цифровая трансформация Институт Шифферса Китай Лаборатория АН2 медицина будущего цифровая грамотность Радд ЕАЭК детерминирует в индивиде способность быть и оставаться причиной самого себя Искусственный интеллект ПМЭФ-2017 комплементарные связи cборочное программирование являя собой свободное действие фото мультиплатформенные программы Байконур сквозное управление асимметрия информации региональная экономика импортозамещение умное производство идемпотентное сложение Мартин Форд Идентичность обладает свойством структурного многообразия Информационные технологии сквозная учетная технология цифровое пространство децентрализация предиктивное моделирование экосистема бизнеса цифровые платформы бинарные компоненты форум ГУУ Свобода в первоначальном смысле требует усилий Сочи2016 интерналии технология разработки программ модель content институты развития эконометрическое моделирование аддитивные технологии отождествлённое со свободой экономика связей Дальний восток интернет вещей Знаниевые технологии Интернет объектов Центр Проектирования Будущего ПМЭФ2016 OpenSource S-образная кривая ИТ-активы smart contract ВЦ РАН индикаторы космическая шина биткоин Преобразование Дальнего Востока России IT-активы цифровой рубль проверка гипотез онтологии продвинутая бизнес-аналитика цифровая страна схема программы космический мнтернет теория игр ОБЬ Страны АТР комбинаторный взрыв Видео космосеть сквозная производственная технология искусственный метеллект цифровое будущее теорема об отсчетах цифровая корпорация Роботы наступают социально-хозяйственная система блокчейн средства разработки Интернет Лайт АН2 ЦЭМИ цифровая экономика сингулярность инновационная компания
Подождите минутку, пока генерируется календарь