Скажу сразу, я не программист. Пожалуйста, не надо сыпать сложными специфическими терминами. Но любопытство никто не отменял. Мне интересно. Да и другие могут заинтересоваться вопросом и обнаружат эту тему в Кью. Так что, польза будет.
Скажите, какие языки пригодны для написания ядра операционной системы и её графической оболочки? Помимо используемых - Ассемблер, C, C++, C#. Если кто-то захочет создать альтернативу и Виндовс, и Линукс, но не на языках семейства С. Этот не вопрос "зачем это нужно, если есть Виндовс и Линукс". Это вопрос - возможно ли и как?
Какие языки у меня на слуху? К примеру, развивающийся Питон. Можно ли на нем создать ядро и графическую оболочку? Или Java, позволяющий создавать и приложения, и графику. Или, к примеру, JavaScript. Для программирования графики и ВЭБ приложений. Говорят, на нем работает операционная система космических кораблей Dragon SpaceX. Или, к примеру - HTML 5. На HTML 5 пишут приложения, воспроизводят графику, фильмы и т.д.
Пожалуйста, продолжите список. Будет интересно узнать.
Вот мне любопытно. Представим, что кто-то реально захочет создать ОС на этих языках, или ещё на каких альтернативных, на уровне последних Виндовс. Как это можно реализовать?
Какие языки подойдут ядру? А какие для графической оболочки? Взять к примеру, тот же HTML 5. Предполагаю, что на нем можно создать и графическую среду, привычных ОС. Да и сами приложения для этой ОС. Ведь он же вполне может управлять портами, дисками, видеокартами, и тд. Ведь можно же сделать ядро, воспринимающее ВЭБ язык?
Было бы интересно узнать ваше мнение. Возможно ли это? Можно ли написать полностью функциональную ОС на одном из чистых языков, без примесей остальных. Или в комбинации нескольких.
А также, какие бы ещё языки вы видели как альтернативу семейству языков C. Если мой вопрос немного странный для специалистов программирования, прошу не злиться. Ведь интересуется человек "не в теме".
Для создания операционных систем пригодны любые языки программирования, компиляторы которых способны создавать выполняемые файлы требуемого формата.
Но это зависит только от компилятора, а никак не от языка программирования.
То есть интерпретаторы Бейсика, Луа или Джаваскрипта точно не годятся.
Ассемблер используется исключительно ради увеличения быстродействия, но написать код на нём максимально долго и неудобно.
С и С++ раза в 1,5-2 медленнее Ассемблера, но дают огромный выигрыш по времени разработки. Тем более с самого начала С и С++ создавался именно для системных задач. Компиляторы других языков ещё более тормозные.
Но учитывая быстродействие современных компов, наверно можно использовать любой язык программирования. Главное - чтобы в компиляторе была возможность подключения функций ввода-вывода из системных классов. Думается, можно использовать неплохой кроссплатформенный фреймворк Qt. Вообще-то он первоначально создавался под С++, но в последнее время появились варианты с Python, Ruby, и даже Java, PHP и другие.
)