Python, Java, C #, Perl, fondateur se sont réunis, les langages de programmation avec le temps?

Les mérites des langages de programmation, a été controversée. Si les créateurs de langage de programmation ont été réunis pour parler de leur propre langage de conception, il sera Déclenchez « règne de la terreur »?

En fait, tout récemment, le fondateur Python Guido van Rossum, fondateur de Java James Gosling, C #, fondateur Anders Hejlsberg, fondateur Perl technologie Larry Wall pour obtenir quatre grands à Seattle pour discuter de l'avenir de la programmation et la conception du développement du langage.

Auteur | Bhagyashree R

Traducteur | ménisque

Zebian | Tu Min

Produit | RPSC (ID: CSDNnews)

Ce qui suit est la traduction:

Au début Avril, le premier événement de charité annuel Puget Sound Programmation Python (puppy mentionné) a eu lieu, le langage de programmation du fondateur légendaire de quatre ensemble a eu une discussion animée sur la programmation de la conception linguistique passé et futur. La campagne est destinée à tout axée sur l'enseignement des sciences informatique (Informatique pour tous, un nouveau plan avant le début de l'année, le président américain Barack Obama a proposé le système éducatif américain visant à populariser la science informatique) pour lever des fonds.

Les membres du Groupe participants, y compris le fondateur des langages de programmation:

  • Guido van Rossum: fondateur de Python;

  • James Gosling: Java fondateur de langage de programmation et concepteur en chef;

  • Anders Hejlsberg: auteur original de Turbo Pascal, il est également engagé dans le développement de C # et le tapuscrit;

  • Larry Wall: fondateur Perl.

La discussion sera animée par Carol Disposé, elle est actuellement membre du comité directeur des projets Jupyter et les développeurs. Elle est membre du Comité directeur de la Fondation First Python, Python Software chercheur et ancien directeur.

Les principes clés de la conception du langage de programmation

La première question posée par les panélistes sont: " Quel est le principe de la programmation conception du langage? "

Guido van Rossum a déclaré:

Programmation conception du langage et J · K · Rowling a écrit sa série de livres Harry Potter est très similaire.

Il a expliqué que, J · K · Rowling est un génie, certains détails mentionnés dans le livre dans son premier livre Harry Potter et le sixième et le septième livre est un écho importants de l'intrigue.

Pour expliquer la relation entre la conception et le langage de programmation, il a dit: « La même chose est vraie dans la programmation conception du langage, nous devons faire l'écho de la queue. » Dans la conception des langages de programmation, nous d'abord promettre de certains détails, tels que notre les mots-clés que vous souhaitez utiliser, nous voulons suivre le style de codage et ainsi de suite. Cependant, peu importe la décision que nous faisons, doit adhérer à la fin, l'avenir, nous devons être comme J · K · Rowling, comme, trouver de nouvelles façons d'utiliser ces détails.

Il a ajouté: « D'une part, la conception de travail des langages de programmation, le meilleur départ que vous devez faire une série de choix, ouvrant la voie au développement de votre histoire d'autre part, l'art et la conception de langages de programmation est que vous devez garder. revoir votre histoire, et d'élargir fantaisie à votre manière inattendue pour promouvoir le développement de l'histoire ».

Quand on parle de James Gosling créé processus Java et les principes de conception qu'il suivait, il dit simplement: " L'émergence de Java n'est pas aussi personnelle que le projet d'amour. En fait, nous voulons juste essayer de construire un prototype. « À l'époque, James Gosling et son équipe a réalisé un projet implique domaine des systèmes embarqués. A cette fin, ils ont eu une conversation avec un certain nombre de développeurs de logiciels de construction pour des systèmes embarqués, et comprendre leur flux de travail.

Le projet est d'environ une douzaine de personnes, Gosling est responsable du langage de programmation aussi simple que possible du point de vue du projet. Il a ajouté: «Au départ, nous voulions juste faire quelque chose de mieux que C, mais perdu le contrôle, et la partie restante du projet final que le matériel fourni » Heureusement, « Java » a survécu du projet. Le langage de programmation est de résoudre fondamentalement les gens résident en dehors des problèmes de centre de données, ces personnes sont souvent en proie à des problèmes de réseau, de sécurité et de fiabilité.

Larry Wall se sentait plus comme un « linguiste » plutôt que des informaticiens. Il voulait créer un langage de programmation plus du langage naturel. Il a cité un exemple: « Il est comme si nous ne devons pas mettre tout le monde dans le campus de l'université afin de déterminer leur propre destin, nous pouvons observer où les gens veulent aller, puis définissez le raccourci menant à ces endroits. » Perl créer un principe de base est de fournir toutes les fonctionnalités via l'API. Ce langage de programmation cible est non seulement d'établir une excellente langue de traitement de texte, mais veulent aussi être une langue de colle.

Mur De plus, bien que Perl est très stable dans les années 1990, mais il a quelques problèmes. Par conséquent, en 2000, quand l'équipe Perl a décidé de tout casser, et il a proposé un nouvel ensemble de principes de conception. De plus, ils sont également basés sur ces principes, reconçu le Perl 6. Certains de ces principes ont fait le bon choix - l'utilisation prudente des parenthèses, crochets ou le nombre Unicode ne suffit pas, pas besoin de réinventer la mauvaise orientée objet, et ainsi de suite.

Il a ajouté que

« Beaucoup de refonte comme dire que nous soutenons avec tous les piliers? Le nouveau design est orienté objet? Oui refonte du domaine lexical, ou dans un contexte plus large? Corriger chaque information Quel montant? Si nous ne disposions pas des piliers, alors, comment créer? "

Anders Hejlsberg a dit qu'il suivait les principes communs dans toutes les langues de programmation qu'il avait été en contact, à savoir " Pour faire quelque chose qu'une seule façon. « Il croit que si les développeurs Il y a quatre façons différentes, la dernière est susceptible de choisir le mauvais chemin, mais aussi eu beaucoup de temps pour se rendre compte que cette erreur dans le développement. Selon l'argument Hejlsberg, ce qui explique pourquoi les développeurs toujours après la réunion a créé un produit appelé « simple complexité » des choses, c'est-à-dire des choses compliquées obtenir, emballage simple à masquer la complexité.

Semblable au point de vue de Guido van Rossum, il a ajouté que, dans la conception d'un langage de programmation, quelle que soit la décision que vous faites, vous devez respecter à la fin. Dans la conception des langages de programmation, vous devez décider soigneusement « non » à des choses qui seront introduites ce langage de programmation. Souvent, les gens présenteront leurs recommandations à vous, mais vous ne pouvez pas vraiment changer la nature du langage de programmation. Bien que vous ne pouvez pas vraiment changer la nature fondamentale de la langue, mais vous pouvez l'étendre. Fondamentalement, vous avez deux options: soit d'insister sur la nature du langage, ou le développement d'un nouveau langage de programmation.

Programmation système de type linguistique

Quand on parle du type de méthode pour déterminer Python, Guido van Rossum a partagé une histoire quand Python a été introduit. Dans un premier temps, int est pas une classe, en fait, il est une fonction de conversion. Plus tard, Guido a réalisé qu'il était une erreur. « Nous avons beaucoup de ces fonctions, nous avons réalisé que nous avons fait une erreur, et nous vous proposons différents types de haut-classe d'objets à l'utilisateur. »

Ainsi, l'équipe a décidé de reconstruire le type de l'ensemble de Python Python, et beaucoup de nettoyage. Par conséquent, ils vont changer la fonction int spécificateur de type int. Maintenant, appelez une instance de ce moyen de classe que la structure de classe.

James Gosling indique qu'il a été très concentré sur les performances et d'améliorer les performances d'un facteur est le type de système. Dans la construction de l'optimisation des compilateurs et vérifier l'exactitude avance, le type de système est très pratique. Le système a également contribué à construire le type de conditions de système pour les petits appareils. Il a dit: « Pour être en mesure de travailler dans un espace limité, vous devez comprendre toutes les possibilités fournies par l'appareil, et le plus tôt vous le savez, plus un travail bien fait. »

Anders Hejlsberg le système de type comme un outil. Les développeurs aiment leur IDE, ils sont habitués à utiliser automatiquement rempli la déclaration, la refactorisation et la navigation de code. Ces fonctions sont la connaissance sémantique du code pour atteindre, et c'est la connaissance sémantique fournie par le système de type de compilateur. Hejlsberg pense, le type d'ajout peut grandement améliorer la productivité des développeurs, même si cela est contraire à notre intuition.

Il a ajouté: « Nous pensons que le langage dynamique plus facile à maîtriser, parce que vous vous débarrasser des chaînes du type, cependant, il se trouve, si vous ajoutez le type d'une manière non invasive, et nous nous efforçons de faire l'inférence de type, etc., il peut être plus efficace. "

En ce qui concerne le type de système en Perl, Perl 5 représente mur et Perl 6 ont différents types de systèmes. En Perl 5, tous les types sont traités comme des chaînes, des nombres, ou même un type à virgule flottante. L'équipe espère toujours conserver cette fonction lorsque le 6, mais ils se rendent compte Perl redessinée: « Si les nouveaux utilisateurs sont confus au sujet de l'interchangeabilité que ça va, mais même si les ordinateurs sont confus, il est défavorable. "

Ensuite, en Perl 6, Mur et son équipe espèrent mieux lutter contre la meilleure langage de programmation et fonctionnelle orientée objet. Pour atteindre cet objectif, ils ont besoin d'un système de type très raisonnable, et la mise en place d'un modèle méta-objet est très raisonnable au fond. De plus, vous devez également attacher une grande importance à « tout est un objet, tout est fermé », le slogan.

Facteurs influant sur le maintien du langage de programmation de quoi?

Guido van Rossum pense que si vous voulez renforcer le maintien de la langue de programmation, vous devez trouver le juste équilibre entre la flexibilité et la normalisation, il est très important. Bien que le programme est pour les petits, le typage dynamique plus facile à utiliser, mais de grands programmes dont vous avez besoin d'utiliser des méthodes rigoureuses. De plus, la meilleure règle peut être obtenue en langage de programmation lui-même, ne laissez pas beaucoup d'espace pour le jeu libre à l'utilisateur. Pour cette raison, Guido tapuscrit prévoit d'ajouter une technologie similaire en Python. Il a ajouté:

« En fait, tapuscrit très pratique, donc nous voulons aussi ajouter un concept similaire en Python. Bien sûr, nous ajouterons une manière légèrement différente, parce que nous sommes différents endroits. »

En plus du type de système, le moteur de reconstruction avéré être très utile. Avec le moteur post-reconstruction, vous pouvez millions de lignes de code pour effectuer une grande échelle reconstruite. Souvent, les gens ne renomme pas la méthode, car il est difficile de lire attentivement la section du code, puis correctement à chaque changement de nom variable. Si vous avez un moteur de reconstruction, vous pouvez simplement pointer quelques boutons, entrez un nouveau nom, puis à la reconstruction complète dans les 30 secondes.

représentation Anders Hejlsberg, projet tapuscrit d'un certain nombre de grandes bases de code JavaScript. Comme ces base de code devient plus grand et le travail d'entretien est devenu extrêmement difficile. Plus tard Fondamentalement, ces base de code dans un « code d'écriture seule. » Il a ajouté que, donc nous avons besoin de comprendre la sémantique du code, et ce processus réduit également la difficulté du travail de reconstruction. Il a dit: « Cette compréhension sémantique de la nécessité d'un type de système, mais quand vous commencez à ajouter dans le système de type, vous pouvez également ajouter un code de document. » Mur soutient également le point de vue « bonne aide portée lexicale Reconstruire ».

La programmation future de la conception du langage

Quand on parle de l'avenir de la programmation conception du langage, James Gosling a partagé les domaines de la programmation qui ne sont pas entièrement explorées - écrites pour utiliser le code GPU. Il a souligné qu'à l'heure actuelle notre langage de programmation ne peut pas utiliser directement GPU, nous devrions augmenter le développement de cette région.

Anders Hejlsberg dit langage de programmation ne change pas aussi rapidement que le matériel ou toute autre technologie. Sur le rythme du développement est concerné, le langage de programmation et le cerveau humain est plus comme les mathématiques. Il a dit: « Nous sommes encore en usage il y a 50 ans, l'invention de la programmation linguistique, le principe de la programmation fonctionnelle tous les résultats de recherche étaient il y a 50 ans. »

Cependant, il croit aussi que le langage de programmation multi-paradigme d'aujourd'hui a tendance à être pas stricte distinction entre les catégories programmation orientée objet ou la programmation fonctionnelle.

« Nous allons vers le langage multi-paradigme. Je pense que nous ne devrions pas dire que je ne aime la programmation orientée objet, programmation impérative ou langage de programmation fonctionnelle. »

Aujourd'hui, plus important encore, nous devons comprendre les dernières recherches, de nouvelles idées et de nouveaux paradigmes, et avec élégance ces nouvelles idées dans notre style de programmation.

Pour plus de détails, s'il vous plaît cliquez ici pour regarder la vidéo de la conversation CHIOT (être Internet scientifique):

https://www.youtube.com/watch?v=csL8DLXGNlU

Original: https: //hub.packtpub.com/creators-of-python-java-c-and-perl-discuss-the-evolution-and-future-of-programming-language-design-at-puppy/

Cet article traduction RPSC, s'il vous plaît indiquer la source de la source, la source de photo de couverture | https://www.youtube.com/watch?v=csL8DLXGNlU.

Le patriotisme striver | Chen a fait: unité de soins intensifs est toujours inquiet au sujet des ménages pauvres, « pas de cadres tripes »
Précédent
Une semaine a levé environ 440 milliards de dollars! Réduction de la marée à venir? Experts: Pas si grave
Prochain
Dry Branch Baptist et égalité au premier! 2019 tennis de l'université warm-up du tournoi WTA
Rhododendron Flower Festival Danzhai Dix bonnes raisons de punch vacances "May Day" viendra
Taobao et 50000000000000 pour lutter contre beaucoup de concurrence pour les fournisseurs d'électricité rivières et des lacs | Chatteris
Pourquoi est diplômé de l'Université de Beijing célèbres entreprises CTO assis sur la plage en Thaïlande frapper Code? | Portraits
Comment obtenir des algorithmes compétences nécessaires apprentissage machine? | titres technologiques
BMW Vision inext débuts Chine, pilote automatique Mise au point
Comité financier et économique central fait référence à la situation des prix a observé comment l'inflation de la politique monétaire?
orme Jilin: exploration incessante des comtés producteurs de céréales à l'agriculture du comté
les propriétaires de Mercedes-Benz sont avocat de recouvrement de créances militante: client n'est pas « fuir »
Huawei à imiter Apple pour vendre téléphone haut prix? Bit essai sur route en niveaux de gris ouvert | Geeks titres
Python rampants Wu Yifan de 100.000 données d'acheminement, un véritable trafic Pa Pa!
Comment bon programmeur est né?