Entretien avec C ++ – créateur Bjarne Stroustrup

contenu
  1. Entretien avec C ++ - créateur Bjarne Stroustrup
  2. Développement et enseignement
  3. lire sur un côté
Entretien avec C ++ - créateur Bjarne Stroustrup

Depuis plus de 35 ans, Bjarne Stroustrup travaillant sur C ++. Pourquoi la version droite sanctionnée vaut la peine, comment enseigner la langue mieux et ce qu'il souhaite pour son avenir, il révèle dans une interview.

et Caractéristiques: M. Stroustrup, comment êtes-vous venu à ce programme?

Bjarne Stroustrup: Quand je devais étudier à l'université à la recherche de quelque chose, j'aspirait à une sorte de mathématiques appliquées et a donc opté pour la science informatique. Heureusement pour moi, il ne ressemblait en rien, et je programmation appris, les architectures informatiques et les systèmes d'exploitation aiment rapidement. Il était - et est encore - juste un champ merveilleusement dynamique et en croissance constante. Le fait que vous pouvez comme une seule personne pour apporter une contribution positive au monde dans ce domaine est très important pour moi.

et Caractéristiques: Y at-il quelque chose à être particulièrement fiers quand ils reviennent sur les 30 ans qui ont eu lieu il y a C ++?

A propos de Bjarne Stroustrup

Bjarne Stroustrup a commencé en 1979 sous le nom de C ++ "C avec des classes" à se développer. L'objectif à ce moment-là était de créer une programmation Pache, qui peut être efficace et élégante au même code d'écriture de temps. Catalyseur pour le développement était Stroustrups travaillent dans le domaine des systèmes distribués.

La première version a été interne d'Août 1983, A&T utilisé, la même année, la langue a également reçu son nouveau nom, C ++. La première mise en œuvre commerciale a été publié à l'automne 1985, en 1998, la langue a été standardisée.

Stroustrup est actuellement directeur du département de la technologie chez Morgan Stanley, professeur invité à Columbia Univerity et habillé en tant que professeur de la chaire de science informatique au Texas A&M University. Ses intérêts de recherche sont dans les domaines des outils de programmation, les techniques et les langues. Il participe activement à la normalisation ANSI / ISO C ++.

Stroustrup: En termes de C ++ en introduisant les constructeurs et destructeurs était probablement ma meilleure performance. Ils étaient déjà dans la première semaine de la conception. La plupart des C ++ moderne - techniques dépendent d'eux.

En général, je suis très heureux que C ++ a joué un rôle dans la plupart des grandes avancées scientifiques et techniques de notre temps. Il y aurait, par exemple, le séquençage du génome humain, le Mars Rover et la découverte du boson de Higgs. d'avoir contribué à cet effort historique - même si elle était juste un peu - c'est ce qui me motive. Il est aussi excitant - et un peu effrayant - de savoir que C ++ est dans presque tous les secteurs massivement utilisé: dans la technologie des communications, le transport, l'agriculture et bien sûr l'être de l'ordinateur. Il est un élément essentiel de l'infrastructure mondiale et a un impact sur notre vie quotidienne. Quand j'écris quelque chose, j'utiliser un logiciel qui a été écrit en C ++ sur un ordinateur qui a été conçu avec C ++ et mis en œuvre, et le texte final, je vais envoyer un système de communication qui transposent son inventeur avec C ++. De toute évidence, pas tous les codes que nous utilisons C ++ - code, mais il est déjà de manière relativement commune. Enfin, C ++ a donné une impulsion au développement des langages de programmation et des outils, en partie grâce à l'utilisation de la langue et une autre partie a pu motiver les gens à mieux faire les choses.

développeur Heise: Et les aspects négatifs?

Stroustrup: Bien sûr, C ++ a également été utilisé pour les applications que je n'aime pas, mais ne nous laisse même pas démarrer. Chaque outil peut être utilisé pour le bien et le mal.

Je l'ai vu code plus terrible que je n'aurais jamais imaginé. mauvais code est bien sûr pas un pur C ++ - problème et est peut-être le pire que je l'ai vu écrit même pas en C ++. Cependant, je me sens pour C ++ - un peu de code responsable. Je pense que le problème va bien au-delà des C ++ et a plus à voir avec un échec dans la formation où rudiments de la science informatique ne pouvait pas imposer comme une question importante en partie. Il semble que le système éducatif américain dans ce domaine, des hordes de scientifiques de semi-qualifiés "codeurs" et beaucoup trop peu de gens avec un mélange équilibré de compétences de développement de logiciels essentiels (par exemple, une connaissance de base stable en mathématiques, structures de données, des algorithmes, l'architecture informatique, les techniques de conception et de programmation, le développement du système, les tests, l'assurance qualité et une bonne compréhension de la portée) et apporter une attitude professionnelle. Essayer de vouloir tout cela ordonnée à l'origine par la conception d'une langue est sans doute impossible et - ce qui est pire - rend l'insertion de meilleures techniques et la mise à jour de nos toolchains (y compris les langages de programmation comprennent) plus lourd.

développeur Heise: Au cours des dernières années, Allez rouiller C ++ sont - des alternatives sur la scène sont apparus. C ++ peut apprendre des jeunes concurrents?

Stroustrup: C ++ peut apprendre les langues à la fois jeunes et plus âgés. Nous essayons toujours d'apprendre, et parfois nous faisons comme un progrès. apprendre l'inverse, trop de langues modernes de C ++. Il est difficile de battre C ++ dans de nombreux domaines d'application, et il est en constante évolution. Nous avons C ++ 11, et maintenant 14 C ++ était prêt à temps. La langue n'est pas le dessin animé des années 1980 qui détestent beaucoup de gens aiment évident.

et Caractéristiques: En 15 ans, C ++ sera d'environ 50 ans. Est-ce donc ont encore ce sens à votre avis?

Stroustrup: Il est pas improbable que C ++ en 15 ans dominent encore les domaines de la programmation, où la consommation des ressources et la fiabilité sont les points les plus importants. Dans le cas contraire, est une langue qui a appris de C ++, ont pris ce rôle.

et Caractéristiques: Y a-t-il des tendances que vous voulez aller?

Stroustrup: J'espère que C ++ jusqu'à a alors une sélection de modèles simples et spécialisés pour la concurrence. Il devrait y avoir une syntaxe d'apparence simplifiée ont, un niveau plus élevé de sécurité de type et de compiler plus rapidement. Je pense alors il aura encore une manière directe et efficace pour cartographier le matériel, et en général, il est abstraction des opportunités qui génèrent aucune passe en tête et la langue sera précisée plus en détail. Je pense que l'infrastructure de soutien des outils, des bibliothèques, des établissements d'enseignement et de soutien dans la communauté ont jusqu'ici considérablement améliorée.

Qu'est-ce que C ++ 14 apporte

et Caractéristiques: Puisque vous 14 C ++ ci-dessus, quelles sont les principales raisons pour lesquelles les développeurs vous le plus rapidement possible C ++ devrait utiliser 14? Surtout du point qu'il ya encore quelques fabricants d'outils dont les produits ne sont pas encore entièrement compatibles avec C ++ 11?

Stroustrup: En fait, les fabricants de GCC et la demande Clang déjà à 100 pour cent compatible avec 14 C ++ et Microsoft C ++ - la mise en œuvre ne sont pas loin de là. Tous ceux qui travaillent dans la mise en œuvre des normes, traiter 11 C ++ et C ++ 14 d'un. Telle est la bonne approche, car 14 C ++ est une amélioration progressive de 11 C ++, qui a été délibérément conçu pour compléter cette version, et non d'introduire des innovations révolutionnaires.

Les gens sont beaucoup plus rapides avec la recherche 11 C ++ et C ++ pour acquérir 14 qu'ils étaient en C ++ 98e Les compilateurs sont maintenant beaucoup plus vite et mieux, il semble être un meilleur échange en termes de nouvelles fonctionnalités de la communauté. Beaucoup d'entre eux facilitent la programmation sans changements importants dans le code sont nécessaires.

et Caractéristiques: Est-ce pour le prochain C ++ - un bon signe que les versions 14 C ++ comme cela était prévu fini? Ou est-ce vraiment juste une indication qu'il n'y a pas grand chose de nouveau?

Stroustrup: Si l'on délivre un excellent produit, comme la norme C ++ 11, il y a des caractéristiques qui ne peuvent pas toujours être mis en œuvre en raison de contraintes de temps. Certaines conséquences d'une conception peut aussi renoncer que si l'on utilise pour la première fois le produit. 14 C ++ a été défini comme un petit communiqué afin de tenir compte de ces conséquences. Mais il est bien plus qu'une version de correction de bug. Son champ d'action est délibérément maintenu petit afin de fournir à temps. Par exemple:

Dans l'ensemble, il y a une douzaine ou deux ajouts (selon la façon dont vous comptez). En outre, la norme a été formulée beaucoup plus claire dans certains endroits, pour faciliter le travail du réalisateur, la portabilité a été mise au point.