Честно говоря, я бы либо использовал C, либо какую-то иерархию языков, которые я либо разработал, либо совместил бы полностью без проблем. То, что я хотел бы найти, - это плавный опыт, который начинается на уровне «голого металла», а затем я могу переходить к языкам более высокого и более высокого уровня по мере продвижения в проблемном пространстве. Я бы, наверное, выбрал что-то вроде:
- C - для простых вещей, таких как драйверы, ядро и т. Д.
- Java / C # - для таких приложений, как консоли администрирования, приложения для ОС
- Python / PowerShell - для сценариев, таких как общие административные задачи (создание нового пользователя и т. Д.)
Лично я думаю, что C / C # / PowerShell более тесно интегрированы и тот тип опыта, который я бы искал. Конечно, если бы я когда-либо стал настолько амбициозным, что написать операционную систему, у меня было бы много свободного времени, и, возможно, мне действительно понравилось бы сначала заняться языковым стеком. Так что, возможно, это будет L / L # / LScript ...