Д.Ж.> Управляет и обеспечивает. Например, сборка мусора и управление параллельными процессами встроены в язык, а файловая и отчасти графическая подсистема описаны в стандарте.
Нет, не управляет. Параллелизм — как раз была моя и езё одного аспиранта головная боль. Для всех наших компайлеров. Только у меня больше с вводом-выводом. У Ады есть широко известный механизм рандеву для обеспечения взаимодействия процессов. Но нет управления процессами и переключения.
Д.Ж.> Да я понимаю, что Вы не понимаете. Не только средство написания, отладки, испытания и исполнения, а и ещё кое-что.
Нет там ещё чего-то. Ест требования это обеспечить ОСью, иначе нельзя создать полноценную систему с Адой.
Д.Ж.> Перестаньте щёки надувать. Ну и что? Эксперты из КГБ. Всё важное для спора есть в открытой печати и много обсуждается, нет повода нос задирать.
Чукча, Вы, Дмитрий. Все сертификационные тесты — они никогда не были частью паблик системы. Все изначальные уточнения к языку выходили в паблик домэйн через
год после принятия Пентагоном.
Д.Ж.> Не менее. Требования всегда минимальные — тавтология. Каждая реализация этих систем — ОС, построенная по единым, подробным требованиям. Припомните, что такое ОС. Иное дело, что можно ОС заново создать, можно имеющуюся приспособить, довести, можно, наконец, внутри ОС построить виртуальную.
Дмитрий, Вы никогда не писали нормальные компиляторы. И ОС-и тоже. Скажем, почему Адики отказались от много-томной организации файлов, как тот же Алгол 68 требует? Подумайте над этим.
Д.Ж.> Требования Smalltalk или Ada ничем не меньше, чем какая-нибудь Windows для мобильных телефонов, а намного больше.
Вы хоть поняли, что сами сказали?
Д.Ж.> Вы прочтите, а после возражайте. Где тут IBM? Я Вам тоже возражаю на то, что Вы не писали, и описываю светские успехи?
Прочитал. И даже расширено ответил. Так вот для Виртовских машин существовали компиляторы не в С. И ещё для какой-то станции — сейчас уже не помню. Там аспирант сделал объектно-ориентированное расширение Оберона.
Д.Ж.> Вы на что-то возразили? Пролопатили и переписывались — рад за Вас. Могу напрячься и найти слова самого Вирта о том, что Oberon это ОС, не менее. Это его определение Oberon. Однако и сам могу пояснить суть — ничего сложного; не люблю опираться на авторитеты. Могу найти писания идиотов, которые и разговаривали с Виртом и ничего не поняли.
Найдите и убедитесь. Есть среда Оберон для его Лилит, есть язык. Это две разные вещи. И он достаточно чётко разделял.
Д.Ж.> Но соответствуют требованиям комитета Java точные реализации. То, что это не вполне ОС я писал. Просто их сразу основывали на существующих коммерческих ОС, в чём-то важном близких и вынужденно сближающихся.
Ну, что такое ОС известно достаточно давно. Есть некоторые расширения. Возмите Дейтела, Таненбаума, Шоу, Крейслера или кого другого. У них она определяется, хоть и не формально. А вот реализации — совершенно разные. Ну так вот, если говорить в частности об MS DOS, то та же Ада на нём как будет работать? Вот и приходилось делать сопрограммный режим, как на Модуле 2 или одном из диалектов Модулы 3.
Д.Ж.> Кстати, смысл противоречий Sun с MS по поводу Java именно в том, что Sun требует создания существенной части Sun OS под управлением Windows, не менее. Смысл в этом есть, но и наглость.
Не, не требует. Винды почти POSIX совместимы. SUN не хочет из рук выпускать контроль и давать его MS. Это политическое, а не техническое противостояние.
Д.Ж.> И неужели вот так: для переносимости и всё? «Ещё один знаток нашёлся». Притом настоящая Ada-система это отнюдь не одна лишь виртуальная машина.
Вообще-то, для Ады принято такое — всё лишнее пишется на самой Аде. Поэтому, получив компилятор и реализовав примитивы — всё остальное переносится совершенно нормально. Идеология принятая и в GNU C. Поэтому, Ada там совершенно нормальная. А виртуальная машина — это очень хороший способ спецификации. Хоть к Аде он и не применим. Ада — не интерпретатор. А средства отладки поддержаны там на уровне компилятора, линкера.
Когда разрабатывали Аду ставился ряд целей. Переносимость было одной из гланых целей — дорого было писать софт каждый раз, вот и хотели, написав один раз хотели переиспользовать. Надёжность — другая цель. Но это было нормально — сильно типизированный язык со статической проверкой типов. Говорливость — специально для того, чтобы было легче понимать. Включили и средства для параллельного программирования — почти всегда языки того времени не включали их, а в результате получалась большая кака. Алгол 68 был одним из первых исключений. И очень приятным. Поэтому при разработки Ады его сильно учли. Но не хотели они создавать такой сложный язык. Не понравились им метаграмматики — граматика, которая описывают грамматики (бесконечное их подмножество), которые описывают язык. Хотя описание языка было небольшим - 300 страниц текста. Но не хотели и примеров Венского описания языка PL/I — 300 тысячи страниц трудночитаемого текста — PL/I был предыдущим детищем военных.
Д.Ж.> И всё-то щёки дуть. Вода. IBM, наверное, последняя, а не первая:
Д.Ж.> http://www.smalltalk.org/smalltalk/history.html
Я же написал — первый коммерчески удачный. Или читать не умеем. Во всяком случае, VisualAge до сих пор поддерживается (уже более 20 лет). Хотя не знаю, развивается ли — хотели они его бросить пару лет назад.
А щёки дуть — это Ваша специальность.
Д.Ж.> Там полностью опущены неамериканские реализации. Ладно с советскими, были японские Smalltalk-компьютеры, созданные по госпрограмме.
Английские были неплохие. А вот японские — это слёзы. Пробовали мы их.
Д.Ж.> И будто на матмехе у вас одни умницы, сколько ж умниц на свете! Раз знакомились с предметом и спорите, покажите понимание классификации. Вам это проще, чем дилетанту. Повторюсь, обязанность специалиста, профессионала, практика не писать ерунды, а прав в споре нет, достаточно того, что ему легче.
Так и не пишите. Кто же Вам не даёт-то? А по SmallTalk-у Вы много знали людей, которые занимались им в 80-е годы в СССР? А вот в ЛГУ люди занимались и знали все центры, которые занимались им. Я просто рядом был — наша лаба — это Алгол 68 (единственная в СССР) и Ада (две было, но вторая быстро умерла). И был я там всего лишь аспирантом, а потом сотрудничали. А люди этим делом занимались по 15-20 лет.
Д.Ж.> А что о деле? У меня не одна книжка, и я их читаю. Попробуйте найти определение ОС, под которое не подойдёт Ada-система или Samlltalk. Другое дело, что Ada и Samlltalk это не только ОС, «потому слова разные».
Ну, чтобы не быть голословным и проамериканистом — посмотрите на книжку Таненбаумана. Это тот человек, с которым Линус Торвальд спорил по поводу микроядер.
А так — Ада не работает напрямую с аппаратурой — она пользуется примитивами ОС. Скажем, тот же ввод-вывод. Должно быть понятие файла, при этом даже нет упоминания как именуются файлы. Нет описания структуры ФС, возможно ли создание мягких-твёрдых ссылок, расширенных аттрибутов. Т.е. Ада типичный пользователь. Или взять параллелизм — описание примитивов высокого уровня. Нет ни слова о том, как должны вести себя процессы или нити при ожиданиии — должны ли они ставится в очередь готовых, или совсем выносится. И ни слова о защите процессов друг от друга — это дело ОС. Память — есть что-то о свопировании?
Вот и выходит — планирование и распределение рессурсов, защита процессов, межпроцессные коммуникации, логическая независимость устройств, ФС — важнейшие функции ОС — Адой не описываются и не трогаются.