Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

Richard Clark

J'aime pas les blogs mais comme j'aime le mouton...

Actualités

  • c2i.fr
De la syntaxe des types implicites dans VB 9 et C# 3

Il y a en ce moment une grande discussion avec l'équipe de dev de VB sur la syntaxe des types implicites.

Je ne sais pas comment cela se passe avec l'équipe C#, mais l'équipe VB (Amanda, Paul & co) sont vaiment supers pour ca, ouvert et à l'écoute. Cela me rapelle il y a quelques années lors de la discussion de la syntaxe des générics.

Bref, pour mémoire, Type Implicite késaco ?



Dans les VB9 LINQ Documentation preview, vous pouvez écrire :

Dim x = 5

Dans votre dos, le compilateur déclarera automatiquement votre variable x comme Integer (la ligne équivaut à Dim x as Integer = 5). En C#, cela donne :

var x = 5;

Pourquoi cela ? Pourquoi vouloir (et pouvoir) déclarer des variables comme cela ? Le principal intérêt réside dans les projections, ie l'extraction de partie de données. Par exemple :

Dim personnes = Select Dim New (cust.Name, cust.City) From cust In Customers

Le compilateur créera un nouveau type, avec deux propriétés (Name et City) que vous pourrez manipuler localement. Vous voyez que le travail vous est grandement simplifié (pas besoin de créer un nouveau type alors que vous n'en avez besoin qu'à cet endroit).


Bref, là ou je veux en venir concerne justement cette syntaxe. Dans les deux langages, la syntaxe proposée pour l'instant est à mon avis catastrophique (enfin pas terrible quoi). En VB on ne dit rien (alors que le travail du compilateur est loin d'être négligeable) et en C# on  a l'impression de revenir au temps des variant. De plus x est tout sauf var-iable!

Les syntaxes VB comme C# peuvent, dans des mains "mal attentionnées" arriver à une complexification du code généré alors qu'il n'y en avait nullement besoin.

De mon avis, il faut une syntaxe qui montre que l'on sait ce que l'on est en train de faire, que l'on demande "explicitement" au compilateur de trouver ou créer le type adapté.

Donc un certain nombre de MVP ont commencés à proposer une nouvelle syntaxe. En voici un petit lot :

Dim x As ? = 5
Infer x = 5
Dim x As Implicit = 5
Dim x As Inferred = 5
Auto Dim x = 5

J'aime pas le premier (même si Bill l'aime bien ;-)), car il sous entend que vous ne savez pas ce qu'est x (alors que vous savez pertinamment que c'est un Int32).
Les trois suivant me semblent un peu trop "techniques" et l'utilisation de Implicit risque de provoqueur des confusions.

J'aime bien le dernier mais il ne me satisfait pas encore complètement.

DONC

Si vous avez des idées, on est preneur (et j'espère que l'équipe C# se penche aussi sur le problème car var, c'est pas terrible du tout!)

Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :
Posted: mercredi 21 septembre 2005 09:24 par richardc
Classé sous :

Commentaires

richardc a dit :

avec var, ca donne l'impression d'être du JavaScript :/
# septembre 21, 2005 09:42

richardc a dit :

... voir de l'AS (Flash)...
# septembre 21, 2005 14:30

richardc a dit :

Moi je la trouve très bien comme ca la syntaxe C# !!! :-)
# septembre 21, 2005 19:25
Les commentaires anonymes sont désactivés

Les 10 derniers blogs postés

- SQL Server 2008 : Un livre en cours de préparation ! par SQL Server vu par Christian Robert le il y a 6 heures et 46 minutes

- IIS7 : à quel pool d'application correspond le processus w3wp.exe par Atteint de JavaScriptite Aiguë [Cyril Durand] le il y a 7 heures et 43 minutes

- PDC 2008 - J-14 ! par Nix's Blog le il y a 9 heures et 28 minutes

- [Silverlight] La version finale de Silverlight 2 sera disponible en téléchargement demain ! par Thomas Lebrun le il y a 11 heures et 21 minutes

- SharePoint 2007 : Professional Developers Conference 2008 par Philippe Sentenac [MVP SharePoint] le il y a 17 heures et 14 minutes

- [Silverlight] En attendant Silverlight 2 RTW par Blog Technique d'Audrey PETIT le 10-11-2008, 21:55

- Le nouveau Gojira, c’est pour lundi… par CoqBlog le 10-11-2008, 01:18

- SharePoint : nouvel article sur la mise en place des Scopes dans MOSS Searchs par Blog Technique de Romelard Fabrice le 10-10-2008, 17:52

- Hello CS par Le Blog de julz le 10-10-2008, 12:26

- MSDN/TechNet/Microsoft Days Tour 2008 à Lille les 13 et 14 Octobre ! par RedoBlog - The .NET Gentleman !!! le 10-10-2008, 09:35