Мне кажется, про IBM нельзя пропустить тему IBM SOM (System Object Model). Это повлияло на Java(1) и Python(2), и технологически примечательно.
Статьи:
От меня, а я смотрел через призму Delphi+Windows, https://habr.com/ru/articles/159139/
Юрий Прокушев, а он много пользовался OS/2, https://ru.ecomstation.ru/showarticle.php?id=144
За открытие исходников SOM в своё время выступали:
Esther Schindler. Just a Little SOM Thing for Linux Developers
Стивен Воан-Николс. Лучшее из OS/2 на платформе Linux // Steven J. Vaughan-Nichols. Reviving OS/2's best in the Linux desktop
1) Java Language Specification глава 13 Binary Compatibility ссылается на Release-to-Release Binary Compatibility in SOM (Forman, Conner, Danforth, and Raper, Proceedings of OOPSLA '95. У этой статьи есть разные версии, и версия в OOPSLA, и версия в PMtW(2) урезаны с разных сторон. Наиболее полную я брал из архива CILabs с сайта языка программирования Dylan в формате PostScript и преобразовал в PDF. Но это не точно. Как бы то ни было, однажды я понял, что забитые в поиск названия статьи возвращают версии менее полные, чем у меня. В моей версии в таблицу авторы добавили столбец Java и примечание
e. Current implementations of Java do not support these, but the new specification make it clear that all of our
transformations must be supported (see [JSL][6] pages 206-214).
Так что цитирование двустороннее.
Другую линию заимствования можно проследить по сайту CILabs в его последние дни. На основе IBM SOM была технология CILabs OpenDoc, подобно тому, как ActiveX был на основе COM. И делали интеграции: чтобы компоненты OpenDoc могли быть компонентами ActiveX (Novell ComponentGlue), ну и OpenDoc-JavaBeans интеграцию тоже сделали, и так доинтегрировались, что вроде как хватит одной только Java.
For component developers, we already see the strength of the component ideas within JavaBeans. Thus, the skills and motivations for developing with OpenDoc may be applied to creating products based on beans, and in evolving JavaBeans, and other technologies, to provide the capabilities required to develop the level of product possible with OpenDoc.
2) После того, как IBM пошла обеими ногами в Java, остановила IBM OS/2, где SOM занимал важное место в WPS. И ещё после совпавшей по времени (1996-1997) неудачи Apple-без-Стива-Джобса осовременить Мак ОС, отладить глюки в проекте Copland, куда SOM переехал из классической Мак ОС и где нарастил присутствие, отпала вторая опора SOM. Авторам, наверное, было обидно, и они написали книгу Putting Metaclasses to Work (1998), в которой описана объектная модель, логически продолжающая развитие SOM. Выражающая суть SOM статья RRBC в сокращённом виде стала одной из глав книги.
Может быть, если не мешать, это и была очередная версия SOM, но получилось как получилось. Получилось, что книга есть, а IBM SOMobjects 4.0 нет.
Книгу прочитал Гвидо ван Россум, и это вдохновило сделать объектную модель в Python на основе прочитанного. Такие термины, как Method Resolution Order, пошли в Python из книги, это одна из глав.
Отредактировано OCTAGRAM (15-08-2025 18:50:01)