Ну так это самое главное, "переписать всё к чёртовой матери" (C). Тоесть уметь сократить и превратить в красивую программу, тот хаос что создаёшь сначала.
А по поводу языков - самого низкого уровня это асемблер, его я пока не учил толком, только начал. C++ в принципе не сильно его выше, просто возможностей написать что-то просто больше. Делфи ака Паскаль более упорядоченный чем Си++ язык, но в общем то того-же класса. Я его предпочитаю, так как он более понятный, легкочетаемый и систематезированный чем Си++.
Если не занимаешься программированием серьёзно, то Асемблер лучше не трогай.