В общем учу C++ уже полгода. Хотел спросить, такой стек как: C++, C, Java, немного Assembler, некоторые фреймворки на вышеуказанные ЯП, является ли стеком на системное программирование, или нужны какие-либо еще технологии?
Смотря что вы понимаете под системным программированием. Если хотите писать ассемблерных код, то надо знать расширенные инструкции SSE2, например. А также инструкции к процессорам отличным от x86/x64. Если хотите драйверы под windows писать, то нужно уметь работать с WDK.
Под системным программированием понимается слишком дофига всего, чтобы сказать твоего стека хватит или нет.
Распределенную файловую систему можно написать и на голой яве, и на голанге, все биндинги кидать сисколы, работать с блоком, там есть.
А вот драйвер устройства без асма не напишешь. Ну по крайней мере не любого устройства.
Вообще для большинства задач асма в связке с чистым си должно хватит, а вот на плюсах не факт что всё получится, надо спускаться ниже.
Яву я бы вообще выкинул, язык классный для своего времени, но голанг даст всё что нужно на уровнях выше си, за меньший порог входа, быстрее и легче.
Плюсы тоже заменил бы на голанг, всё равно ты будешь в контексте системного программирования спускаться ниже на уровень до чистого си, когда надо. А когда не надо, плюсы конечно умеют больше, но нафига если голанга хватит.
Короче иди в ногу со временем, я тебе не просто так пытаюсь продать голанг, он для этого гуглом и создан чтобы мидлы могли делать более сложные задачи не вникая в Си, и сеньоры могли вместо плюсов что то в целях экономии времени попользовать.
Ну и чистый си обязательно, и про асм ты уже сказал.
С и ассемблеры (ты в курсе, что у каждой компьютерной архитектуры свой ассемблер?) - да, активно используются в системном программировании. Ещё к системному программированию относят Rust.
Java - язык исключительно прикладного уровня и для системного программирования не используется.
С++ - может, со скрипом, использоваться в системном программировании, но это больше прикладной язык.
В системном программировании почти нет фреймворков. А если и встречаются, то что-то вроде LLVM, не имеющего никакого отношения к тем фреймворкам, которые ты изучал.