Qui fut Brad J. Cox et quelles sont ses apports à la micro-informatique ?
Le Dr Brad Cox est né le 2 mai 1944 à Fort Benning, en Géorgie, et mort le 2 janvier 2021 à son domicile Manassas, en Virginie. Il fut un informaticien titulaire d'une thèse de biomathématique. En effet, Brad a grandi dans la ferme laitière familiale en Caroline du Sud, mais c'est la science qui l'intéressait le plus. Après avoir obtenu son diplôme du lycée de Lake City, il a obtenu une licence en chimie organique et en mathématiques à l'université de Furman, et un doctorat du département de biologie mathématique de l'université de Chicago, et a travaillé sur une forme précoce de réseaux neuronaux.
Selon une biographie de lui sur Legacy.com, un site Web américain fondé en 1998 et le plus grand fournisseur commercial mondial de monuments commémoratifs en ligne, Brad s'est rapidement intéressé aux ordinateurs. Il a obtenu un emploi chez l'International Telephone and Telegraph (ITT), avant de rejoindre Schlumbeger, Doll Research Labs, et a finalement créé sa propre start-up dans le Connecticut, "Productivity Products International" (PPI), plus tard nommée Stepstone. Parmi ses premiers projets logiciels connus, il a écrit un programme PDP-8 pour simuler des grappes de neurones.
Dr. Brad J. Cox
Brad a aussi travaillé au "National Institutes of Health" et à l'Institut océanographique de Woods Hole avant de se lancer dans le monde du logiciel. En créant Stepstone avec Tom Love, son partenaire en affaire et aujourd'hui un homme d'affaires milliardaire américain, il a commencé à travailler sur les premières versions d'Objective-C. À ce propos, il avait déclaré qu'il avait du mal à créer des applications pour le Mac, d'abord sous macOS classique, puis sous Mac OS X. « J'ai utilisé Java, j'ai utilisé REALbasic et j'ai même eu une licence professionnelle pour CodeWarrior de Metrowerk afin de pouvoir écrire des applications en C ou C++ », avait-il déclaré.
« Mais il y avait toujours une sorte de blocage mental, ou peut-être que le fonctionnement de mon cerveau n'était pas vraiment adapté à celui de ces langages de programmation. C'est avec Java que j'ai été le plus efficace, mais la boîte à outils de l'interface utilisateur faisait défaut », avait-il expliqué. À un moment donné, Brad s'est concentré sur la vente d'une boîte à outils d'interface appelée "ICpak" et a engagé une équipe pour poursuivre le travail sur Objective-C, dont Steve Naroff, actuellement ingénieur logiciel senior chez Apple. Naroff a réalisé de grands travaux sur Objective-C.
Plus tard, après avoir été congédié d'Apple, le regretté Steve Jobs a fondé la société NeXT en 1985 et a obtenu la licence du langage Objective-C pour construire son nouveau système d'exploitation, NEXTSTEP. NeXT a finalement acquis l'Objective-C de Stepstone. Le travail d'extension du CCG a été mené par Steve Naroff, qui a rejoint NeXT depuis StepStone. En outre, Steve Naroff a également été le principal contributeur à travailler chez Apple pour construire le front-end Objective-C de Clang.
Objective-C : quel avenir pour le langage après l'introduction de Swift ?
Objective-C est un surensemble du langage de programmation C et il fournit des capacités orientées objet et un temps d'exécution dynamique. Objective-C hérite de la syntaxe, des types primitifs et des instructions de contrôle de flux du C et ajoute la syntaxe pour définir les classes et les méthodes. Il ajoute également un support au niveau du langage pour la gestion des graphes d'objets et des littéraux d'objets tout en fournissant un typage et une liaison dynamiques, ce qui reporte de nombreuses responsabilités jusqu'à l'exécution.
Il s'agit d'un langage de programmation généraliste, orienté objet, qui ajoute des messages de type Smalltalk au langage de programmation C et dont la première version remonte à 1983. Il a été le principal langage utilisé par NeXT pour son système d'exploitation NeXTSTEP, dont macOS et iOS sont dérivés. Les programmes Objective-C portables qui n'utilisent pas les bibliothèques Apple, ou ceux qui utilisent des parties pouvant être portées ou réimplémentées pour d'autres systèmes, peuvent également être compilés pour tout système supporté par la GNU Compiler Collection (GCC) ou Clang.
Jusqu'en 2014, avant l'introduction de Swift, Objective-C était le principal langage de programmation supporté par Apple pour macOS, iOS, ainsi que leurs interfaces de programmation d'applications (API) respectives, Cocoa et Cocoa Touch. Par exemple, en 2011, lorsque l'iPhone est apparu, Objective-C était le seul choix si vous vouliez développer une application ou un jeu pour iOS. Mais depuis 2015, la popularité d'Objective-C est en chute libre. En introduisant Swift, Apple encourage les développeurs à l'adopter rapidement aux dépens d'Objective-C, un langage vieux de plus de 35 ans.
Ainsi, en février 2020, l'indice TIOBE a révélé qu'Objective-C, un langage classé dans le top 5 en 2014, a perdu en popularité et se retrouve désormais à la vingtième et dernière place du classement. Selon certains experts, il faut reconnaître que cette baisse a pris plus de temps que prévu. En effet, le problème avec Objective-C est qu'avec le temps, il est devenu assez ancien et pas si simple pour les nouveaux développeurs, par rapport à Kotlin, que les développeurs Android aimaient pour sa syntaxe concise et claire, car il est utilisé beaucoup plus facilement pour écrire des applications qu'avec Java.
Un sondage réalisé sur developpez.com en 2019 a révélé que 70 % des votants pensent qu'Objective-C va disparaître dans les prochaines années. Certes, de plus en plus de développeurs ont commencé à utiliser Swift, mais notons qu'Objective-C ne s’est pas encore totalement effondré dans le classement des langages populaires. Cela est dû notamment à ses 35 années de code hérité et de nombreux développeurs qui préfèrent simplement travailler avec un langage qu’ils ont toujours utilisé. Cela dit, à un moment donné, Objective-C finira par disparaître complètement.
Et vous ?
Pensez-vous qu'Objective-C sera encore là pour longtemps ?
Apple fait-il bien de conduire tous les développeurs vers un seul et unique langage ?
Voir aussi
Popularité des langages de programmation : Objective-C en perte de vitesse d'après TIOBE, Python a dépassé Java pour la première fois en termes d'utilisation sur les projets open source GitHub
Sondage : quels sont les langages de programmation qui vont probablement disparaître dans les prochaines années ?
Java pour Android et Swift/Objective-C pour iOS : quelle plateforme permet de développer plus vite ?
Infinum penche pour la plateforme d'Apple
Objective-C devient plus populaire que C++, d'après TIOBE