J'aimerais vraiment me concentrer sur les raisons pour lesquelles certains nouveaux langages de programmation sont adoptés dans le courant dominant, et d'autres restent relativement niches. Je voudrais en savoir plus sur des choses comme des cas d'utilisation spécifiques, la compatibilité descendante ou certaines nouvelles fonctionnalités, des difficultés d'implémentation simples ou complexes. Des exemples spécifiques seraient appréciés, mais ne nous attardons pas sur la définition exacte de «grand public» ou de «niche» ici.
programming-languages
DeadMG
la source
la source
Réponses:
Si quelqu'un savait vraiment, ce serait des gens très riches.
Cela dit, voici ma supposition:
Disponibilité
BASIC est un petit langage affreux fourni avec (tous?) Les PC lors de leur première sortie. L'Apple II (l'ordinateur par défaut de nombreuses écoles secondaires) et l'ATARI 400/800 (le premier ordinateur domestique super bon marché) sont tous deux fournis avec BASIC.
Si vous aviez une machine UNIX (AT&T system V ou Berkeley's), vous aviez C. Si vous vouliez programmer la machine, c'est ce que vous deviez utiliser.
EDIT : Avec l'avènement et l'omniprésence du «net», cette exigence se transforme en:
Facilité de transition
Java est un bon exemple ici. Si vous connaissiez la programmation C, Java n'était pas un pas en avant très important, et pourtant il offrait de nombreuses fonctionnalités qui manquaient à C et que C ++ n'a pas pu fournir proprement.
C ++ pour des raisons évidentes était un pas en avant facile par rapport à C, et il était facile de le vendre à la direction en tant que C. «amélioré». C ++ avait l'avantage supplémentaire d'être rétrocompatible avec une grande partie de la base de code C existante.
Perl était une fusion de C, awk, sed et d'autres utilitaires Unix dans un seul paquet. Avant son apparition, la plupart de l'administration du système se faisait par le biais de scripts shell collant tout ensemble de manière insatisfaisante. Rassembler tout sous un même processus avec les structures de données et le contrôle d'un langage de type C était une aubaine.
Répond à un besoin
C a décollé car il vous a permis de produire des rendements proches de l'assemblage sans vous enliser dans le monde de l'assemblage spécifique à la machine, difficile à maintenir.
FORTRAN a décollé car il a permis de traduire facilement des idées mathématiques en code sans avoir à se perdre dans les détails de la machine.
De même pour LISP et la manipulation symbolique.
Python est né du besoin d'un "meilleur" Perl. (Je suis biaisé ici, donc je n'en dirai pas plus.)
PHP était essentiellement le BASIC pour le Web - il était installé par défaut sur de nombreux serveurs Web, et il était facile de pirater rapidement quelque chose d'utile.
Plaidoyer, base d'utilisateurs, code contributif
Avouons-le, Haskell ne serait nulle part aussi populaire qu'il l'est pour un langage non en cours de production sans le plaidoyer infatigable de ses développeurs et de sa base d'utilisateurs.
De nombreuses langues ont un culte de la personnalité derrière le (s) créateur (s) de la langue, et nous savons tous qui elles sont.
FORTRAN possède d'énormes ensembles de codes mathématiques établis et approuvés; idem pour Java et les systèmes web / intégration de systèmes / MVC; idem pour Perl et CPAN; idem pour T E X et la gestion des documents; etc.
Le Il facteur
Pour une raison quelconque, certaines langues semblent simplement avoir la bonne quantité de nouvelles , avec suffisamment de clin d'œil à l' ancienne , avec une manière qui semble facile ou nécessaire. Autrement dit, il fait son propre cas. Et qui sait exactement comment cela se produit?
Quoi qu'il en soit, c'est ma meilleure estimation de la raison pour laquelle certains le font. Quant à savoir pourquoi certains ne le font pas ... eh bien, s'ils ne répondent pas aux critères ci-dessus, c'est probablement pourquoi ils ont échoué.
la source
Les langues deviennent populaires car elles ont un avantage sur les langues existantes dans un domaine qui est nécessaire.
Java
PHP
Javascript
Objectif c
Rubis
C #
ActionScript
Erlang
la source
Je serai un cynique: l' argent et le marketing.
Ce n'est pas un hasard si C # est pris en charge par Microsoft, Java par Oracle et Objective C par Apple. Seul Google's Go n'a pas encore vraiment disparu.
Bien sûr, l'argent n'est pas la seule raison, mais avoir des poches profondes aide à mettre votre langue sur le marché.
la source
D'une part, c'est le marketing, plus précisément les présentations, les blogs, etc. Il est important d'avoir des fonctionnalités auxquelles les programmeurs traditionnels peuvent se rapporter et voir des avantages par rapport à ce qu'ils savent (Java vs C ++ - garbage collector vs. Le dernier, mais non le moindre, est d'avoir une faible barrière à l'entrée - exemples, bonnes documentations, installation transparente, bonne communauté et support, développement dynamique.
la source
Presque toutes les langues avaient des programmes de résolution de problèmes réels et non triviaux écrits en les utilisant très tôt dans leur vie.
Unix a été écrit en C, tout comme les outils sur Unix, quand C était très jeune et évolutif.
Anaconda (le programme d'installation de RedHat) a été écrit en Python quand Python était jeune et n'avait pas la popularité d'aujourd'hui.
Voilà ce dont je me souviens d'avoir été remis. Cette liste pourrait toucher chacune des langues qui ont survécu à ses années de formation.
Ensuite, l'adoption à grande échelle dans les universités peut contribuer à la longévité d'une langue. Java est très populaire dans les universités comme langue d'enseignement. Dans une certaine mesure, le lisp et les dialectes du lisp jouissent également de ce statut.
la source