tu maitrise pas le français en tout cas ^^ par contre, le VB.Net pas multiplateforme, j'aimerai avoir tes explications. le but des languages .net etant de TOUS faire du language IL commun, je vois pas pourquoi l'un marcherait et pas l'autre...
Version imprimable
Ce qui a d'extraordinaire avec internet, c'est qu'on peut dire tout et n'importe quoi.
De là, à prendre en considération quelque chose qu'on te dit ou que tu lis sans en vérifier la véracité montre l'amateurisme qui gangraine le monde du developpement.
Quant à la syntaxe, c'est peut être un argument facile, mais léger.
Le passage d'une syntaxe à une autre n'est qu'une question de 2 ou 3 semaines d'adaptation pour un développeur confirmé.
personnellement j'ai longtemps testè VB6 VB.NET et C#
il n'y a aucun appel : C# :king:
tout d'abord je precise que j'ai pas lu les 30 page donc peut etre que je repète mais j'ai vu par ci par la que certain n'aimer pas ce cotè strict du C#
il semblerais que C/C++ et VB.NET soit plus malèable....
personnellement c'est ce qui m'as convaincu!!
c'est un languague extremement structurè!!
j'ai realiser en cours des application en C# qui avec des Predicate, Comparer(pour les fonction Find) et quand des camarade on voulus le fair en VB.NET.....:yaisse2: quand j'ai vu ce que sa donner....j'ai compris les limites
il est clair que dans le framework de microsoft le languague le plus muri et pensè(du surment au fait qu'il soit jeune est donc ne porte pas les erreurs du passè) est sans aucun doute le C#
après il y a ausi le fait que le C# soit libre de droit ce qui n'est pas negligeable, sa forceras a l'ameliorè correctement pour attirè du client ;)
et ausi que C# ressemble au C et Java(d'après ce qu'un bon nombre de gens on dit ici) alors que VB.NET ressemble a...VB6
il faut avouet que le trio C#/C/Java vivra plus longtemp que VB.NET/VB6
Bonjour,
Pour mon cas, j'ai commencer en VB5 puis VB6 en 1999. Puis en 2002 j'ai tenté de passer à VB.NET avec la premier dotnet pour migrer nos applications.
Aujourd'hui je suis passé à C# car c'est le language revendiqué pour .NET. Et puis avec les communités opensource VB.NET et C# aussi imposant l'un que l'autre. Je pense qu'on se doit tous de connaitre les 2.
A noté que pour microsoft que ces aspect MultiLanguage de la framework, c'est pour prendre des parts de marchés et vendre du rêve.
Cela a pour concéquence d'avoir un IDE vraiment très lourds. Dés fois pour de petit projet, je préfére retourné sur du VB classic; c'est quand même plus rapide...
tt le monde sé que le vb est le language par defaut du microsoft depuis le langauge basic:mouarf:
et en le trauve partout dans les produit microsoft soi dans l'office dans le web et méme dans la gestion des resaeux microsoft pour mangé les station (tu peu le fair avec le VB "Scripting")
mé dans ces dernier temps java a progréssé plus que microsoft et les developpeur se oriente vers java que vers les langague microsoft ou dautre:yaisse2:
alors microsoft a crée le dotnet mais essentialment le Csharp pour atiré les developeur du java ver le dotnet (méme syntaxe)
merci moi je vote pour vb.net je trouve que la documentations en VB.net est bcp que csharp soi dans les press le livres ou les blogs E
nglophone :aie:
J'espère que ceux qui documente en VB.net écrivent pas comme toi ! :vomi:
Parce que la quantité c'est bien mais la qualité c'est mieux !
Bonsoir
Vraiment Je trouve cette intervention très sévère, pourquoi une remarque aussi désobligeante, envers une personne qui de toute évidence n'est pas francophone, et qui fait l'effort ici, de vouloir s'exprimer en français, je ne veux pas ici lancer un débat, et ce sera ma seule intervention concernant ce point dans ce fil de discussion. Mais messieurs juste un peu d'indulgence.
Quand on utilise des abréviations comme "tt" ou "bcp" c'est qu'on connait bien la langue (moi je ne comprend pas toutes les abréviations employées par les anglais alors que j'ai étudié la langue), quelques fautes d'orthographes je veux bien mais pas de relecture ni de soin, des mots coupé, abréviations, non sens syntaxique etc ... bref on est pas sur un téléphone portable...
Je citerai juste le point 4.3 des règles du forum :
bref j'ajouterai plus rien non plus ...Citation:
4.3. Exprimez vous clairement en bon Français
Postez vos messages en bon français si possible.
Cela pourra vous être utile dans votre carrière de savoir bien vous exprimer et écrire correctement. Un chef de projet peut écrire des cahiers des charges, des documentations, des aides, correspondre avec des clients, etc.
De plus, vous aurez plus de chance d'avoir des réponses si votre message est facile à lire.
L'utilisation du langage SMS ("mon pésé y march pu sé ki ki la kassé c po juste sniif po cool") est proscrite sur le forum.
Les messages écrits en langage SMS seront, selon le cas, édités ou supprimés.
Je fais du vb.net par continuité avec vb6. Pourquoi VB ? Parceque ça m'a aidé dans les vba d'office. :P
Je vote C# sans hésiter.
Je trouve VB et Delphi trop "verbeux".
Les syntaxes C++ et C# sont beaucoup plus lisibles à mon goût, avec une préférence pour C# qui masque complètement la notion de pointeur.
Bonjour à tous,
Je suis moi même attiré par le C# qui semble reprendre une bonne partie des qualités des différents langages de référence ( la rigueur du java, le coté non verbeux du C, l'absence de pointeur hors mode unsafe qui cause beaucoup d'erreur...) et qui me semblait jusqu'aujourd'hui être le langage plébiscité par MS pour développer en dotnet. Mais en allant télécharger la dernière version de Visual studio express, je suis tombé sur ce descriptif sur la page :
http://www.microsoft.com/express/product/default.aspx
Dans ce descriptif, le marketing de MS semble plutôt plébisciter C++ :Citation:
Visual Basic
Productivity that is ideal for first time or casual Windows programming.
Visual Basic 2008 Express with SP1 is the ideal tool for productively building object-oriented applications for Windows on the .NET Framework.
Visual C#
A great combination of power and productivity for the Windows developer.
Visual C# 2008 Express with SP1 is the ideal tool for productively building object-oriented applications for Windows on the .NET Framework.
Visual C++
Horsepower with a finer degree of control than other Express Editions.
Visual C++ 2008 Express with SP1 provides a powerful and flexible development environment for creating native Windows and cool 2D and 3D games.
que C# :Citation:
Horsepower with a finer degree of control than other Express Editions
Est-ce que les spécialistes Dotnet et MS pourraient me dire si Microsoft ne serait pas (déjà) en train de changer son fusil d'épaule en essayant de relancer plutôt le C++, et en relayant C# au second plan pour des raisons qui m'échappent. En effet je dois lancer un projet de refonte d'application client serveur qui doit être aussi pérenne que possible et je suis un peu frileux à l'idée de faire les frais d'une stratégie de Microsoft d'un retour plus ou moins officiel au C++ comme langage n°1 pour les applis Windows alors que je forme l'équipe au C#.Citation:
A great combination of power and productivity for the Windows developer.
Bonnes fêtes à tous,
Vincent.
Je pense que tout ça c'est purement commercial. Il faut continuer à vendre du C++, tu comprends.
Je viens du VB6, tout naturellement j'ai les préférence de VB.NET ! De toutes les façons les mêmes structures de programmation sont reprises pour ces langages .net : le surcharge des fonctions, les héritages, ... qui ne figurait pas dans VB6 ont été repris dans VB.NET pour en faire un langage de synthèse avec ceux qui utilisait les orientés objets tel que le C++ et qui doivent en principe être passé sous C#.
Je crois le VB.NET se trouve comme catalyseur de différent courant des langages .NET
A chacun ses goûts et ses couleurs, mais tous dans une même maison Microsoft.
:yaisse2:
Désolé, j'ai pas été clair...
Tu dis VB est l'enfer des dll.
Si tu parles de vb6, on peut être d'accord avec toi.
Si tu parles de vb.net, ...
Quoiqu'il en soit, à part quelques irréductibles du vb6, personne ne contredira le fait que .net (que ce soit c# ou vb.net) est mieux que vb6. Il n'y a rien a prouvé de ce côté là !
Enfin pour expliquer mon "Je vois pas le rapport avec c#", tu serais passé à vb.net, ton problème "429, impossible de créer l'objet" aurait tout aussi bien disparu.
vb6 <> vb.net !!
C'est pas c# qui a répondu à ton problème, c'est .net
Désolé, ce genre de commentaire me fera toujours réagir et prouve qu'il n'y a pas beaucoup de monde qui se remet en cause qui vérifie par lui-même ce qu'il entend et vois partout.
J'ai pris le temps de comparer c# et vb.net et ... pour moi ... y en a pas un meilleur que l'autre (malgré ce qu'affirme commercialement microsoft !!).
Je défie quiquonque de faire quelque chose en c# qui soit irréalisable ou moins performant en vb.net et inversemment.
Ne soit pas désolé, c'est moi qui a été imprécis :aie:
Je parlais bien de VB6 ou autres variantes comme VBScript, VBA, VB Office....
Je me suis mis au C# pour toucher à plus d'open sources sur le net et pour avoir plus d'opportunités d'emplois. Si il fallait que je me mettent a faire des projets VB.NET, venant d'une culture VB, je pense ne pas avoir trop de difficultés.
Après commercialement microsoft oui. C# selon m$, est le premier language créé avec .NET, pour .NET, puis les autres ont été porté.
La syntaxe C# (voir C en générale) est moins explicit que le VB certe, mais en contre partit plus court. Faire un "int a" a la place de "Dim a As Integer", il n'y a pas photos.
Mais si niveau VB, la fonction With est aussi très interressante et inexistante en C#.:?
Les 2 languages se vallent au niveau compilation. Après dans la pratique peu de gens font du "pure .NET" en VB.NET. On retrouve souvant l'emploi du namespace Microsoft.VisualBasic, ces fonctions CInt, CStr, Chr(), Asc() qui rendent les developpeur VB plus productif ou pour une compatibilité VB6. Son emploi ne rend pas le programme forcement moins rapide mais cela le rend (par rapport a un projet VB.NET) légèrement plus lourd et reprend certains problèmes qu'on avec en VB6 (pas de gestion UTF32, les insertions à -1 sur les collections).
Pour te reconfirmer au sujet du "DLL Hells" oui avec .NET c'est bien fini!
Aaah, un défi :)
Voilà 2 exemples :
1. Itérateurs
Code:
1
2
3
4
5
6
7
8 public IEnumerable<Product> GetActiveProducts() { foreach(Product p in _products) { if (p.IsActive) yield return p; } }
2. Accesseurs d'évènements
Code:
1
2
3
4
5
6
7 private HashSet<EventHandler> myEventHandlers = new HashSet<EventHandler>(); public event EventHandler MyEvent { add { myEventHandlers.Add(value); } remove { myEventHandlers.Remove(value); } }
Tu vas me dire, on pourrait s'en passer... en général c'est vrai. Pour les itérateurs par exemple, on peut contourner le problème. Par contre pour les accesseurs d'évènements, je ne crois pas que ça existe en VB.NET
EDIT: au temps pour moi, les accesseurs d'évènement existent aussi en VB.NET. Ca doit être nouveau en VB9...
Code:
1
2
3
4
5
6
7
8
9
10 Private myEventHandlers As New HashSet( Of EventHandler) Public Custom Event MyEvent As EventHandler AddHandler(ByVal value As EventHandler) myEventHandlers.Add(value) End AddHandler RemoveHandler(ByVal value As EventHandler) myEventHandlers.Remove(value) End RemoveHandler End Event
C'est un peu trop verbeux à mon goût, mais bon...
Vu l'usage extensif que fait Linq de ce genre de construction, il doit bien y avoir en VB un moyen d'écrire ça, non ? (dit-il en ne connaissant RIEN à VB :))
Perso, ce qui me rebute avec VB, c'est la surabondance de mots clés. Je ne ressens pas de besoin impérieux de fermer chaque bloc différemment selon la façon dont je l'ai ouvert. Après, bien sûr, ce n'est qu'une question d'habitude.
D'ailleurs : cette verbosité est peut être un plus pour les gens de langue maternelle anglaise, pour lesquels VB peut ressembler un peu plus à du langage parlé. Mais pour les francophones que nous sommes, quid ?
Quand tu as des blocs imbriqués et que tu te retrouves avec des accolades fermantes à la suite, il peut être agréable de savoir laquelle correspond à quoi. Mais quand le code est propre, ce genre de besoin est normalement très rare. Il n'y a pas vraiment de lien avec la langue maternelle, puisque tu es censé comprendre l'anglais (au moins les mots-clés, quoi).
Bien sûr, on comprends, mais ce n'est pas natif. Ce que je veut dire, c'est que pour moi, "if", c'est l'instruction conditionnelle ; ce n'est pas le "si" que j'utilise quand je m'exprime. Alors que pour un anglophone, il y a correspondance exacte (et pour cause, tous les mots clés de tous les langages majeurs sont en anglais).
Tous ces byval, byref, endif ne sont que des mots-clé pour nous, alors que ce sont des mots pour les angliches. C'est juste ça que je veux dire.
Justement, pour certains mots-clés, ça peut ne pas paraître naturel à un anglophone de coller des mots ensembles (exemple : ByVal, ByRef comme tu les as déjà énoncés).
De plus, pour ma part, je ne trouve pas naturel non plus "fin si" ou même "fin de si" :mrgreen:
"fin tant que" :roll:
C# est à mon avis, sinon le langage le plus évolué, en tout cas le plus simple à prendre en main, le plus clair et l'un des plus efficaces.
C'est un avis personnel, mais j'apporte ma contribution au débat... ;)
Bonjour,
C# est le langage .NET par excellence (créé pour le Framework.NET), il est donc celui qui permettra le plus de choses, sans pour autant "cacher" les mécanismes (comme le fait VB.NET pour la gestion des évènements par exemple).
De plus, le module C# pour VS.NET est mieux fichu et plus fiable...
Donc à mes yeux... C# !
Bonjour à tous, j'ai toujours été multilangage: basic, turbopascal, turbo C, turbo prolog (fidèle à à Borland), MASM dés l'achat de mon premier PC! Ensuite VB 3.0, je n'avais pas accroché à Delphi! Et j'ai continuer avec lui jusqu'au VB 6.0!
Faisant de l'électronique, j'ai été très longtemps réfractaire à la POO et ses fameuses boîtes noires! Et je suis devenu réfractaire au C++ car à l'époque, c'était à celui qui faisait le code le plus illisible possible (on aurait dit du LISP, je sais y en a qui vont râler).
La sortie de VB.NET a été une horreur pour moi, la conversion de mon projet VB 6.0 était impossible (le programme de conversion de l'époque voulait me faire changer 85 % du code juste pour des renommages ou des fonctions), j'ai fermé l'appli et j'ai refais le programme en Delphi 5.0.
Maintenant, je suis à fond dans les systèmes embarqués et le reverse engeneering de ceux-ci!
Et j'utilise donc peu les .NET et la plupart des systèmes utilisent le couple C++/gcc + assembleur (MIPS ou autre) mais comme j'en ai un peu marre de devoir chaque fois recoder des algos C++ en Delphi, je me suis dit on va refaire du C++ et dans la foulée je m'intéresse à C#.
Pourquoi pas VB.NET? J'ai été traumatisé!
PS: Y avait déjà l'option explicit! Et je faisais attention à ma casse!
Ensuite? Je vais peut être refaire du VB.NET / Delphi.NET aussi!
Si il est vrai quand se concentrant sur un seul langage, on peut en tirer la quintessence, en n'en pratiquant plusieurs on peut s'élargir l'esprit! Pa exemple, j'ai fait un programme en delphi qui prend du code MIPS sous IDA PRO et le transforme en source C.
Dev C++ n'a t-il pas été écrit en Delphi?
Après avoir lu les 32 pages de posts, je vois la lutte qu'il y a eu entre le bon codeur rigoureux (Maniac) et l'artiste (Freddy), je pense qu'on doit être les deux quelque soit le pinceau qu'on emploie tant qu'on laisse pas des poils de pinceaux dans la couleur!
Bonne journée à tous!
;)
Hey ! Mon k ! :)
Plus aucun souvenir de ce qui se disait à l'époque (j'ai une petite idée cela dit :), et depuis le temps il y a des chances que les arguments aient un peu évolué maintenant.
Cela dit pour ce qui est du combiné rigoureux/artiste, je dirais aussi qu'il faut les deux, mais chacun dans son domaine.
Le côté artiste, c'est pour les idées. Pour trouver les solutions aux problèmes, pour trouver l'inspiration souvent nécessaire. La rigueur, c'est pour coucher ça 'sur le papier'. Pour la rédaction elle-même.
Dans un contexte d'entreprise en particulier, écrire du code 'façon artiste' est une des pires choses qu'on puisse léguer à ceux qui passeront ensuite. C'est là qu'interviennent les conventions de code, règles de nommage etc. Et donc forcément quelque part là-dedans, le choix du langage peut avoir un impact, notamment selon le support des divers outils pouvant servir dans ce domaine.
Appliqué au duel VB.NET vs C#, le support plus que limité de ReSharper et l'absence de StyleCop en VB.NET participent en ce qui me concerne à continuer de faire pencher la balance du côté de C# :)
Je risque d'avoir à refaire du VB.NET prochainement (enfin pas pressé, une petite période de chômage c'est chouette pour prendre sa respiration :), et rien que pour ces deux outils-là, je grince des dents par avance. Je suis devenu très fan de StyleCop depuis son apparition. Faire un audit d'un bon paquet de dizaines de milliers de lignes de code VB.NET, contenant notamment des classes de plus de 8000 lignes... ce serait déjà bien lourd en C#, mais en VB.NET c'est juste une torture. Appliquer les recommandations de l'audit pour essayer d'améliorer la qualité du code... il faut avoir du temps. Et beaucoup, beaucoup de courage.
Merci pour la réponse très instructive ke tu m'as donnée.
Comme dirait un certain Moorcook, l'ordre et le chaos!
C'est effectivement mon avis aussi!
Merci pour tous les outils que tu cites, j'essayerai d'en faire usage, je ne code pas d'énorme projet ça reste toujours en dessous de 100 000 lignes, souvent des simulateurs/émulateurs pour du matériel électronique qui utilise peu les technologies NET et Co!
La rigueur dans le code est aussi ce qui permet pour moi d'avoir des programmes s'éxécutant vite et bien et facilement maintenable.
Mais parfois, la POO est une tueuse de vitesse et cela était l'un des rôles du programmeur de pouvoir éditer le binaire finale et d'y repérer les goulets d'étranglement que certains compilations apporte du C++ vers le binaire, du style les tables de sauts dues aux méthodes avec copie de buffer en buffer mais ce n'est plus possible à faire que pour des applications LIEES quasi définitivement au matériel et impossible à faire quand de nouvelles fonctionnalités ou mise à jour sont constamment demandées par le client/utilisateur et malheureusement on n'a pas souvent le temps de peaufiner à ce point! :(
Mais ici, je sort du cadre NET!
Pour ma part, j'ai tout juste deux années d'expérience professionnelle, exclusivement sur du DotNet.
J'ai passé ma première année sur du VB.Net et la seconde sur de C#.
Aujourd'hui, je reste sur C# et je ne ferais pas demi-tour sauf si une opportunité vraiment intéressante m'était proposée.
Néanmoins, j'ai commencé le dotnet (et la programmation) avec VB.Net et j'ai vraiment apprécié ce côté verbeux que beaucoup de personnes décrient. Alors que je débutais, l'abondance de mots-clés, la gestion simpliste des évènements (dans VS, dans l'aspx d'une page, clic sur la DDL des contôles, clic la DDL des évènements liés et hop on retrouve son évènement côté .vb), les structures conditionnelles, le côté laxiste du langage m'ont aidé.
Plus dure a été la chute lorsque je suis passé à C#...
J'y est découvert beaucoup plus de rigueur, une gestion des évènements sans raccourcis, etc. Je m'y suis finalement vite fait car je connaissais le framework et n'avait qu'à apprendre la syntaxe du langage, mais je pense que j'aurais autrement plus galéré si j'avais débuté par du C#.
Je ne regrette pas mon choix et j'apprécie aujourd'hui beaucoup plus de développer en C# mais je ne dénigre pas VB car pour ma part il m'a vraiment été utile.
Ma formation est basée sur le vb.net, mais au cours de mes expériences j'ai pu travailler avec Java(Le langage le plus performant dans le monde) et maintenant je travaille avec C#, mais je trouve qu'il n'est pas assez fort que Vb.net, la seule chose qui oblige les développeur à le choisir c'est par ce qu'il rassemeble un peu à c++, java.... mais Vb.net reste plus riche en bibliothèques ainsi que sa facilité de syntaxe...
Ah ? j'aurais dit le contraire... les 2 langages sont quasiment équivalents au niveau de leurs fonctionnalités, mais C# a quelques trucs sympas en plus (itérateurs, expressions lambda multi-instructions, propriétés automatiques (ajoutées à VB2010 mais un peu moins souples qu'en C#), etc...). VB semble avoir certaines fonctionnalités en plus, mais la plupart ne sont pas vraiment liées au langage : elles sont fournies par les assistants de Visual Studio qui génèrent du code pour tout ce qui est My.Application, My.Resources, etc...
Je pense qu'il y a des raisons autrement plus profondes que la ressemblance avec d'autres langages... D'ailleurs, même chez MS ils font presque tout en C# plutôt qu'en VB.NET
C'est les mêmes bibliothèques qu'en C# ou n'importe quel autre langage .NET... Même celles qui s'appellent "VisualBasic.QuelqueChose", on peut tout à fait les utiliser à partir de C# ou d'un autre langage. Donc non, c'est pas plus riche.
Mouais... si tu veux, mais c'est très subjectif : personnellement je trouve la syntaxe de VB.NET absolument atroce... y a beaucoup trop de mots :?.
D'ailleurs c'est pas vraiment plus facile, c'est surtout moins strict et donc plus dangereux : VB.NET te fournit le pistolet pour te tirer dans le pied :aie:
CSharp it :ccool: