Другие языки программирования и технологии

На каком языке программирования можно написать операционную систему?

Очень хочется попробывать...
(-_-) (_)
(-_-) (_)
2 519
На Ассемблере.
Загрузчик ОС - по-любому на Ассемблере. Ядро ОС - тоже.
Все остальное можно писать и на C (если на Асме влом) , но просто ассемблерные проги самые быстрые и занимают меньше всего места. (это связано с тем, что на этом языке вводишь команду за командой, и ничего лишнего в выходном файле нет) . А операционная система не должна глючить.. . Иначе напишешь новую Windows... их итак хватает )))

P.S. Да и потом, компоненты ОС (например API в Windows) должны работать достаточно быстро
Владимир Черарь
Владимир Черарь
37 544
Лучший ответ
вообще на любом который поддерживает ассемблерные вставки ))))
но думаю лучший вариант конечно С++
assembler )))
а если серьёзно, то С++ на нём и пишутся операционки
на ассемблере точно)
Юрий Малка
Юрий Малка
676
на ассемблере и на Си
Насчет С++ -это неправда. Операционки пишутся на С, а это не то же самое, что С++. На С++ есть пробирочные варианты, но они и на Haskell есть. :)
Как уже было написанно, на любом поддерживающем ассемблерные вставки,
а насчет того, что лучше писать на C++ и ассемблере, и то, и то высказывание субъективно и необоснованно.
Ядра почти всех распростроненных операционок написаны на C, в немногих из них часть прикладного кода на C++(Windows например)
А вообще советую почитать про стандарт POSIX (которому соответствуют почти все распростроненные ОС кроме windows), который кстати описывает интерфейс ОС в рамках C(НЕ C++) функций
Насчет операционок на C++ -имхо, это было бы просто глупо писать на C++ ядро ОС, это приведет к сложности создания привязок (bindings) к другим языкам, реализации libc, большому объему памяти занимаемой ядром (из-за различных инстатиаций шаблонов и дублирующегося кода конструкторов) , и большому кол-ву накладных расходов (связанных как с дизайном STL если она используется, так и с накладными расходами на обработку исключительных ситуаций и вызов мн-ва по сути ненужных конструкторов копирования и деструкторов)

Если все-таки хочется попробовать, советую начать с изучения minix'а Таненбаума, а затем исходных кодов ядра linux, если энтузиазм останется, "Современные операционные системы" 3е издание, того же Таненбаума в руки, и вперед :)
на русском))))