Выбор низкоуровневого языка?
C. Only.
И нет тут никакого выбора:
На ассемблере пишут только студенты в порядке изучения архитектуры ПК. И те, кто в качестве хобби (бесконечно) разрабатывают собственную ОС (по какому-то религиозному убеждению истиннаяЪ ОС должна быть написана полностью на ассемблере). Профессиональные разработчики на ассемблере только читают потому, что могут заставить компилятор ЯВУ выдавать совершенно определенный ассемблерный код.
C++, если использовать его идиоматично, а не как C с классами, то это уже совсем не низкий уровень, там нужно мыслить абстракциями, а не гонять байты. К тому же учится он совсем не быстро, а это как бы противоречит, поставленному в вопросе, условию.
Поэтому остается только один язык. Он используется для этих задач уже более сорока лет (в то время как в других отраслях успело смениться много поколений языков) и за следующие сорок лет его вряд ли кто-то сможет подвинуть с этих позиций.
Насмешили конечно. Особенно связка С++ и низкоуровневый язык, тут даже Си не такой уж и низкоуровневый.