Le C et le Swift c'est pas vraiment comparable au final puisqu'en C typiquement tu n'as la notion d'objets et tu reste sur des notions bas niveau.
L'Assembleur c'est le niveau encore en dessous où tu dois tout expliciter et tu manipules tes données directement via les registres de ton CPU.
Quand j'étais en école d'ingé (dans une vraie école hein, pas 42 ou autre Supinfo et cie
) un TP consistait à créer un processeur très simplifié avec son propre langage assembleur (bon ok rien d'extraordinaire en école d'ingé, mais très intéressant quand on débute).