Quand Apple recommandait aux développeurs d'éviter la « magie noire »

Mickaël Bazoge |

La programmation dans le noyau d'OS X est de la « magie noire » et les développeurs devraient éviter de s'y frotter autant que possible, prévient Apple ! Dans un guide remontant à 2013 et désormais archivé, le constructeur recommande vivement aux développeurs de « rester en dehors » de cette pratique. « La décision de programmer dans le noyau n'est pas à prendre à la légère », rappelle la Pomme, dans cette documentation où le langage utilisé est sans filtre.

Il faut dire que le code du noyau doit être « presque parfait » : un bug peut provoquer des crashs, corrompre les données, donner les clés du système à un malandrin, ou rendre le système d'exploitation inutilisable. « Il est même possible que certaines opérations erronées causent des dommages permanents et irréparables au matériel, en désactivant le ventilateur de refroidissement et en faisant fonctionner le processeur à fond », décrit le constructeur. La responsabilité des programmeurs qui ouvrent le capot du noyau de Mac OS X « surpasse grandement » celle des autres développeurs.

Pour résumer, la programmation du noyau est une « responsabilité immense » et les développeurs qui voudraient quand même tenter leur chance doivent être « exceptionnellement prévenants » pour éviter les plantages et autres désagréments. Cet avertissement remonte au mois d'août 2013, donc pendant Mac OS X 10.8 (Mountain Lion). Beaucoup d'eau a coulé sous les ponts… Depuis, Apple n'a cessé de contingenter le noyau de macOS, encore tout récemment en serrant la vis aux extensions de noyau kexts.

Source
avatar IceWizard | 

Offre à saisir : un lot de poupée vaudou. Vendu avec les rognures d'ongles d'origine et une fourrure en peau de troll des marais 🧟‍♂️!

avatar Biking Dutch Man | 

Mon MacBook Air 2018 a connu au moins 100 crashs black magic, avec la 1ère et 2ème carte mère. J’attends la 3ème...

avatar justlikeheaven | 

Super , et au final ça apporte quoi ??

avatar occam | 

« Depuis, Apple n'a cessé de contingenter le noyau de macOS, encore tout récemment en serrant la vis aux extensions de noyau kexts. »

À la clé, sécurité, stabilité et fiabilité énormément améliorées.
Ou peut-être pas tant que ça ?

(Sierra, High Sierra, Mojave, Crapalina, Stercus Quintus : quousque tandem abutere patientia nostra ? »

avatar BigMonster | 

@occam
« quousque tandem abutere patientia nostra ? »
C’est ce que tu as trouvé de plus… aigre ?
😉

avatar iPop | 

@BigMonster

Je me dis que PAGAUPA en latin serait plus supportable tient. 🤔

avatar occam | 

@iPop

Sauf si on comprend le latin.
La clarté lapidaire du latin est impitoyable quand on n’a rien à dire, mais qu’on le clame à haute voix.

avatar BigMonster | 

@occam

Bon, c’était une référence à Kaamelott mais j’ai l’impression que c’est tombé à l’eau.
Sic transit gloria mundi…

avatar raoolito | 

@occam

Sierra et mojave sont extremement stables pour moi.
macmini 2014/2018 imac 27 pouces 2017

avatar occam | 

@raoolito

Vous avez de la chance.

Voyez, par exemple, ce post et les suivants sur un des fils — interminables — de MacInTouch consacrés au core rot :
https://macintouch.com/community/index.php?threads/macos-10-15-catalina.2054/post-27497

Et cela ne concerne qu’un problème relativement obscur, dont on découvre qu’il se propage et s’amplifie depuis au moins trois versions de macOS.
Et ce n’est qu’un exemple parmi d’autres.

Pour citer la note en marge de Ric Ford :
« No one knows exactly how common the problems are, but many people seem to be lucky enough to avoid them. »
Réponse plus cinglante qu’il n’y paraît, quand on sait qu’elle est balisée en lien vers l’article de Wikipedia sur la roulette russe...

avatar Pyr0h | 

Les documentations de cette époque sont de vraies mines d’or. Les guides expliquaient avant tout et surtout les concepts que les frameworks manipulaient. Celui sur Core Text fait un petit cours magistral de typographie avant même de parler de code.
Le guide Color Management m’a appris tout ce que je sais sur la couleur et ses représentations.
On expliquait les concepts et comment le framework les manipulait, c’était bien. Maintenant il faut aller fouiller les headers pour espérer comprendre ce que fait une méthode...

avatar huexley | 

Anecdote :

Lors de mon service au Genius Bar il m'a été interdit d'utiliser le terminal pour vider la corbeille d'utilisateurs dont des fichiers étaient coincés à l'intérieur (téléchargement interrompus, droits moisis). On devait proposer "un formatage du poste"

Motif de mon sup : L'utilisateur ne doit pas voir des commandes "ésotériques et compliquées" l'image que je devait transmettre c'est "ca marche tout simplement"

*slowclap*

avatar occam | 

@huexley

👏👏👏

avatar Pipes Chapman | 

@huexley

tu ne connais pas les commandes secrètes pour supprimer les fichiers purgeables par hasard ?

avatar Nananère | 

@huexley

"On devait proposer "un formatage du poste""

Comme sur windows à l'époque d'XP et des versions précédentes ? apple, 10ans d'avance mais qui part avec 20-30ans de retard. :)

"Motif de mon sup : L'utilisateur ne doit pas voir des commandes "ésotériques et compliquées" l'image que je devait transmettre c'est "ca marche tout simplement""

Des gens qui vendent de la merde jouerait uniquement sur le paraitre pour cacher la réalite ? C'est pas le genre de la maison voyons. :)

CONNEXION UTILISATEUR