Brad Cox, l’inventeur du langage Objective-C, est mort
Brad Cox est mort en début d’année à l’âge de 77 ans. Ce nom ne vous dit peut-être rien, mais vous aurez peut-être entendu parler de l’invention qui l’a rendu célèbre : Objective-C, le langage de développement d’Apple. Même s’il a désormais un successeur avec Swift, Objective-C reste massivement utilisé par Apple et tous les développeurs d’apps pour macOS et iOS, une quarantaine d’années après sa création.

Contrairement à ce que l’on pourrait imaginer, Brad Cox n’était pas un employé d’Apple et Objective-C n’est pas né à Cupertino. Le langage a vu le jour au début des années 1980, avec l’idée de s’inspirer de Smalltalk sur une base de C, le langage de développement phare à l’époque. Smalltalk est l’une des inventions de Xerox PARC, le fameux centre de recherche qui a imaginé tant de nouveautés, dont l’interface graphique qui a inspiré le premier Macintosh. Ce langage de développement objet a servi de base à de multiples langages modernes, de Java à Python, en passant par PHP et Ruby.
Objective-C a repris ses concepts et les a appliqués sur une base de C, utilisé par ITT Corporation qui employait Brad Cox à l’époque. Par la suite, il a fondé une entreprise nommée Stepstone avec Tom Love et ils utilisaient Objective-C également pour coder des apps pour leurs clients, parmi lesquels NeXT qui l’a utilisé pour coder NeXTSTEP sorti à la fin des années 1980. En avril 1995, plus de dix ans après les débuts du langage, NeXT décide d'acheter la marque déposée et les droits sur le langage de développement. Quand Apple achète NeXT l’année suivante, Objective-C devient par la même occasion le langage de développement de prédilection de macOS et des apps codées pour macOS.

Brad J. Cox n’a pas été embauché par Apple suite à cette acquisition, son entreprise Stepstone a continué d’offrir des services liés à Objective-C jusqu’à sa disparition au début des années 2000. Pour en savoir plus sur son parcours et sa carrière, vous pouvez lire la nécrologie publiée lors de son enterrement et regarder l’entretien de deux heures et demi accordé au Computer History Musem
j'aime toujours autant les idées derrière objective-C et sa syntaxe.
@oomu
L'époque NeXT-OS X avec Steve Jobs et Avadis Tevanian aux manettes… nostalgie.
Mais je suis assez satisfait de la tournure des choses prises par Craig Federighi dernièrement.
Sa syntaxe ? Bizarre ! Généralement c'est cité comme un défaut.
@vince29
c’est vrai que c’est une horreur cette syntaxe. D’où ma grande préférence du Swift. Et le Swift sera parfait le jour où il y aura enfin le Async Await.
@wataru
"c’est vrai que c’est une horreur cette syntaxe."
“There are only two kinds of languages: the ones people complain about and the ones nobody uses.”
Bjarne Stroustrup 😉
@YetOneOtherGit
entre temps sa syntaxe reste affreuse.
@wataru
"entre temps sa syntaxe reste affreuse."
A ton goût personnel c’est un propos absolument subjectif certainement issu de tes habitudes et de ton parcours. 😎
Ce type de jugement à l’emporte-pièce péremptoire 🙄🙄🙄
@YetOneOtherGit
oui et non, il y a un consensus pour dire que sa syntaxe n’est pas fameuse. Après comme tu le dis c’est au goût de chacun évidement !
@wataru
"oui et non, il y a un consensus pour dire que sa syntaxe n’est pas fameuse."
Un consensus la belle affaire dans quel milieu avec quelle légitimité.
Et déjà tu,passe à « pas fameuse » 😂
@wataru
j'apprécie la syntaxe objectiveC parce qu'elle force à nommer dans le code source les arguments.
alors oui, c'est lourdingue (mais y a la complétion), mais c'est pratique pour moi pour me rappeler le sens des méthodes.
je ne crois pas au "consensus sur la syntaxe".
ObjectiveC n'a pas une syntaxe à la java/javascript, ce qui est assez étonnant pour toute une génération d'ingénieurs.
Après, Swift est une modernisation qui manquait à ObjC.
-
je n'adhère pas non plus au propos
"Tu peux choisir d'être verbeux dans n'importe quel langage."
bien sur qu'on peut commenter, suivre une méthodologie d'écriture de code, etc
mais j'apprécie comment ObjectiveC demandait d'écrire les appels au méthodes et divers autres détails.
@ wataru : « oui et non, il y a un consensus pour dire que sa syntaxe n’est pas fameuse. »
Non.
Il y a un paquet de gusses qui ont débarqué il y a quelques années avec l’idée de de faire quelques sous en développant des applications pour iOS et qui en lisant le nom « Objective C » ont sûrement cru qu’ils allaient se retrouver à utiliser une sorte de variante de C++. Choqués de découvrir qu’il pouvait y avoir une syntaxe différente de la seule qu’ils ont toujours connue dans leur C++/JS/C♯/Java, ils ont vociféré en expliquant que c’était une horreur au lieu de simplement essayer de l’utiliser.
Mais ça ne fait pas un consensus, loin de là. Juste des râleurs bruyants.
On trouve également plein de développeurs appréciant beaucoup cette syntaxe, depuis longtemps.
Je regrette juste le sabotage qu’a représenté l’ajout dans Objective-C 2 de la notation à base de point pour l’accès aux propriétés.
@BeePotato
"Mais ça ne fait pas un consensus, loin de là. Juste des râleurs bruyants.
On trouve également plein de développeurs appréciant beaucoup cette syntaxe, depuis longtemps.
"
D’où ma citation plus haut : dès qu’un langage est un tant soit peu utilisé les critique plus où moins légitimes pleuvent.
C’est quasiment un signe de bonne santé pour un langage que son niveau de détracteurs.
Perso sorti de FORTH c’est tout de la merde 🥳😂
@vince29
S'il y a bien un consensus sur le sujet, c'est que la syntaxe d'Objective-C ne laisse personne indifférent. Mais il y a des détracteurs et aussi des fans, ce n'est pas aussi simple.
@nicolasf
ya un truc qui me chiffonne, je ne suis pas codeur du coup je demande. Comment cela se fait qu’un langage ecrit il y a 40 ans soit encore massivement utilisé ?
apres la durée de vie des langages informatiques est peut-être différente de celle des matériels (en fait c’est meme certain)
@raoolito
Ben oui, on utilise toujours C qui date des années 1970. 🙂
L’âge des langages de développement ne dit pas grand chose de leur intérêt et popularité.
@nicolasf
et donc je parie qu’il y a autant de raisons objectives que subjectives d’utiliser tel ou tel langage ?
@raoolito
"et donc je parie qu’il y a autant de raisons objectives que subjectives d’utiliser tel ou tel langage ?"
Le choix d’un langage s’impose parfois car il n’y a pas de choix : le dev natif MacOS X ou iOS c’était pendant longtemps Objectif-C
Après le choix de l’ensemble des technologies misent en œuvre sur un projet est un arbitrage entre de très nombreux paramètres.
@YetOneOtherGit
"Le choix d’un langage s’impose parfois car il n’y a pas de choix"
À UCSD, on avait un dicton qui faisait partie du folklore, et que j’ai toujours trouvé assez subversif mais juste :
« An operating system is whatever was left out of the programming language. »
Ok, ça date, et c’est plutôt hardcore comme approche, mais ça change un peu de la vision de l’utilisateur benêt, gavé d’apps, et qui ne doit surtout pas toucher à rien de rien.
@occam
"Ok, ça date, et c’est plutôt hardcore comme approche, mais ça change un peu de la vision de l’utilisateur benêt, gavé d’apps, et qui ne doit surtout pas toucher à rien de rien."
Toi es moi avons sans doute connu les générations ayant vécues sans OS ou avec des OS croupions 😜
@nicolasf
"Ben oui, on utilise toujours C qui date des années 1970. 🙂"
Un truc terriblement moderne 😉
Le premier des langages de haut niveau qu’est le vénérable Fortran du grand John Backus est toujours en usage. (1954)
COBOL porté par l’équipe de Grace Hopper est toujours derrière une part très conséquente des transactions financière, par exemple (1959)
Lisp du grand McCarty et ses variante est toujours en usage (1956)
😀
@YetOneOtherGit
Certes. 🙂
@raoolito
"apres la durée de vie des langages informatiques est peut-être différente de celle des matériels (en fait c’est meme certain)"
Absolument ne serait-ce que pour des raison de base installer de code.
On évite de tout recommencer à zéro.
Après les langage évolue dans le temps C++ 20 est fort différent de sa version originale par exemple 😉
@YetOneOtherGit
« C++ 20 » ?
pardon ?
@raoolito
"pardon ?"
C++ est un langage aujourd’hui normalisé, C++ 20 est la dernière évolution validée de la norme.
https://en.wikipedia.org/wiki/C%2B%2B20
Avec un lot conséquent de nouveautés 😋
@YetOneOtherGit
ok je crois que ca rentre. mais du coup c compatible avec le C++ V1 mais si on met quelque part un tag disant qu’on est en version 20 alors on peut utiliser les nouvelles fonctions?
en gros ?
Pages