J'ai lu cette question et cela m'a fait penser à une autre chose assez récente. Langages orientés objet. Je ne sais pas quand le premier a été créé, mais pourquoi a-t-il fallu si longtemps avant qu'ils ne deviennent courants?
- C est devenu très populaire, mais n'est pas devenu le C ++ orienté objet pendant des années (décennies?) Plus tard
- Aucune langue dominante avant les années 90 n'était orientée objet
- Orienté objet semble vraiment décoller avec Java et C ++ à la même époque
Maintenant, ma question, pourquoi cela a-t-il pris si longtemps? Pourquoi C n'a-t-il pas été conçu à l'origine comme un langage orienté objet? Prendre un très petit sous-ensemble de C ++ n'aurait pas beaucoup affecté le langage de base, alors pourquoi cette idée n'était-elle pas populaire avant les années 90?
Réponses:
Tout d'abord, essayons d'établir une chronologie:
Les principales influences de Ritchie étaient BCPL et ALGOL (les deux sont des langages impératifs), et C a été créé à une époque où l'approche de Simula et Smalltalk pour l'orientation des objets n'était pas encore bien connue. Il a été achevé vers 1972 et C with Classes est apparu seulement 7 ans plus tard, Dennis Ritchie et Brian Kernighan étant impliqués dans sa création :
L'objectif C est apparu 11 ans plus tard, et C ++ et C ++ ont tous deux été des efforts importants et couronnés de succès pour apporter une orientation objet à C. L'écart peut sembler long maintenant, mais je ne pense pas qu'il était particulièrement long à l'époque, rappelez-vous que nous parlons sur une époque avant le World Wide Web. 1993, quand Mosaic (le premier navigateur) est apparu a été un tournant dans l'industrie. Java et Delphi, sortis quelques années plus tard, avaient un énorme avantage sur leurs prédécesseurs, du moins en termes de popularité. Le Web a également été l' une des plates - formes Sun ciblaient leur WORA promesse , peut - être plus importante à l'époque, et Java a été largement commercialisé comme la langue pour la plate - forme alors née récemment.
Un autre facteur clé est que la fin des années 1980 et le début des années 1990 ont été une époque où les interfaces graphiques ont commencé à devenir populaires, en particulier dans l'informatique domestique, alors que le matériel devenait de moins en moins cher. L'orientation objet est un paradigme extrêmement pratique lors du développement d'interfaces graphiques et d'applications orientées graphiques en général, et Turbo Pascal, Delphi, Visual Basic et (peut-être dans une moindre mesure) Java ont été loués (à l'époque) pour la simplicité qu'ils apportaient au développement d'interfaces graphiques.
Le marketing agressif de Java par Sun a évidemment également joué un rôle, mais comme je me souviens encore très bien de ma première interaction avec lui, je n'ai certainement pas été impressionné. Ma première réaction à Java a été "hm, rien de plus qu'une ressource avide de C ++, je m'en tiendrai à Turbo Pascal, merci beaucoup" (hé, je n'avais que 17 ans à l'époque;). Je ne sais pas comment quelqu'un d'autre a réagi à Java à l'époque, mais pour moi, c'était juste une mode et je suis rapidement passé à Delphi (et Visual Basic, soupir), et j'ai commencé à utiliser Java quelques années plus tard, à l'université , et uniquement parce qu'il s'agissait d'un cours obligatoire.
S'il est vrai que Java, et sa saveur d'orientation d'objet, deviennent très rapidement populaires, je ne pense vraiment pas que le paradigme n'était pas assez populaire avant le milieu des années 1990, l'introduction du Web a changé notre définition de la popularité. Dans tous les cas, le milieu des années 1990 a été une période où le développement de logiciels en général a connu un regain de popularité, le Web, la prolifération des interfaces graphiques et le matériel moins cher étant des facteurs clés. Java était simplement au bon endroit au bon moment.
Lectures complémentaires:
Questions connexes:
la source