Ahhh le code...
Pour moi le code c'est ça :
Code:
MOVEM.L D2/D3/D4/A2,-(SP)
LSR.W #1,D1 ; half the buffer
LEA (A0,D1.W),A2 ; points to even bits
LSR.W #2,D1 ; # of longwords (for half)
SUBQ.W #1,D1 ; DBRA entered at top
MOVE.L #$55555555,D4 ; mask for clock bits
MOVEQ #0,D0 ; initial checksum
ou ça :
C:
ch = **string;
if (ch >= 0xD800 && ch <= 0xDBFF) {
ch2 = *string[1];
if (ch2 >= 0xDC00 && ch2 <= 0xDFFF) {
ch = ((ch - 0xD800) << 10) + (ch2 - 0xDC00) + 0x0010000UL;
++read;
}
}
J'y vois un poème naissant, sans blague.
Tout le reste m'ennuie beaucoup. J'ai programmé avec de très nombreux langages, parfois exotiques (BCPL, E), mais jamais avec la passion de l'assembleur et du C. Ce sont les seules façons naturelles de programmer pour moi. Avec le typage, un ramasse-miettes, sans pointeurs et son arithmétique fabuleuse, je suis perdu, tout me semble compliqué.
J'ai débuté avec le langage machine (pas l'assembleur), j'ai ensuite été contrait de faire du Basic sur beaucoup de machines entre le début et le milieu des années 80, mais c'est l'assembleur que j'ai le plus longtemps pratiqué (Z80, 68k puis x86), puis ensuite le C. Lorsque j'ai découvert le PC, c'était un cauchemar avec son modèle mémoire segmenté par rapport au modèle FLAT du 68k. Par contre lorsque j'ai dû programmer le firmware d'un petit appareil avec une puce ARM il y a 4 ans (à titre de hobby, en open source), j'ai mis très peu de temps à me familiariser avec le jeu d'instructions que je ne connaissais pas du tout.
Je ne comprends pas grand chose à des langages comme les C# ou le Java (et je n'ai pas envie de faire d'effort pour ça). Il faut potasser des encyclopédies ennuyeuses de fonctions, comme lorsque j'avais dû apprendre l'intégralité des ROM Kernel de l'Amiga, des API Win32 et du framework WDM. C'est pas drôle. Sur l'Amiga c'était facile, on prenait le contrôle total du hardware au boot et on faisait ce qu'on voulait sans se soucier de la ROM (en gros équivalente au BIOS). Piloter le matériel était possible en partant de rien et sans aucune librairie. J'avais par exemple, pour une démo, fait jouer de la musique au lecteur de disquette en pilotant le moteur pas à pas. Cela avait eu son effet

C'est pas la même aujourd'hui, on démarre sur un OS et lui nous dit : "ah non, t'as pas le droit d'accéder directement à ce périphérique pour allumer sa led mon coco, je supervise tout, va falloir te farcir les modèles WDM et KMDF.". C'est pas rigolo.
Même si je ne travaille plus du tout dans ce domaine depuis longtemps, la programmation m'a passionnément dévoré depuis jeune, il y a 40 ans, et je continue de temps à autre à programmer. Cela a du sens dans mon parcours plus artistique que technique. Faire des films, concevoir ou programmer une machine et composer de la musique, c'est pour moi la même chose : on crée quelque chose à partir de rien, on concrétise une idée. L'aspect créatif des programmeurs n'est pas assez mis en avant il me semble. C'est magique de partir d'une feuille blanche puis de faire naitre peu à peu un programme, un jeu, quelque chose avec lequel d'autres vont pouvoir interagir, travailler, s'amuser et même éprouver des émotions.
Je développe mes sites web, et ça, ça m'ennuie prodigieusement, ça ne n'amuse pas du tout. Je trouve ça plus compliqué, moins drôle et moins gratifiant que de développer un firmware en assembleur ou C. Ce n'est qu'un site web parmi tant d'autres interprété dans le navigateur d'un OS, alors qu'un firmware, c'est ce programme entièrement autonome qui donne "vie" à l'appareil et permet de l'utiliser.

Mais heureusement que tout le monde ne pense pas comme moi