Je pense qu'un poil au delà de ça, le gros problème, c'est la réflexion.
Coder un truc en C, ça s'apprend relativement facilement. C'est un langage procédural, tout se passe comme dans la vie:
- entrer(porte_boulangerie)
- acheter_pain(&porte_monaie,baguette_farinee)
- sortir(porte_boulangerie)
Quand on apprend l'objet, ça mets une petite-claque derrière la tête au début. une fois acquis, ça se fait tout seul, et ça devient tout naturel. Personnellement, je trouve ça plus simple.
Dans les 2 cas, dès qu'on attaque de la programmation concurrente, ouïe ouïe!
Soit on ne crée des threads ou autres que pour certains calculs dont on est certain que ça ne va pas interférer avec le prog principal, soit on essaye de tout mélanger en même temps et il faut y aller à coups de sémaphores, synchronized, etc. Tester dans tous les sens, se dire qu'avec les conditions de courses on peut avoir zapper un truc.
Par contre, si il y a moyen de trouver une nouvelle façon de penser les choses, là ça peut-être fantastique.
Il y a plusieurs langages vraiment orientés vers des concepts différents, mais aucun (à ma connaissance) ne semble s'être vraiment imposé comme LA solution.
Un truc que j'aime bien, c'est en VHDL la façon de coder qui implique que tout se fait en même temps, sauf si spécifié différemment. Il y a peut-être moyen de creuser là-dessous.
Par contre, écrire de l'assembleur à la main pour que ça mouline plus vite c'est pas bien malin. Le compilateur est juste plus fort que toi.
En lisant la news, il propose l'OS comme une interface entre une machine virtuelle et le hardware. De ce que je comprends (là je suis pas sûr de moi), il veut juste changer la partie kernel. Toute la partie UI et les primitives systèmes peuvent rester les mêmes si il parle de machine virtuelle.
Partager