I. Test : Les Développeurs témoignent

"J'utilise Visual Studio .NET 2002 version Architecte.

Ce qui est très appréciable est l'intégration de la documentation dans l'environnement et non dans une nouvelle fenêtre. L'autocomplétion est aussi très appréciée. Un petit reproche tout de même (qui n'est plus vrai pour la version 2003) est lorsqu'on tape par exemple "MaClasse obj = new " la liste des classes apparait, mais la position par défaut est sur la première alors que dans VS.NET 2003 la liste apparait toujours, mais le curseur se positionne automatiquement sur MaClasse.
Un "bug" dans la version 2002 apparait lorsqu'on souhaite créer un contrôle hérité. Le texte dans la fenêtre qui apparaît est illisible tellement c'est petit. Ce problème est aussi corrigé dans la version 2003.

Pour ce qui est des langages, je programme en VB.NET et en C#. La question est pourquoi les deux et lequel est le mieux ?
En fait j'ai débuté en VB.NET, car c'est ce qu'il m'était demandé. Suite à pas mal de critiques lues, et les aprioris de VB, j'ai essayé C# pour voir si vraiment c'était supérieur à VB.NET. Ça fait maintenant trois mois que je développe avec les deux langages et chacun a ses avantages et ses inconvénients. Pour ce qui est de VB.NET, il y a des fonctionnalités telles que le ReDim et ReDim Preserve pour redimensionner les tableaux qui n'existent pas en C#. Des petits plus qui font que VB.NET a son charme. Par contre le GROS reproche que je fais à VB.NET c'est de ne pas avoir le système de génération de documentation, disponible en C#. Donc pour le développement de librairies je développe généralement en C# afin de générer le fichier XML contenant la doc. Ensuite j'utilise NDoc qui permet de générer des fichiers HTML au format MSDN. C'est très pratique : déjà cela oblige à commenter le code et votre doc est générée automatiquement en fonction de vos commentaires. Cela demande juste de respecter quelques règles. Une autre chose qui est assez spécifique est qu'on ne peut pas utiliser du code non managé en VB.NET alors que c'est faisable en C#.

Au niveau des difficultés rencontrées, c'est surtout le manque de support et les exemples dans MSDN trop basiques qui ne répondent pas nécessairement aux besoins. Mais developpez.com est là pour remédier à ça. Sinon pas de réelles difficultés. Il faut juste passer un peu de temps à lire les documentations existantes.

Niveau configuration : je pense que ce post http://www.developpez.net/forums/viewtopic.php?t=46611, répond plus ou moins à cette question. Je signale juste aux développeurs qui font des applications pour la plateforme NT4 de bien tester, car toutes les librairies ne fonctionnent pas sous NT4 (en particulier certaines bibliothèques réseau)

N'ayant programmé qu'en C# et VB.NET, le seul manque est la généricité. Mais cette notion sera présente dans une future version du framework. Sinon il faut attendre un peu que quelques sources soient disponibles sur Internet afin d'avoir d'excellents contrôles.

Pour conclure, je trouve que Visual Studio .NET est un bon outil de développement et j'attends avec impatience la version 2003 finale ou plein de petits détails vont faire que repasser à la 2002 risque d'être désagréable. Un petit plus au niveau de la doc ne serait pas de refus avec des exemples et des cas un peu plus complexes, mais tout en gardant l'existant. Un petit dernier souhait serait de pouvoir utiliser la documentation avec VB.NET.
"
DrQ

"Je me suis mis à Visual.NET pour des raisons de curiosité, et d'apprentissage.

Ce que j'en déduis est assez mitigé.

La première impression fut : "Pas mal du tout".

-> Le fait d'avoir un seul environnement pour tous les types de projets (ASP ? VB, C#...) c'est très appréciable.

-> La compilation automatique (pour peu que la machine sur laquelle tourne Visual ne soit pas trop dépassée et possède pas mal de mémoire vive) m'a rappelé la correction auto de Word. Cela peut aider au début, mais part la suite, je ne trouve pas que cela soit une révolution. Et plus le temps passe et moins j'y prête plus attention. Je pense même la supprimer.

-> La gestion des connexions bases de données grandement simplifiée dans le cas de produits Microsoft (je précise, parce que MySQL ben ça marche mal, et je n'ai essayé que celle-là donc le reste je ne sais pas). Le fait d'avoir juste des Drag & Drop, comme sous ACCESS pour créer des formulaires est fort appréciable.

-> Le mode gérer. Là est la grande question. Car j'ai lu que le prochain Windows intégrerait dans le noyau ce mode. Ne plus avoir à se soucier des allocations et libérations de mémoire est une grosse épine enlevée à notre douloureux pied. Il est clair qu'actuellement, je trouve cela moyennement intéressant, hormis avec le langage C# cela ralentit les applications. Je me demande d'ailleurs ce qu'il en est des applications dont le temps est critique. Parce que quand le carbage collector se déclenche, la machine tend à s'essouffler.

-> C# : Faute de pouvoir imposer leur J++, ils nous ont pondu un mixte entre JAVA et VB. C'est agréable et simple à programmer au début. Pour ceux ou celles qui connaissent un peu Java, ils ne seront pas trop dépaysé(e)s.

-> ASP.NET et les Web Services : Honnêtement, je ne connaissais pas grand-chose en développement WEB (hormis PHP un peu). Et en lisant la documentation de démarrage de Visual, j'ai joué un peu avec ASP.NET. Je pense que la grande force de ce produit est la partie WEB. Parce qu'au vu de la chose, ASP.NET me semble assez puissant pour pouvoir créer des sites WEB importants beaucoup plus facilement. Les contrôles préexistants pour la mise en pages, l'utilisation simplifiée des connexions aux bases de données, mais surtout l'intégration de langages de haut niveau tels VB, C/C++ ou C# directement dans ASP, offre un réel potentiel technique que seul JAVA (servelet) offrait avant. Le PHP est certes simple et de plus en plus puissant, mais reste quand même assez restrictif. On peut bien sûr créer d'importants sites avec PHP, mais il faut pour cela beaucoup plus de travail qu'avec ASP.NET. Un autre avantage est qu'ASP.NET est compilé. Ce qui diminue sans doute la charge des serveurs (enfin je n'ai pas trop d'infos là-dessus).

Après quelque temps, l'avis change un peu :

-> Le principal reproche est que justement ce visual est trop orienté DRAG & DROP. Tant que l'on reste dans une utilisation assez "candide" (aucune mauvaise pensée ici) c'est simple et pour le moins efficace. Par contre dès que l'on veut sortir des sentiers Microsoftiens, cela se corse un peu.

Je prends un petit exemple : les tableaux. Personnellement, l'imbrication des classes (Array, HashTable, Collection...) n'est pas claire. Il faut sans cesse batailler pour passer de l'une à l'autre, ou pour modifier leur taille, parce qu'une fonction demande un tableau, une autre demande une collection. Je pense que cela tient plus de la jeunesse des classes que d'un réel manque d'analyse à la base.

-> L'aide : Alors là gros point noir. Je trouve l'indexage et l'organisation vraiment très peu pratiques. Il m'a fallu 30 min à me balader, et retomber à chaque fois sur les mêmes pages pour trouver comment utiliser les fichiers XML.

->La gourmandise de la bête. Quoi que l'on en dise, il est clair que cette dernière mouture est gourmande en ressources. Même si l'on supprime pas mal d'options qui sont en fait des gadgets.




Conclusion :

L'avis est que ce VISUAL inaugure l'avenir des outils de développements. À savoir on clique, on glisse on lâche et c'est fini. Pour ceux qui sont de la vieille école (DOS et Windows 3.1), et qui aiment comprendre un peu ce qu'ils font, ceci risque d'être un peu dur à avaler. D'autant que l'outil est devenu très lourd, et cause pas mal de soucis si l'on veut passer par dessus cette couche de simplicité.
Sinon l'idée de base que l'on peut se faire de ce produit, est indéniablement qu'il est fortement orienté développement WEB (Intranet et Internet). Peut-être est-ce ça l'avenir : tout sur le mode Clients/Serveurs. On ira chercher des modules et des données sur des serveurs pour les exécuter localement, ou bien des applications distantes et centralisées.
"
ZeBiloute
"J'utilise VS.NET édition architecte, et principalement pour du développement en ASP.NET(code-behind VB.NET). Pour du développement web, je trouve que ASPX/VS.NET est vraiment une solution innovante, on a un vrai environnement de développement pour le web, avec :

->une gestion simplifiée des bases de données
->une mise en place rapide du "graphisme" et des objets de la page web
->Le code "design" et "traitement" clairement séparé
-> La possibilité d'utiliser source safe et de faire travailler, par exemple un graphiste et un programmeur en même temps sur le même projet avec une gestion des ressources élaborée.
-> Mode débug, avec break point, trace de la pile, etc.

Par contre, comme cela a déjà été dit, le "tout automatique" n'est pas toujours la meilleure solution. Par exemple, sous VS.NET, pour afficher des données la solution la plus simple est : objetconnection=>dataadapter=>dataset=>datagrid. En quelques clics vous pouvez ainsi afficher dans un tableau le résultat d'une requête. Pourtant, cette solution n'est pas la meilleure au niveau performances dans certains cas. Il faut donc prendre conscience de ce que l'on génère, et parfois se "retrousser les manches" pour une solution plus longue à coder, mais plus efficace dans certains cas ! Ne pas tomber dans la faciliter de n'utiliser que les assistants pour produire toute son application.

Pour ce qui est du framework, j'ai un gros regret qui est de ne pas voir de classes pour le ftp, mais normalement on aura ça dans la v1.1.
Je regrette aussi la qualité de la documentation, notamment sur le déploiement.

En conclusion, attention au "tout automatique" qui n'est pas toujours la solution la plus optimisée. VS.NET est une version améliorée de VS6, mais qui intègre enfin l'asp ceux qui avaient l'habitude de faire de l'asp sur des éditeurs de texte seront assurément séduits. Pour les développeurs qui utilisaient VS6 avant, VS.NET apportera quelque changement, notamment sur la gestion des bases de données et le déploiement d'application, mais pas de réelle révolution à mon avis."
neo.51
"J'ai participé aux bêta-tests de VS.NET et comparé le produit avec VS6, pour déterminer si OUI ou NON un passage sur .NET améliorait ma productivité.

Certes VS.NET est un bon produit, mais je pense qu'il n'est vraiment qu'indispensable aux développeurs ASP. J'ai beaucoup travaillé avec VS6 et j'ai appris à me contenter des ses bogues et disfonctionnalités. Un plugin, un script, un patch... VS6 tourne bien. On critique les MFC, la doc MSDN n'est pas intégré, instabilité, pseudo-ClassWizards... ces problèmes n'apparaissent plus dans VS.NET. Tout ce qu'il pouvait y avoir de mauvais dans C/C++ a été retiré pour créer "C#", langage propriétaire de Microsoft pour concurrencer le Java. VS.NET est donc un VS6 puissance 2, à savoir que le framework permet de développer une application de A à Z sans quitter l'IDE de développement: conception, analyse, développement, design, documentation, gestion (sommaire) du projet...

Un bon produit donc. Mais quand on est habitué à travailler avec VS6, après bon nombre d'années, je ne vois pas l'intérêt de passer à .NET. La chaîne de développement, production est déjà mise en place, pour chaque fonctionnalité que l'on n'a pas dans VS6, on a des logiciels, add-ins... Par exemple j'utilise Doxygen (JavaDoc) pour générer les documentations de mes sources, Boost pour compenser les défaillances de C++/STL, des composants maisons ou freewares pour compléter les classes existantes de MFC... Donc au final pas besoin d'acheter un produit qui coûte TRÈS CHER quand on a déjà tout un système qui fonctionne. Je ne vois pas en quoi ce produit peut permettre à une entreprise d'améliorer sa productivité (gain d'argent, de temps...) si elle possède déjà une chaîne de production tout à fait performante.

.NET reste donc pour moi un produit innovant qui intègre en son sein un ensemble d'outils que l'on utilisait avant séparément. Ce que je considère être un peu comme un défaut:
->Qui dit passer à .NET dit changer toutes ses configurations, car il est très gourmand en mémoire, temps d'exécution... c'est mon grand regret. Conclusion : achat des licences de .NET + achat de nouveaux PC (sans parler des serveurs à installer, hébergeur des sites...)
->Qui dit passer à .NET dit revoir toute la chaîne de production, tout ce qui a été mis en place doit être abandonné, car "obsolète", et une bonne chaîne de production VS6 vaut largement une production de base .NET
(...)

Pour résumer voici les points noirs de la bête:
-> prix
-> gourmand en ressource
-> à quoi bon si tout fonctionne bien sous VS6 ?

Mais si aujourd'hui je démarrais de rien, sans VS6, j'opterai sans aucun doute pour .NET, car c'est une solution que j'aurai aimé trouver voilà 5 ou 10 ans. C'est en décembre dernier d'ailleurs que ma décision s'est arrêtée après avoir comparé PHP à ASP.

Les temps changent et en 1 an c'est la petite révolution chez le géant de Redmond, Open Source, IDE gratuite (asp.net)... Je regrette presque d'avoir opté pour PHP... Mais le problème reste le même, le développeur semble être parfois plus en avance sur la technologie que proposent certains géants.

Pour moi .NET reste donc un produit "grand public" pour des entreprises qui ont de gros moyens financiers pour se restructurer ou de simples PME ou freelances qui se lancent dans l'aventure du développement ASP/Internet sans trop avoir le temps de regarder à droite (JSS) ou à gauche (PHP)."

jmmolina
"J'utilise VS.Net version Architect,

Les améliorations à mon avis sont :

-> Enfin tout est objet
-> Développement d'application en temps record
-> ASPX Une révolution
-> Simplification du modèle ADO
-> Les services WEB une merveille
-> Protocole SOAP pas une révolution, mais au moins, il passe les routeurs pour les entreprises pas besoin d'ouvrir des ports supplémentaires…
-> Création de service Windows énormément simplifier
-> Développement d'application avec le langage de notre choix
-> L'un des créateurs de rapport les plus complets intégré soit Crystal Report
-> Portabilité des applications avec l'utilisation de la plate-forme .Net
-> Le compilateur désormais notre ami avec le soulignement des erreurs de code, fonctionnalité fort intéressante pour les débutants

De mon coté j'utilise principalement VB.Net pour développer mes applications, puisque tous les langages sur la plate forme .net semblent malheureusement être sensiblement limité aux mêmes performances alors pourquoi ce compliquer la vie.
(...)

Côté manques et points faibles :

-> Léger manque de contrôle au niveau des services Web, mais au moins ils sont intégrés dans le prochain visual studio que j'ai eu la chance de tester en bêta 3 la semaine dernière.
-> Dans des mots pas trop durs je dirais qu'on est en « mode moron » au niveau de la simplicité des objets ADO avec une connexion pour chaque DataReader.
-> Perte de rapidité d'exécution, mais bon, les performances des logiciels de nos jours ne sont plus la première priorité...
-> Les codes des versions antérieures ne semblent pas compatibles enfin à mes tests personnels…
-> Évidemment ça prend une grosse machine pour travailler avec visual studio .net
-> Le coût toujours un élément important
-> Durée de vie limité visual studio 8 ne serait tardé…
-> L'aide n'est pas nécessairement des plus claire, je préfère me référer directement à MSDN sur le site de Microsoft ou bien à un bon livre.
-> ADO encore une fois pas d'objet optimiser pour les connexions à des bases de données ORACLE et autres… on doit ce contenter de OLEDB qui va très bien quand même… Toutefois problème régler pour oracle sur visual studio 8
-> Il faut penser différemment avec la plate forme .Net côté choix de variables et déclaration de tableau… je n'entrerai pas en détail…
(...)

Pour l'instant le seul gros projet que j'ai réalisé avec VS.Net est un programme de gestion d'inventaire pour une boutique permettant l'impression de nombreux rapports et la gestion des entrés de stock et bien sûr des ventes accompagné d'une console d'administration, un petit coté web était rattaché au projet… Le tout m'a pris 4 mois n'incluant pas les 2 mois d'analyse soit pour ma part 3 fois moins qu'en utilisant une ancienne technologie comme VB6, j'en retire une forte augmentation de productivité qui ne peut qu'aller en s'améliorant.

En conclusion, je trouve que Visual Studio .Net est un bon produit que je recommande surtout aux développeurs Web et aux nouvelles entreprises… Pour ceux qui peuvent attendre encore quelques mois avant la migration, VS8 sera surement un meilleur choix vu la correction et l'amélioration de cette nouvelle architecture.

goodkilling
"Je pratique uniquement C#, pourtant j'utilisais VB depuis sa version 1.0.

En fait je m'intéresse aussi à Java et me suis dit qu'il serait sans doute plus simple de faire du C# plutôt que du VB.NET.

Les plus :

La machine virtuelle. Oui ce n'est pas une particularité .NET, mais je suis convaincu que l'avenir est aux langages managés lorsque les DI auront enfin calculé ce que leur coûtent en maintenance et correction les applis en langage non managés. Rien que trois exemples :
- ramasse-miette, fini les out of memory
- contrôle des types de donnés et des pointeurs (les attaques par dépassement de buffer doivent bien représenter 50 % des trous de sécurité d'une appli)
- les types de données ne font plus partie du langage : que ceux qui n'ont jamais galéré pour appeler en VB une DLL écrite en C...


Bien sûr cela représente un coût en terme de performance. Mais il s'agit en fait d'un investissement immédiatement remboursé avec profit sur la qualité intrinsèque du développement.

Le modèle de sécurité : entièrement manageable par un administrateur et/ou par le programmeur. Et puis un petit bijou : la sécurité par code. Il est possible ainsi de sécuriser un code avec une granulométrie qui est celle d'une méthode ! Très fort ! Mais par contre à utiliser avec prudence, car le coût que représente la remontée de la pile des appels est assez cher.

le multilangage : ce que je reproche à J2EE est que si on n'aime pas Java, ben y a rien d'autre. Mine de rien et qu'on le veuille ou non il y a des langages que l'on aime et d'autres que l'on n'aime pas. Je n'ai pas d'explication, c'est ainsi.

les principaux avantages :

-> L'assistant de déploiement qui est enfin réellement utile pour des applis professionnelles
-> Le déploiement side-by-side et le versionnage. Je n'ai jamais rien compris à ce que propose Java à ce sujet, .NET me paraît plus clair.
-> Plus de code caché comme en VB.
-> Facilité de la localisation
-> Assistant d'index de tabulation : vraiment une réussite
-> Langage full objet, pas d'héritage multiple des attributs.
-> Le boxing/unboxing qui permet de simplifier son code
-> ADO.NET : encore un nouveau modèle d'accès aux données me direz vous. Oui c'est le N+1ème que propose Microsoft. Mais pour la première fois de ma vie, j'arrive à écrire une appli de base de donnée sans avoir à passer des heures dans la doc. Il est nettement plus simple et logique et surtout il n'y a plus de code caché comme dans ADO précédent. Et puis la multitude d'assistants liés à ADO permet même à un débutant d'écrire des applis honorables.
->ASP .NET rattrape son retard par rapport aux JSP. On ne peut que s'en réjouir.
(...)
->Le support de l'impression et de la prévisualisation.

Dernier argument dans les plus:
->J2EE !!! Oui .NET est le concurrent de J2EE. La concurrence ne peut que pousser .NET à s'améliorer (et aussi J2EE)

Les moins :
L'aide, je crois que tout le monde est d'accord pour la trouver mal organisée. On y trouve jamais rien. Et quand on trouve, le contenu est souvent incompréhensible. Depuis VS 5 je trouve que la qualité de l'aide diminue de plus en plus.
Ceci dit j'apprécie pas mal l'aide contextuelle qui elle est réussie, en tout cas pratique.

L'IDE est en gros le même pour chaque langage, mais l'honnêteté oblige à dire que celui de VB est mieux fignolé.

L'outil Déboguer/Exception aurait pu être génial... si les exceptions n'étaient pas classées de façon hiérarchique ce qui ne sert à absolument rien. Défaut de jeunesse ?

Intellisense : ce que j'aurai aimé est que les membres affichés soient classés par genre et non par ordre alphabétique.

(...)

Le prix ! Oui VS est cher.


Il est bien connu que les produits MS ne deviennent bons qu'à partir de la version 3, mais j'avoue que la version 1.0 place la barre déjà très haut.

En fin de compte je suis très content de .NET. J'espère que Java piquera certaines idées de l'environnement et saura les mener plus loin. À mon avis être programmeur va devenir de plus en plus passionnant !!!


Pour en savoir plus sur Visual Studio .NET