Home Technologie Les charmes subjectifs de l’objectif-c

Les charmes subjectifs de l’objectif-c

10
0

Après avoir inventé le calcul, les tables actuarielles et la calculatrice mécanique et inventé l’expression «Mieux de tous les mondes possibles», Gottfried Leibniz pensait toujours que le travail de sa vie était incomplet. Depuis l’enfance, le polymathe du XVIIe siècle avait rêvé de créer ce qu’il a appelé un caractéristique universalis– Une langue qui représentait parfaitement toutes les vérités scientifiques et rendrait rendre de nouvelles découvertes aussi simples que d’écrire des phrases grammaticalement correctes. Cet «alphabet de la pensée humaine» ne laisserait aucune place aux mensonges ou à l’ambiguïté, et Leibniz y travaillerait jusqu’à la fin de sa vie.

Une model du rêve de Leibniz vit aujourd’hui dans les langages de programmation. Ils ne représentent pas la totalité de l’univers physique et philosophique, mais à la place, la meilleure selected suivante – celles et zéros toujours plus foliaires qui composent l’état interne d’un ordinateur (binaire, une autre invention de Leibniz). Les informaticiens courageux ou assez fous pour construire de nouvelles langues pour poursuivre leur propre caractéristique universalisun système qui pourrait permettre aux développeurs d’écrire du code si expressif qu’il ne laisse aucun cash sombres pour que les bogues se cachent et si évidents que les commentaires, la documentation et les checks unitaires deviennent inutiles.

Mais l’expressivité, bien sûr, est autant une query de goût personnel que de la théorie de l’data. Pour moi, tout comme écouter Compte à rebours à l’extase Adolescent a cimenté une affinité à vie pour Steely Dan, mon goût dans les langages de programmation a été le plus façonné par le premier que j’ai appris par moi-même – Objectif-C.

Affirmer que l’objectif-C ressemble à une langue métaphysiquement divine, ou même à une bonne langue, c’est comme dire que Shakespeare est mieux appréciée dans le latin de porc. Goal-C est, au mieux, polarisant. Ridiculisé pour sa verbosité implacable et ses crochets particuliers, il est utilisé uniquement pour construire des purposes Mac et iPhone et aurait disparu dans l’obscurité au début des années 1990 s’il n’avait pas été pour une bizarrerie inconceivable de l’histoire. Néanmoins, pendant mon temps en tant qu’ingénieur logiciel à San Francisco au début des années 2010, je me suis retrouvé à plusieurs reprises à Dive Bars à Soma ou dans les commentaires de Hackernews défendant ses choix de conception les plus encombrants.

Goal-C est venu vers moi quand j’en avais le plus besoin. J’étais un aîné en hausse du collège et j’avais découvert un intérêt pour l’informatique trop tard pour se spécialiser. En tant qu’adulte assez âgé pour boire, j’ai regardé les adolescents faire des cercles autour de moi dans des cours de génie logiciel d’entrée de gamme. Les smartphones commençaient tout juste à proliférer, mais j’ai réalisé que mon école n’offrait aucun cours de développement cellular – j’avais trouvé un créneau. J’ai appris Goal-C cet été-là à partir d’une série de livres sur le thème des cow-boys intitulée Le Large Nerd Ranch. La première fois que j’ai écrit du code sur un grand écran et je l’ai vu allumer des pixels sur le petit écran dans ma fundamental, je suis tombé dur pour Goal-C. Cela m’a fait ressentir le pouvoir enivrant de l’expression de soi illimitée et m’a permis de croire que je pourrais créer tout ce que je pourrais imaginer. Je suis tombé sur un langage vraiment universel et je l’aimais tout à ce sujet – jusqu’à ce que je ne l’ai pas fait.

Torsion du destin

Goal-C est venu dans les premiers jours frénétiques de l’ère de programmation orientée objet, et par tous les comptes, il n’aurait jamais dû survivre. Dans les années 1980, les projets logiciels étaient devenus trop importants pour une personne, ou même une équipe, pour se développer seul. Pour faciliter la collaboration, l’informaticien de Xerox PARC, Alan Kay, avait créé une programmation orientée objet – un paradigme qui a organisé du code en «objets» réutilisables qui interagissent en se envoyant des «messages». Par exemple, un programmeur pourrait créer un objet de minuterie qui pourrait recevoir des messages comme Begin, Cease et Readtime. Ces objets pourraient ensuite être réutilisés sur différents logiciels. Dans les années 1980, l’excitation à propos de la programmation orientée objet était si élevée qu’une nouvelle langue sortait tous les quelques mois, et les informaticiens ont fait valoir que nous étions sur le précipice d’un «Révolution industrielle logicielle. « 

En 1983, Tom Love et Brad Cox, ingénieurs logiciels chez Worldwide Phone & Telegraph, ont combiné la programmation orientée objet avec la syntaxe populaire et lisible du langage de programmation C pour créer un objectif-C. La paire a lancé une entreprise de courte durée pour obtenir une licence de la langue et vendre des bibliothèques d’objets, et avant de monter le ventre, ils ont décroché le shopper qui empêcherait sa création de tomber dans l’obscurité: ensuite, la société informatique Steve Jobs a fondée après son évidence d’Apple. Lorsque Jobs est retourné triomphalement à Apple en 1997, il a apporté le système d’exploitation de Subsequent – et l’objectif-C – avec lui. Pendant les 17 prochaines années, la création de Cox et Love alimenterait les produits de l’entreprise technologique la plus influente au monde.

Je me suis familiarisé avec l’objectif-C une décennie et demie plus tard. J’ai vu remark les objets et les messages prennent une construction semblable à une phrase, ponctuée par des crochets, comme [self.timer increaseByNumberOfSeconds:60]. Ce n’étaient pas des phrases brouillées, Hemingwayesque, mais longues, florales, proustianes, syntaxiquement complexes et évoquant des pictures vives avec des noms de fonction comme ScrollViewDidendDragging: Willdelerate.

lien source

LEAVE A REPLY

Please enter your comment!
Please enter your name here