web-dev-qa-db-fra.com

Origine du nom du langage C #

Je suis un programmeur C et C++ et j'essaie maintenant d'apprendre le C #. J'ai acheté le livre Professional C # par les publications Wrox.

Lors de la migration de C vers C++, je me demandais pourquoi ++ a été ajouté à C. Plus tard, j'ai réalisé que depuis ++ est un opérateur d'incrémentation et il a été ajouté à C juste pour fournir une "extension orientée objet".

En C #, quelle est la signification de #?

71
Prasoon Saurav

Le nom "C sharp" a été inspiré de la notation musicale où un pointu indique que la note écrite doit être faite d'un demi-pas plus haut. [6] Ceci est similaire au nom du langage C++, où "++" indique qu'une variable doit être incrémentée de 1. Le symbole pointu ressemble également à une ligature de quatre symboles "+" (dans une grille de deux par deux), en outre ce qui implique que le langage est un incrément de C++.

En raison des limitations techniques de l'affichage (polices standard, navigateurs, etc.) et du fait que le symbole pointu (♯, U + 266F, MUSIC SHARP SIGN) n'est pas présent sur le clavier standard, le signe numérique ( #, U + 0023, NUMBER SIGN) a été choisi pour représenter le symbole pointu dans le nom écrit du langage de programmation. [7] Cette convention est reflétée dans la spécification du langage C # ECMA-334 . Cependant, lorsque cela est pratique (par exemple, dans la publicité ou dans les encadrés [8]), Microsoft utilise la musique symbole.

De Wikipedia .

Aussi, dans cette interview , Anders Hejlseberg dit:

"Nous voulions avoir une référence à l'héritage C de la langue dans le nom et finalement nous sommes installés sur C #. Certains autres candidats dont je me souviens étaient eC, Safe C, C-carré, C-cube, C-prime, C-star et Cesium … En regardant et ceux maintenant je suis assez content de notre choix. "

Enfin, Naomi Hamilton a posé directement la question à Anders Hejlseberg :

[NH] Pourquoi le langage s'appelait-il à l'origine Cool, et qu'est-ce qui a favorisé le changement en C #?

[AH] Le nom de code était Cool, qui signifiait ‘C like Object Oriented Language’. Nous aimions ce nom: tous nos fichiers s'appelaient .cool et c'était plutôt cool! Nous avons sérieusement envisagé de conserver le nom du produit final, mais ce n'était tout simplement pas faisable du point de vue de la marque, car il y avait beaucoup trop de choses intéressantes.

Le comité de nommage a donc dû se mettre au travail et nous avons en quelque sorte aimé la notion d'avoir une référence inhérente à C là-dedans, et un petit jeu de mots sur C++, car vous pouvez en quelque sorte voir le signe tranchant comme quatre avantages, c'est donc C++++ . Et l'aspect musical était aussi intéressant. Donc c'était C #, et je suis vraiment très content de ce nom. Cela nous a bien servi.

108
Gregory Pakosz

Étant donné qu'il s'agit du site Web d'un programmeur, il est peut-être intéressant de répertorier les "vrais noms", les noms que les programmeurs Microsoft ont utilisés lorsqu'ils ont travaillé sur les projets. Ces noms ont tendance à apparaître, comme les enregistrements archéologiques, dans le code source du CLR (Rotor), des fichiers d'en-tête SDK et de la source de référence.

C # a commencé comme COOL (C-like Object Oriented Language). Les makefiles de Rotor montrent que les premiers codes C # peuvent avoir été écrits dans des fichiers avec l'extension de nom de fichier .cool. Cependant, il existe également plusieurs endroits où il est nommé COOLC.

Le CLR avait plusieurs noms. Il a commencé comme un projet au sein du groupe qui fonctionnait sur COM + de Windows 2000, il y a de nombreuses références à "ComPlus" dans le code source CLR. Le code d'exception pour une exception gérée est 0xe0434f4e, 0xe0 + "COM" +1. Dans le fichier WinError.h, les codes d'erreur CLR utilisent "URT", "Universal Run Time". La contraction "Cor" apparaît à de nombreux endroits dans les interfaces d'hébergement, "COM Object Runtime". Le code source CLR utilise très couramment l'acronyme EE, distinct de COR, abréviation de Execution Engine et une partie des modifications de la base de code CLR pour obtenir l'exécution du code managé.

Noms de projets internes que j'ai vus:

  • Rainier: Visual Studio 2002
  • Everett: Visual Studio 2003
  • Whidbey: Visual Studio 2005
  • Orques: Visual Studio 2008
  • Hawaï: Visual Studio 2010 (très tôt)
  • Rotor: version Shared Source du CLR
  • Avalon: WPF
  • Indigo: WCF
  • Yukon: SQL Server 2005
  • Katmai: SQL Server 2008
  • Strike: une extension de débogage personnalisée utilisée pour déboguer la première version du CLR, évoluée en SOS (Son of Strike).
7
Hans Passant

En 1991, Al Stevens a introduit D-Flat dans Dr. Dobbs Journal (DDJ); un framework basé sur DOS et événementiel pour la construction d'interfaces utilisateur (voir http://www.ddj.com/18440855 ). À l'époque, D-Flat était écrit en C, car Al Stevens a écrit la colonne Programmation C pour DDJ. Le nom C++ était déjà pris et il avait envisagé C-Sharp, mais était convaincu que quelqu'un y avait déjà pensé (voir http://www.ddj.com/184410858 ). Mon opinion est qu'Al Stevens pensait au nom de C-Sharp depuis longtemps, parce que D-Flat n'était pas un caprice et qu'il avait tellement d'expérience linguistique.

6
Joe Mayo

Jetez un œil à cette explication: http://www.jameskovacs.com/blog/CNETHistoryLesson.aspx

Le nom C # était musicalement inspiré. C'est un langage de style C qui est une étape au-dessus de C/C++, où sharp (#) signifie un demi-ton au-dessus de la note.

4
driis

Le "#" est en fait censé être un symbole musical pointu - comme ++ indique que C++ est incrémenté en C, # indique C++ incrémenté ou C++++; un langage avec la syntaxe C, offrant des fonctionnalités de plus haut niveau.

2
Petter berrie

Le "#" est en fait censé être un symbole musical pointu - comme ++ indique que C++ est incrémenté en C, # indique C++ incrémenté ou C++++; un langage avec la syntaxe C, offrant des fonctionnalités de plus haut niveau.

Consultez le article wikipedia à ce sujet.

2
ljs

C'est juste un nom. Le caractère # est tiré de la notation musicale, ce qui signifie que C # (C sharp) est une demi-note au-dessus de C.

C # est en partie basé sur C/C++, mais aussi sur Java et Pascal (Delphi). Comme Java, C # est un langage orienté objet, tandis que C++ et Pascal sont des langages procéduraux avec des capacités supplémentaires pour l'objet orientation.

1
Guffa

C # est un nom inspiré musicalement et il y a aussi le C # polyphonique

1
jlru

En plus des références musicales notées ailleurs, notez que "♯" et "#" ressemblent à deux symboles "+" superposés.

En fin de compte, bien que ce soit une décision de marketing, pas une décision technique.

(En passant: à l'époque, nous pensions que c'était un mauvais choix parce que les moteurs de recherche ignoreraient les caractères "spéciaux" et vous obtiendriez des résultats pour "C". Maintenant, les moteurs de recherche sont plus intelligents.)

1
Jay Bazuzi