C# Vs. VB.Net

Inscrit
4 Aout 2016
Messages
166
Reactions
0
#1
Bonjour,

Je me suis demandé, qu'esque C# a de plus par rapport à VB.net et inversement, de mon humble avis de noob dans ces deux langages, C# est mieux et offre plus de possibilité que VB.Net, car, il est plus compliqué, et bien souvent, plus c'est simple, moins t'as d'option :|

Alors, c'est quoi leurs points forts / faibles ?
 

asyade

Membre Actif
Inscrit
26 Avril 2013
Messages
368
Reactions
1
#2
En vérité ces deux langages offre exactement les méme posibilité a trés peut de chose prés et une syntaxe clairement différente mais une fois compiler il sont tout deux identique si non en gros le vb a une syntaxe beaucoup plus basic et fléxible tandis qu'en c# la syntaxe se rapproche beaucoup plus du c et par defaut le compilateur est plus stricte bien qu'il est possible d'utiliser les méme simplicitée qu'en vb... au finale je pense que le c# est grand vainqueur car il dispose de la plus grande communauté/documentation
 

tazman59

Contributeur
Inscrit
20 Decembre 2012
Messages
148
Reactions
25
#3
Tout à fait d'accord avec @asyade .
Les deux langages offrent exactement les mêmes possibilités, et il me semble même que niveau performances ils sont identiques (ou peut-être que le C# détrône le vb d'un poil de piou, mais pas assez pour en faire un point de distinction entre les deux langages).
Par contre, le C# est beaucoup plus "développé" dans le sens où une bonne partie des entreprises utilisant la technologie .Net utilisent le C# et que tu trouveras beaucoup plus de documentation et de ressources en C# qu'en Vb !

#VIVELEC#
 
Inscrit
4 Aout 2016
Messages
166
Reactions
0
#4
Ah, ok merci :D
 

ToOnS

Membre Actif
Inscrit
8 Avril 2009
Messages
974
Reactions
0
#5
la seule difference c'est qu'en c# faut user son clavier a mettre des ";" et des "{}" partout , les 2 sont tout aussi documentés l'un que l'autre , en realité c'est exactement la meme chose , tu peux meme faire un bout de ton programme en c# et l'autre bout en vb
 
Inscrit
2 Juin 2016
Messages
82
Reactions
3
#6
Salut,

Comme il l'a été dit, C# et VB.Net sont très proches, ils utilisent le même bytecode (MSIL) une fois la compilation terminée ainsi que la même CLR. (celle commune au .Net framework, donc)
Cependant les langages ont quelques subtiles différences et malgré ce qu'il y a été dit, il y a quelques différences au niveau des fonctionnalités (je sais qu'elle existe, mais ne programmant pas en VB.Net, je ne peux te les énoncer) mais rien de bien méchant.

Le C# dispose d'une énorme communauté (contrairement au VB.Net) d'une bien meilleure documentation (beaucoup plus d'articles et de livres sur le c#) et est plus recherché professionnellement parlant.
Le VB.Net est beaucoup trop verbeux et je trouve que ça nuit à la lecture du code ainsi qu'à sa maintenabilité (le IL est presque plus facile à lire de mon point de vue)
 
Inscrit
4 Aout 2016
Messages
166
Reactions
0
#7
Ouais, pour avoir essayer les deux syntaxement parlant je suis du même avis que toi brook, c'est beaucoup plus aéré le C#
 

neross

Membre Actif
Inscrit
20 Decembre 2014
Messages
150
Reactions
0
#8
Salut,
Le C# dispose d'une énorme communauté (contrairement au VB.Net) d'une bien meilleure documentation (beaucoup plus d'articles et de livres sur le c#) et est plus recherché professionnellement parlant.
Le VB.Net est beaucoup trop verbeux et je trouve que ça nuit à la lecture du code ainsi qu'à sa maintenabilité (le IL est presque plus facile à lire de mon point de vue)
Faux sur certains point. :)

"d'une bien meilleure documentation" ... MSDN propose C# et VB pour chaque tutoriel et doc.
"est plus recherché professionnellement parlant." ... Je discute et travaille avec de grosse société en tant que consultant et je peux te dire que beaucoup de société fonctionne avec des logicielles en VB.net. Je suis actif sur les recherches d'emploi sur un site spécialiser dans le recrutement en informatique et il y a plus d'offre qui concerne le VB que le C#.
"VB.Net est beaucoup trop verbeux et je trouve que ça nuit à la lecture du code" ... 100% d'accord. La syntaxe est plus facile a comprendre pour un débutant de mon point de vus, maintenant c'est plus chiant a lire.

Maintenant le VB et C# on pourras dire tout ce que l'on veux, il y auras toujours quelqu'un pour dire le contraire. ^^
 
Inscrit
4 Aout 2016
Messages
166
Reactions
0
#9
Ouais, c'est sûr qu'ils sont identiques et tout mais "le fonctionement par identation" comme python par exemple, te donne beaucoup moins de choix syntaxement parlant.. :/
Genre tu pourras jamais faire l'égale de
C#:
if (true) { Console.WriteLine("Vrai."); }
Donc c'est sur que c'est beaucoup plus aéré et comme le disais Brook, plus maintenable de mon point de vue.. :| (Donc c'est mieux pour des logiciels pro).
 
Inscrit
2 Juin 2016
Messages
82
Reactions
3
#10
Faux sur certains point. :)

"d'une bien meilleure documentation" ... MSDN propose C# et VB pour chaque tutoriel et doc.
"est plus recherché professionnellement parlant." ... Je discute et travaille avec de grosse société en tant que consultant et je peux te dire que beaucoup de société fonctionne avec des logicielles en VB.net. Je suis actif sur les recherches d'emploi sur un site spécialiser dans le recrutement en informatique et il y a plus d'offre qui concerne le VB que le C#.
"VB.Net est beaucoup trop verbeux et je trouve que ça nuit à la lecture du code" ... 100% d'accord. La syntaxe est plus facile a comprendre pour un débutant de mon point de vus, maintenant c'est plus chiant a lire.

Maintenant le VB et C# on pourras dire tout ce que l'on veux, il y auras toujours quelqu'un pour dire le contraire. ^^
Yo.

Quand je parle de documentation, il n'y a pas que la MSDN (je l'ai d'ailleurs expliqué : je parle d'articles de blogs et de livre - a quel moment j'ai fait référence à la MSDN?)
Pour ce qui est de la recherche d'emploi, évidemment VB.net existe grâce à Excel et il y a beaucoup de sociétés qui développent avec, mais la demande est bien plus présente en C#. (je veux voir ton site, parce que tout les sites que je vois le C# est majoritaire, et c'est pas bien de juger sur un seul site ^^)

pour ce qui est de la communauté, suffit d'regarder github et les projets en c#, même chose pour stackoverflow et ses questions.
 

ToOnS

Membre Actif
Inscrit
8 Avril 2009
Messages
974
Reactions
0
#11
enfin bon la communauté et la doc c'est pas la meme chose , les 2 sont autant documentés
puis bon vb.net existe pas grace a excel , il existe parceque le basic est bien plus vieu que le C

Ouais, c'est sûr qu'ils sont identiques et tout mais "le fonctionement par identation" comme python par exemple, te donne beaucoup moins de choix syntaxement parlant.. :/
Genre tu pourras jamais faire l'égale de
C#:
if (true) { Console.WriteLine("Vrai."); }
Donc c'est sur que c'est beaucoup plus aéré et comme le disais Brook, plus maintenable de mon point de vue.. :| (Donc c'est mieux pour des logiciels pro).
if true then Console.WriteLine("Vrai.")
c'est pas plus simple comme ca ?
bon on pourait meme ecrire ca :
Console.WriteLine("Vrai.")
parceque "true" est toujour vrai , pas besoin de "if" (c'est surtout ca qui est mieux pour les logiciels pro)
 
Dernière édition:
Inscrit
2 Juin 2016
Messages
82
Reactions
3
#12
VB.net existe grandement sur le marché pro grâce à excel me semble t-il.
 
Inscrit
4 Aout 2016
Messages
166
Reactions
0
#13
enfin bon la communauté et la doc c'est pas la meme chose , les 2 sont autant documentés
puis bon vb.net existe pas grace a excel , il existe parceque le basic est bien plus vieu que le C


if true then Console.WriteLine("Vrai.")
c'est pas plus simple comme ca ?
bon on pourait meme ecrire ca :
Console.WriteLine("Vrai.")
parceque "true" est toujour vrai , pas besoin de "if" (c'est surtout ca qui est mieux pour les logiciels pro)
Arrête de faire des concours de bite, c'était un exemple x)
 

BlueDream

Administrateur
Membre du personnel
Inscrit
8 Decembre 2012
Messages
2 010
Reactions
149
#14
Il faut avoir des arguments dans un débat @Akrone, et non répondre de cette manière.
Je n'entrerai pas dans cette bataille, les deux langages sont identiques pour moi.
 
Inscrit
4 Aout 2016
Messages
166
Reactions
0
#15
Mon argument : Car j'ai monter un cas simple, et non réfléchit, je ne partais pas dans l'optique d'optimiser une ligne de code, ou même de savoir si par défaut un bool = true, je partais dans l'optique de dire qu'en C#, tu as plus de choix, syntaxement parlant.

Mais je me suis sûrement mal exprimé, alors, pour être plus clair, voici deux exemples plus visuellement parlant :
C#:
try { Send(); lbChat.Items.Add("Client >> " + tbMsg.Text); tbMsg.Clear(); }
catch { lbChat.Items.Add("Impossible d'envoyer ce message, veuillez vérifier votre connexion avec le serveur."); }
C#:
private void btnStart_Click(object sender, EventArgs e)
        {
            btnStop.Show(); btnStart.Hide(); serverIsStarted = true;
            tbServerIp.Clear(); tbServerPort.Clear();
        }
 

ToOnS

Membre Actif
Inscrit
8 Avril 2009
Messages
974
Reactions
0
#16
en gardant le meme style degueulasse de coller toutes les instructions sur la meme ligne (y'en a qui appelle ca un choix de syntaxe ...) et parceque les concours de byte (tu l'avais mal orthographié) ca me fait delirer :
Code:
Try:Send():lbChat.Items.Add("Client >> " + tbMsg.Text):tbMsg.Clear():Catch:lbChat.Items.Add("Impossible d'envoyer ce message, veuillez vérifier votre connexion avec le serveur."):End Try
Code:
Private Sub btnStart_Click(sender As Object, e As EventArgs)
   btnStop.Show():btnStart.Hide():serverIsStarted = True:tbServerIp.Clear():tbServerPort.Clear()
End Sub
cherche pas plus , si je dit que C# ca use les claviers avec des "{}" et des ";" partout qui servent a rien c'est que c'est le cas , j'ai fait des bots et plein d'autres choses avec les 2 (dans le meme projet) et c'est une plait
puis c'est pas plus lisible du tout parceque y'a des "{}" et des ";" partout (surtout avec un mauvais "choix, syntaxement parlant")


ca :
Code:
Private Sub btnStart_Click(sender As Object, e As EventArgs)
   btnStop.Show()
   btnStart.Hide()
   serverIsStarted = True
   tbServerIp.Clear()
   tbServerPort.Clear()
End Sub
c'est pas plus dur a lire que ca :
Code:
private void btnStart_Click(object sender, EventArgs e)
  {
     btnStop.Show();
     btnStart.Hide();
     serverIsStarted = true;
     tbServerIp.Clear();
     tbServerPort.Clear();
  }
avec les 2 j'arrive tres bien a voir que c'est a l'envers , tu clear Ip et Port quand tu montres le bouton stop et que tu caches le bouton start alors que ca devrait etre l'inverse


VB.net existe grandement sur le marché pro grâce à excel me semble t-il.
VB.net non , le VBA peut etre
 
Dernière édition:
Inscrit
4 Aout 2016
Messages
166
Reactions
0
#17
Dernière édition:

ToOnS

Membre Actif
Inscrit
8 Avril 2009
Messages
974
Reactions
0
#19
oui , ca a rien a voir avec les macros , c'est pour mettre excel dans un executable créé en VB.net (ou C# d'ailleurs) , pas pour mettre de "l'intelligence" dans excel avec des macros VBA
 
Haut Bas