Programmation VB.NET dans Ubuntu

16

Je viens de commencer au collège, et je vais prendre un niveau informatique. J'ai été informé que toute la programmation de la première année est en VB.NET sur Windows (je crois que vous avez plus de liberté la deuxième année ...)

J'ai une partition Windows XP et vous pouvez télécharger Visual Basic Express Edition gratuitement, mais je voudrais savoir dans quelle mesure suis-je susceptible d'utiliser Ubuntu (Mono ou autre) pour mes études? Quelqu'un peut-il me donner des indications par où commencer?

De manière réaliste, si cela fonctionne, je dois pouvoir utiliser les mêmes fichiers / projets / quoi que ce soit sur Ubuntu et Windows - pour pouvoir travailler à partir de machines Windows au collège, et plus important encore pour que les enseignants puissent regarder et marquer mon travail! (Je ne veux pas vraiment mettre un point d'honneur à interroger mon professeur sur mon utilisation d'Ubuntu, je préférerais me fondre et être un étudiant normal ...)

8128
la source
Consultez Mono et MonoDevelop mono-project.com .
Bilal Akhtar
1
Je veux juste dire que j'ai adoré développer avec VB.net, et c'était l'une de mes langues préférées à apprendre. Malheureusement, au moment où j'ai commencé à apprendre VB.net, j'avais déjà pris des cours en C ++ et Java, et je détestais profondément la programmation. Je suis heureux de voir que les écoles s'orientent vers le démarrage avec VB comme base.
TheXed
Intéressant. Je suis curieux, en quoi VB.net est-il meilleur que C # (ou Java)?
NoBugs

Réponses:

18

Utilisez MonoDevelop mais méfiez-vous des bizarreries du développement X-platform .NET

Tout d'abord, installez mono en le trouvant dans le Centre logiciel ou en tapant

sudo apt-get install monodevelop mono-vbnc

MonoDevelop est assez équivalent à Visual Studio Express, les principales différences étant:

  • MonoDevelop ne prend pas en charge WPF (Windows Presentation Foundation), mais cela ne devrait pas beaucoup importer car Microsoft a l'intention de tuer WPF avec l'arrivée de Windows 8.

  • Vérifiez que la cible de framework .NET correcte est utilisée. Après avoir créé une solution, faites un clic droit sur le projet et allez dans Options-> Build-> General. Pas très différent du ciblage d'une version spécifique de .NET sous Windows.

Mis à part ces problèmes, je n'ai vraiment rien trouvé qui me manque.

Le seul autre problème (non lié au mono) qui peut revenir vous mordre est le problème de fin de ligne classique. * nix utilise toujours LF et Windows utilise toujours CRLF pour les fins de ligne, donc, lorsque vous transférez vos fichiers sources en quatrième et quatrième position entre Windows / * nix. AFIAK, MonoDevelop enregistre les fichiers source dans UTF-8 par défaut mais VS enregistre les fichiers source dans Windows ASCII (avec windows-1252 latin ASCII avec des fins de ligne spécifiques à Windows). Si vous recevez des fichiers source créés à l'aide de Visual Studio, vous devrez peut-être convertir le format pour qu'il fonctionne dans * nix.

Comme vous pouvez le voir, le développement .NET de x-plateforme peut être un peu difficile au début, mais à mon humble avis, cela en vaut la peine. J'aime l'interface non encombrée de MonoDevelop (les effets visuels dans VS gênent la plupart du temps), il se charge en une fraction du temps que VS fait (utile si vous ne laissez généralement pas votre IDE ouvert tout le temps ), il occupe une fraction de l'espace sans ajout supplémentaire inutile (VS est vraiment désagréable à ce sujet).

L'installation a été aussi simple que sudo apt-get install monodevelop. De plus, des outils populaires comme NUnit (pour les tests unitaires) ont été portés et fonctionnent parfaitement dans * nix. La version Windows de MonoDevelop craint un peu (ou du moins c'est la dernière fois que je l'ai essayé).

Mise à jour:

Pour obtenir le code VB à compiler, vous devrez également installer le module de compilation VB:

sudo apt-get install mono-vbnc

J'ai également mis à jour cette réponse pour supprimer certains des problèmes qui ne sont plus pertinents.

Plie d'Evan
la source
1
Je reçois un message d'erreur: Error: Visual Basict .NET compiler not found (Mono 2.4.4) (Testing)(il s'agit littéralement d'essayer d'exécuter l'application de console Hello World VB.NET par défaut)
8128
3
@fluteflute Le compilateur est introuvable car il n'est pas installé. Apparemment, le compilateur VB pour .NET n'est pas installé par défaut dans Ubuntu comme c'est le cas pour C #. Il suffit de 'sudo apt-get install mono-vbnc' pour l'installer.
Evan Plaice
Vous pouvez ouvrir des projets Visual Studio VB.net/C# dans Monodevelop, il se compile et s'exécute correctement, même les formulaires de fenêtre GUI fonctionnent. Je recommanderais de le démarrer avec Visual Studio si possible, si vous travaillez sur des applications de formulaire MS Windows. Mono n'a pas de «mode de conception» simple pour les concevoir. (encore?)
NoBugs
@NoBugs Mono peut gérer les interfaces graphiques Winforms? J'ai toujours pensé qu'ils se contenteraient de GTK #. Je suppose qu'il est temps de mettre à jour cette réponse.
Evan Plaice
Oui, j'ai exécuté deux projets Windows-VS en Mono sans problème. Je pense que vous devrez peut-être ajouter une importation à Monodevelop? GTK natif est probablement ce que la plupart des applications Linux C # utilisent.
NoBugs
4

Cela dépend vraiment de votre programme.

Mono prend en charge le langage VB.NET, mais le cadre est quelque peu différent par endroits et je prédis que la plupart de votre travail concernera le cadre .NET comme il s'agit du langage principal. Il se peut que ce ne soit pas car il semble que ce soit à un niveau assez élémentaire (aucune infraction prévue!)

Même si le travail est uniquement axé sur la langue, comme vous le dites, vous n'obtiendrez pas les fichiers de méta-projet stupides Visual Studio. Vous pourriez avoir des problèmes pour ouvrir les choses et (encore une fois, comme vous le dites), vous aurez certainement du mal à faire parvenir les choses à d'autres personnes (peut-être moins compétentes).

Dans ce cas, et vous voulez toujours Ubuntu comme système principal, VirtualBox semble être le meilleur moyen de rester compatible avec vos cours. C'est beaucoup plus pratique que le double démarrage, mais cela nécessite que vous ayez un ordinateur supérieur à la moyenne pour une bonne expérience (en particulier avec quelque chose de lourd comme VS.NET).

Ou battez votre professeur pour apprendre et enseigner Python. De loin un langage plus simple et meilleur.

Oli
la source
3
+1 pour Virtual Box + -1 pour Python comme langage de collage = 0
TheLQ
1
Quel est le problème avec Python? C'est nettement mieux que VB.
dv3500ea
2
Oh +1 pour Virtual Box (c'est VB comme Visual Basic), +100 pour python comme langage d'apprentissage.
Javier Rivera
1
Python a une syntaxe ésotérique et s'appuie sur des retraits pour déterminer ce qui sera exécuté quand. À mon avis, c'est mieux que VB, mais pas comme langue d'apprentissage.
ayan4m1