Pull to refresh
-8
0
Иван Левашев @OCTAGRAM

Удалённый программист Delphi+Ada

Send message

У женщин нет морального права ложиться под гопников. Ни просто так, ни для детей. А дети из детдома как раз такие и будут в большинстве, так что нет.

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

обсуждения API очередного фреймворка в ближайшие 20 лет

Это если встретились два кодера. Для интереса надо, чтоб два творца

Мы не перебирали адаптеры и мониторы в порядке их выхода. EGA была года до 2003го. Поэтому с EGA апгрейд был сразу до SVGA

На EGA без шансов. А была именно EGA. У неё другой разъём для монитора на карте, и у самого монитора другой разъём. Чтоб это всё поменять, одновременно и карту, и монитор нужно было купить недешёвые.

Основные игры были на DOS. DOS можно подразделить на то, какой монитор был и процессор, потому что у меня, например, EGA. На ней были хиты Apogee и id: Secret Agent, Crystal Caves, Commander Keen, Bio Menace, Duke Nukem I, Dangerous Dave и всякие нехитовые, но отлично в своё время зашедшие Future Classics Collection.

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

Денди, Сеги, PS прошли мимо меня. Почти. Когда SVGA появился, на домашнем компе был KGen.exe для DOS, и в нём с сохранениями были пройдены Battle Toads, Cool Spot и некоторые другие хиты. У Cool Spot и многих других игр была DOS-версия, но я не мог пройти их без сохранений. СЛОЖНО!

Из ярких воспоминаний: помню, как после школы заходил в один и тот же магазин и смотрел на клавиатурный Сюбор. Особенно на его LPT-порт. Изучал через стекло витрины содержимое картриджа, а там F-BASIC, G-BASIC загадочно манили. У себя дома в DOS у меня были Quick BASIC и Borland Pascal. А вот бы соединить компьютер с Сюбором по LPT! И запрогать с двух сторон. А как в этом F-BASIC прогать LPT?

Много позже я узнал, что, оказывается, Денди не был оригиналом, а оригиналом был какой-то NES. И Сюбор не склонировал Денди и не придумал клавиатуру, а Денди и Сюбор вместе клонировали NES, а для NES была клавиатура. И всё это вместе значит, что можно ROM от Сюбора запустить в nestopia, и там даже клавиатура поддерживается. Запустил. Добрался до этого F-BASIC. Увидел в статусе вверху сообщение: осталось памяти 2Кб. Это был приговор. Очень рад, что в моём детстве был не Сюбор, а DOS.

Впрочем, идея соединить компьютер с Сюбором по LPT себя не изжила. Может быть, я ещё до этого доберусь, но не на F-BASIC, конечно, а компилятором NES ROM. Мне нравится, как выглядит клавиатура Сюбора. Очень похоже на компьютерные клавиатуры той эпохи, но NES. А ещё там кириллица больше латиницы. Я бы мог запрогать ROM передавать нажатия по LPT и превратить Сюбор в импровизированную клавиатуру, чтобы он служил мне, потому что другого применения не могу придумать. Игры для Денди по сравнению с DOS слишком простые по механике, и обычно ещё более сложные, я в такое не могу играть.

В оригинальном NES Famicom клавиатура отдельно, и мои братья по разуму уже сделали переходники, которые клавиатуру и джойстики Денди подключают по USB к компьютеру. Но оригинальная клавиатура NES Famicom ужасно выглядит. А у Сюбора, такое дело, клавиатура не внешняя, а весь корпус клавиатура, поэтому этот переходник готовый не с чем соединить. Видимо, только через LPT соединяться

Собрался, сделал видеоответ на растиражированную неправду про отрисовку зеркал

Неправда:

Движок копирует реальность, но в момент загрузки уровня. Он находит все зеркала и копирует «отражение» в зарезервированную область.

Правда:

Движок ставит камеру по обе стороны зеркала и совмещает изображение с обоих ракурсов, при этом зазеркалье имеет более низкий приоритет, чем обычная картинка.

Все видео в статье так специально подстроены, что игрок почти не оглядывается назад. Вам вроде бы показали что-то, но не показали. А если смотреть назад, то выход из зазеркалья просвечивает сквозь все стены, что сложно было бы сделать при копировании реальности, зато легко при наложении картинок с двух ракурсов.

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

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

В Delphi эта проблема не решена. Чтоб пощупать, можно сделать Delay(10) в AddRef и Release, и попытаться работать из разных потоков в стиле, приближенном к естественному. Надёжная реализация слабых ссылок обалдеет, но честно покрутится в спинлоке, пока работает долгий AddRef. Delphi так не делает и разваливается. Я решение нашёл только в том, чтоб атомарной заменой перезаписывать саму ячейку, где лежит слабая ссылка, пока не отработает AddRef, и пока в ней признак блокировки, занулятор слабых ссылок крутится и ждёт.

Другое решение относится к архитектуре, когда для слабых ссылок отдельный более долгоживущий объект создаётся. Счётчик ссылок можно перенести в этот объект, и тогда CAS на нём заменяет более муторную схему со спинлоком на слабой ссылке.

Думал, как ещё можно устранить зазор. Неприятно, что для нативных потоков в общем нет какого-то взгляда Бога, нельзя увидеть, что поток уже зачитал слабую ссылку в регистр. Или можно? Напрашивается ещё такая схема: каждый поток регистрируется и получает TLS. В этот TLS он журналирует: я сейчас собираюсь получить такую-то слабую ссылку, а потом убеждается, что она всё ещё там, в ячейке, и только после этого идёт в AddRef. Деструктор не может отработать, пока есть поток, зачитавший указатель, но ещё не понявший, что дело идёт к концу.

какое советское кино, которое никуда нельзя вставить

Ну попробуйте вставьте фрагмент, страйк будет за копирование общественного достояния. Вот типичный ролик, где приходится специально укорачивать видеоцитаты, чтоб страйка не было. Вы этого не знали?

И за прощание Славянки, и за многие другие военные песни в общественном достоянии страйки прилетают. Монтировал про ветеранов, вся лента в страйках была. Вымарывается всё советское. Видимо, успешно, раз вы даже не знаете о таком явлении.

какие шедевры в застенках

Ада-Эльбрус проецирует адскую синтаксическую инкапсуляцию памяти на аппаратную защиту советского Эльбруса, и это круто. Современный lcc -mptr128 пытается натянуть сову на глобус. Входным языком берёт не Аду, а Си, где нет синтаксиса для контроля целостности и инкапсуляции. Например, в языке Ада можно передать в процедуру отрезок массива, и Ада пресечёт выход за этот отрезок, а современный Эльбрус поймает только выход за весь массив. Синтаксиса для сужения диапазона жирного указателя в Си нет.

Вот и где Ада-Эльбрус лежит, очень мне интересно, и как она там оказалась, и почему не в общественном достоянии.

Какие фашисты, какие вектора на самоуничтожение

Я согласен с официальной китайской версией о том, что СССР пошёл после 60х не туда.

Вон Паронджанов рассказывает регулярно, что на ДУРАКОНе софт Бурана проектировался…

Про Буран не знаю, но если вы посмотрите, какие языки программирования получили ГОСТ, а какие не получили, хотя, казалось бы, ровесники, то заметите некоторый уклон советской науки. Для большей рельефности можно поинтересоваться, сколько странице в ГОСТе, как положено много или 4 страницы, и на предпоследней написано настоящим стандартом считать ISO такой-то. Так можно понять, что учёные считали нужным, а что — нет.

а оно вообще было? не в виде «в придуманной всеми красивой и логической схеме проекта...», и не в виде «законченой Сережей части», не вписывающейся в проект, а в виде готовых распространяемых продуктов типа «несоветских Ada/Ed, Mesa и MULTICS»? Вот представьте, получите вы сейчас «расово советские электронные таблицы ВАРИТАБ», заглянете в них — а там не везде убрано слово «SUPERCALC». вот ведь позорище будет… а если так будет с 2/3 расово советских трансляторов с АДА?

Вот чтоб таких кривотолков не было, и нужны артефакты расово советских Ершолов и пр.

9. Рыбин С.И. рассказал о методике тестирования диагностики транслятора (вообще, и языка Ада в частности), разрабатываемой в МГУ под руководством Кауфмана В.Ш. Приведены данные по оценке качества и диагностики трех трансляторов Лада, Ада-Эльбрус и венгерская Ада ЕС; из них видно, что качество диагностики Ада-Эльбрус – лучшее из трех систем.

В чём-то же они ковырялись.

я и в студенческие (советские) годы не сильно много отечественного софта видел… т.е. заговор против советского софта начался в минимум в 1984? Т.е. как у Ерофеева? «Антирусский заговор, безусловно, существует – проблема только в том, что в нем участвует все взрослое население России»?

Я так понимаю, Ада-Эльбрус как раз в НФ ИТМиВТ была, и сейчас этот шедевр лежит в застенках либо МЦСТ, либо УниПро. И цитата про устройство антисоветского заговора не так уж далека от истины. Вот эти МЦСТ и УниПро шедевром не хотят поделиться с миром, лежат как собака на сене. А ещё, пока я рылся в этой теме, нашёл кучу книг под авторством Запреева, вот только электронных версий у них нет в Сети.

И тут у меня просто рвётся шаблон. Да был бы я автором, давно уже отсканил. Если нельзя официально, выложил бы пираткой. Если они всё ещё представляют коммерческую ценность, договорился о продаже хотя бы через Print-on-Demand. И пусть все знают, какой я умный. Но Сергей Запреев ничего такого не сделал. Томятся где-то в застенках библиотек книги неоцифрованные. Томится где-то в застенках лучшая советская Ада-Эльбрус. Забава отечественная, свои шедевры хоронить в застенках.

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

Если политический строй был нацелен на самоуничтожение — может, и правильно, что ему дали самоуничтожиться?

Вектор на самоуничтожение придали фашисты. Хотя физически не сломили, но выбили самых лучших, и неваляшку нашу наклонили так, что она всё же упала. Не считаю правильным дело фашистов и его долгосрочные последствия.

слишком много слов ради слов

Расскажите мне автор, как без end писать повышающие читаемость проверяемые утверждения о том, что именно закрывает оператор.

with Ada.Text_IO;

procedure To_Be_Or_Not_To_Be is
begin
   Reasoning :
   for To_Be in False .. True loop
      if To_Be then
         Ada.Text_IO.Put_Line ("To be!");
         exit Reasoning;
      end if;
   end loop Reasoning;
end To_Be_Or_Not_To_Be;

Как вы собираетесь loop Reasoning переписать без end? Меняем end на фигурную скобку, loop Reasoning оставляем? Смешно.

Кстати, у Java большой популярностью пользуется XML, и там проверяемое указание, что именно закрывается, почему-то программистам не мешает. Когда уже давно есть JSON, джависты всё равно выбирают многословный XML. А ведь программный код человеку читать тоже нужно, там читаемость нужна даже больше.

Ещё я интересовался Apple-аналогом JSON, Property Lists. Жаль, за пределы их экосистемы не распространился. Так вот, когда-то давно, в 90х, у них был ASCII-синтаксис, и они с него перешли на XML-подобный, где видно, что чего закрывает.

Сломить взятый политический курс на самоликвидацию не смогли, конечно, с уровня Академии наук, но что им позволялось, то шло отлично, явно лучше, чем сейчас, когда никто не занимается.

чертовщина же: академии есть, ученые работающие на благо страны есть — а софта нет

Спорное утверждение. Вот, например, по моим ссылкам упомянуты 7 советских трансляторов языка Ада и два зарубежных, ГДР и Венгрия. 9 трансляторов языка Ада!

У меня вопрос, а куда это всё делось? Ведь я же могу почитать исходные коды несоветского Ada/Ed, исходные коды несоветских Mesa и MULTICS, не говоря уже о до сих пор поддерживаемых Emacs.

Продолжая тему, Вера Петрашкова рассказала о долгих дискуссиях в проекте Ада-Эльбрус, относящихся к договоренности относительно имен процедур и функций и переменных. Сережа Запреев, уставший от этих долгих обсуждений, перестал принимать в них участие и перешел непосредственно к программированию. Когда через некоторое время, придя к консенсусу, участники проекта собрались перейти к кодированию, оказалось, что Сережа свою часть уже почти закончил. Но она совершенно не вписывалась в придуманную всеми красивую и логическую схему проекта...

Очень хотел бы посмотреть на неправильно названные процедуры и переменные советского учёного Сергея Запреева, но почему-то не могу, и так со всеми 7 трансляторами. Все 7 куда-то запропастились.

А из-за того, что они потерялись, начинают циркулировать вот такие слухи о том, что не было софта. Да нет, был, но кто же его хоронит принудительно, чтоб из текущего дня казалось, что не было?

Что касается глюков, так ведь никто не умеет. Человек не машина. Поэтому человеку нужно помогать, подпорки ставить, перекрёстные проверки делать, взаимоисключающие параграфы искать.

А вот и ещё идея для школы. Развенчивать миф о суперменах нужно тоже в школе. А то 40 лет мудрецы думают, как бы безопасность языка повысить. Добавляют кучу проверок в рантайме, которые можно включать-отключать. Придумывают новые профили многозадачности с разными ограничениями на свободу действий. Добавляют программирование по контракту, с инвариантами типов, предусловиями и постусловиями. При помощи предикатов монтируют предусловие внутрь подтипов. Развивают верифицируемое подмножество SPARK с контролем побочных эффектов и возможностью доказать отсутствие исключений в рантайме.

Но стоит только нанять супермена, как все эти 40 лет жизни в мудрости становятся ни к чему. Ведь у нас есть супермен. Супермен выиграет в шахматы у компьютера. И супермен не сделает ни одной катастрофической ошибки, которую мог бы предотвратить инструментарий. А ещё, когда в бедном на вопросы безопасности синтаксисе языке программирования просто нет синтаксиса выразить свойства программы, супермены сами, без принуждения, пишут утверждения в комментариях, которые невозможно записать в синтаксисе, как это сделано в более богатых языках программирования:

http://www.ada-auth.org/standards/2xrm/html/RM-A-18-5.html

И если одного супермена уволить, другого нанять, то он загрузит в голову всю базу утверждений о целостности программы и данных, и будет им следовать.

Вот так и происходит разработка на глючных языках программирования. Везде, где люди себе разрешили программировать на C++ вместо обычной Ады, набирают только суперменов, и работают нанятые супермены именно так.

Самое главное в работе супермена — это вера в слово джентельмена. Супермен — этот тот, кого не поймали на косяке. А чтобы было больше суперменов, должно быть меньше инструментов выявления косяков, или они должны быть как можно хуже, с ложными срабатываниями, под которые можно всё подгрести. Вот для Си есть верифицируемое подмножество ACSL. Но для ACSL нет компилятора, который бы инварианты, записанные этим синтаксисом, мог проверить в рантайме, на случай, если весь код не получается загнать в Frama-C. Отлично! Пока миллион роутеров не взломают, супермен может спать спокойно. Это ещё когда будет. А для C++ нет даже и верификации, есть только MISRA C++, с ложными срабатываниями или без обнаружения ошибок. Ещё лучше. Отличный язык программирования для суперменов. Давайте миллион строк кода на C++ напишем, чтоб потом ни в жизнь это не исправить было. Но ведь исправлять и не придётся. У нас же все супермены, и мы верим им на слово.

А Ада, с её CodePeer и gnatprove, с единым синтаксисом для рантайм проверок и верификации, — да это же кошмар. Каждого супермена, того и гляди, компилятор будет ежедневно унижать, тыкать как котёнка в мочу. У нас так суперменов и не останется вовсе. Что ж мы без суперменов делать будем. Пропадём совсем.

Что касается тормозов, на этот счёт был разбор тут. Единственный способ писать быстро на языках с принудительной непрошенной трассирующей сборкой мусора — научиться обходиться без сборки мусора.

Я занимался мобильными играми на Java… Лучший способ избежать сборки мусора (которая будет происходить в произвольный момент времени и убьет производительность игры) — вообще не создавать объекты в основном цикле. Другого пути нет… Только хардкор ручное управление объектами, увы. Так делают все основные высокопроизводительные игры на мобильных устройствах.

Если он тормозит или глючит - значит кто то просто в него не умеет

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

Чтобы понять, как мы к этому пришли, надо начать с СССР. В СССР не просто образование было системой, а всё в эту систему входило. То есть, вот есть СССР, и у этого СССР есть голова, и СССР этой головой думает, и мысли транслирует дальше подчинённым органам. Давайте почитаем, как жил СССР:

https://www.nfitmivt.ru/press/?article=369 https://www.iis.nsk.su/memories/wgroup_6

Обратите внимание, кто здесь субъект действия. Академия наук. Институт. Рабочая группа. То есть, настоящие учёные. И работают эти учёные в интересах страны, а не в интересах частного кармана. Учёный, работающий в интересах страны, может и делает как лучше. С ним можно поговорить о том, как сделать лучше.

В СССР, как не стало Сталина, задавили личную инициативу. Зря. Ну а сейчас маятник в противоположной стороне.

Сейчас голову отрезали. Академия наук не пишет нам ОС. Не пишет трансляторы. Всё барыги да барыги. С барыгой вы так не поговорите, как лучше. Барыга трясётся в первую очередь за свой карман, и кто на него работают, тоже оторваны от остального общества. И не надо смотреть в рот барыгам. Там ничего нет. Если барыга выбрал какой-то язык программирования, то это не потому, что он умный такой. Нет.

Вот вам зарплата вовремя не придёт, и побежите вы снимать аренду с кредитной карты, с процентами и без льготного периода. Не потому что умный. А потому что пришлось. Вот так же и барыга. Пришлось C++. Пришлось Питон. Пришлось. Нет сил сделать как надо, делаем тяп-ляп. А школота восхищается, принимает за чистую монету.

Всё, что делают частники, — это умереть завтра, а не сегодня. Я сколько работал, у всех цейтнот. Раньше-то у учёных было социалистическое соревнование, но был и обмен. А сейчас никто ничем не делится. Сидят барыги по углам врозь — плохо, обмена опытом нет, каждый заново с нуля делает, и каждый в цейтноте. Договорились барыги, трест образовали — тоже плохо. Можно сидеть, стричь купоны и не развиваться. И вот на этих людей вы равняетесь как на образец?! На барыг.

У нас в стране сейчас потребность есть криптографию внедрить собственную и операционную систему. Но занимаются этим частники. Частники пишут криптопровайдеры, частники выпускают дистрибутивы Линукс. Ну, если в Линукс взаимообен ещё возможен, то криптографию окучили недружественные друг к другу частники, и поэтому у нас не глобально OpenSSL, NSS и SparkNaCl поддержали ГОСТ, а только из частных рук можно получить особую сборку, подчас с нарушеним GPL. И от того, что наши ГОСТ не внедряются, пока кто-то не заплатит, в транснациональных продуктах их из коробки не появляется, и криптография по факту чужая.

Да оттуда кричат о помощи. Спасите, помогите! Мы после того, как зашли в болото, только и делаем, что тонем в нём. Бултыхаемся тщетно. Изнутри спасение не придёт. Спасения приходится просить снаружи, там, где коммерциализация ещё не убила здравый смысл. Вот, например, в школе и в университете. Пусть в школе и университете учат как надо, по высшему разряду. Прививают хороший вкус. И для этого подходит Паскаль, а ещё лучше Ада. С модульностью и типизацией. Да, в производстве может потребоваться погрузиться в кровавый энтерпрайз. Но хотя бы пример перед глазами хороший был. Может быть, как-нибудь, всё же выкарабкаемся из болота, из всех этих плюсов и питонов. Без функционирующего государства, без Академии наук сделать это будет не так-то просто. Но теплится надежда. Будет когда-нибудь свет в конце тоннеля. Отыграем всё назад.

И поделюсь своими соображениями, чего не хватает. У нас информатика однобоко подаётся как алгоритмы, но есть ведь и разные способы их закодировать, повыворачивать наизнанку. Например:

  1. пишем рекурсивную программу на системном стеке

  2. заменяем системный стек пользовательским

  3. заменяем пользовательский стек чем-то, что не стек, а, например, очередь

Также стоит научить вручную делать:

  1. стиль передачи продолжений (continuation passing style)

  2. батутизация (trampolined style)

  3. корутинизация (активный обход дерева с какой-нибудь изюминкой в структуре переделать в пассивный генератор)

Я вижу зияющую пропасть в преподавании этих техник. Это какая-то ненастоящая информатика, не достойная преподавания. Но почему?

Если у нас в старших классах было интегрирование рациональных функций с полинонами в числителе и знаменателе, и мы кропотливо раскладывали на сумму a/(bx+c), которые интегрируются в логарифм, то почему бы и на информатике что-нибудь кропотливо не разложить? Вот это в жизни, мне кажется, пригождается, а кто не знает, тот лажает на ровном месте.

Зачем учить школьников языку, который им не пригодится.

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

Чтоб на экзамене ОГЭ примерно так:

Выберите один ответ

Язык C++:

  1. [_] Не тормозит и не глючит

  2. ​[X] Не тормозит, но глючит

  3. [_] Тормозит, но не глючит

  4. [_] Тормозит и глючит

Язык Java:

  1. [_] Не тормозит и не глючит

  2. [_] Не тормозит, но глючит

  3. ​[X] Тормозит, но не глючит

  4. [_] Тормозит и глючит

Язык Python:

  1. [_] Не тормозит и не глючит

  2. [_] Не тормозит, но глючит

  3. [_] Тормозит, но не глючит

  4. ​[X] Тормозит и глючит

Язык Ada:

  1. ​[X] Не тормозит и не глючит

  2. [_] Не тормозит, но глючит

  3. [_] Тормозит, но не глючит

  4. [_] Тормозит и глючит

Школьники старше итераторов в Паскалях, а ваши представления о Паскалях ещё старше этих школьников.

Синтаксис for-in-do появился в Delphi 2005, а в Delphi 2009 появились из коробки обобщённые контейнеры, к которым их интересно применить.

В языке Ада было в другом порядке: в ISO стандарте Ада 2005 появились контейнеры вместе с курсорами, а синтаксис for-of-loop подъехал только в ISO стандарте Ada 2012. Ну а в Ada 2022 list comprehensions.

Расскажите Яндексу про смарт-карты и ЭЦП кто-нибудь

Единственная задача, с которой он справился, это быть переносимым ассемлером. UEFI EBC, TenDRA ANDF, Dis VM, LLVM, WebAssembly, PNaCl все в чём-то сильно уступают. Наверное, лучшей попыткой был TenDRA ANDF, но что-то компиляторов под него негусто, а вот для Си процесс пошёл, и поверх него и Ада есть, и Eiffel, и Oberon. Пусть там каждое сложение с проверкой переполнения многословно кодируется, но хоть как-то это работает.

А вот чтоб не абстрактно можно написать, а ночью разбуди, любой программист, претендующий на C++, знал, где такое готовое взять?

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

Вы проспали развал Советского Союза. Теперь у руля не учёные, которые могут проявить божью искру и подумать над чем-то. А денежные мешки с узким горизонтом планирования.

А ещё надо кому-то написать такую программу(-ы). А тот, кто попытается это сделать:

  • Сделает честно децентрализованно, как XMPP, но пупок развяжется поддерживать хорошие клиенты под очередные часы и телевизоры, ведь это не монетизируется. А без хороших клиентов людей не во что убедить.

  • Централизует. Монетизирует. И к нему придут спецслужбы.

OpenOffice и LibreOffice реализуют UNO, в котором есть и посредственное внутрипроцессное взаимодействие (в отличие от COM, всё через аналог IDispatch, как в OLE Automation), и через него же — удалённое.

Information

Rating
Does not participate
Location
Воркута, Коми, Россия
Date of birth
Registered
Activity