Programmazione VB.NET in Ubuntu


16

Ho appena iniziato al sesto modulo universitario e prenderò un livello di informatica. Sono stato informato che tutta la programmazione nel primo anno è in VB.NET su Windows (credo che ti sia concessa più libertà nel secondo anno ...)

Ho una partizione di Windows XP e puoi scaricare Visual Basic Express Edition gratuitamente, tuttavia vorrei sapere fino a che punto sono in grado di utilizzare Ubuntu (Mono o altro) per i miei studi? Qualcuno può darmi qualche suggerimento su dove iniziare?

Realisticamente, se questo funziona, devo essere in grado di usare gli stessi file / progetti / qualunque cosa sia su Ubuntu che su Windows - in modo da poter lavorare dalle macchine Windows al college e, soprattutto, in modo che gli insegnanti possano guardare e contrassegnare il mio lavoro! (Non voglio davvero fare una domanda al mio insegnante sul mio uso di Ubuntu, preferirei fondermi ed essere uno studente normale ...)


Dai un'occhiata a Mono e MonoDevelop mono-project.com .
Bilal Akhtar,

1
Voglio solo dire che mi è piaciuto molto sviluppare con VB.net ed è stata una delle mie lingue preferite da imparare. Sfortunatamente, quando ho iniziato a studiare VB.net avevo già preso lezioni in C ++ e Java, e odiavo profondamente la programmazione. Sono felice di vedere che le scuole si stanno muovendo verso l'inizio con VB come primer.
TheXed,

Interessante. Sono curioso, in che modo VB.net è meglio di C # (o Java)?
NoBugs,

Risposte:


18

Usa MonoDevelop ma fai attenzione alle stranezze dello sviluppo di X-platform .NET

Innanzitutto, installa mono trovandolo nel Software Center o digitando

sudo apt-get install monodevelop mono-vbnc

MonoDevelop è abbastanza equivalente a Visual Studio Express, le differenze principali sono:

  • MonoDevelop non supporta WPF (Windows Presentation Foundation) ma questo non dovrebbe importare molto poiché Microsoft ha intenzione di uccidere WPF con l'arrivo di Windows 8.

  • Verificare che venga utilizzata la destinazione .NET framework corretta. Dopo aver creato una soluzione, fai clic con il pulsante destro del mouse sul progetto e vai a Opzioni-> Crea-> Generale. Non molto diverso dal targeting di una versione specifica di .NET su Windows.

A parte questi problemi, non ho davvero trovato nulla di cui non potrei vivere senza.

L'unico altro problema (non relativo al mono) che potrebbe tornare a morderti è il classico problema di fine linea. * nix utilizza ancora LF e Windows utilizza ancora CRLF per i finali di riga, quindi, quando trasferisci i file di origine indietro e quarto tra Windows / * nix. AFIAK, MonoDevelop salva i file di origine in UTF-8 per impostazione predefinita, ma VS salva i file di origine in Windows ASCII (con ASCII latino windows-1252 con terminazioni di riga specifiche di Windows). Se ricevi file di origine che sono stati creati utilizzando Visual Studio, potrebbe essere necessario convertire il formato per farlo funzionare in * nix.

Come puoi vedere, lo sviluppo di x-platform .NET all'inizio può essere un po 'impegnativo, ma IMHO, ne vale la pena. Mi piace l'interfaccia non ingombra di MonoDevelop (gli effetti visivi in ​​VS si intromettono per la maggior parte del tempo), si carica in una frazione del tempo che VS fa (utile se in genere non si lascia aperto l'IDE tutto il tempo ), occupa una frazione dello spazio senza ulteriori componenti aggiuntivi non necessari (VS è davvero odioso al riguardo).

L'installazione è stata semplice come sudo apt-get install monodevelop. Inoltre, strumenti popolari come NUnit (per test unitari) sono stati portati su e funzionano perfettamente in * nix. La versione Windows di MonoDevelop fa schifo (o almeno lo ha fatto l'ultima volta che l'ho provato).

Aggiornare:

Per ottenere la compilazione del codice VB è necessario installare anche il modulo del compilatore VB:

sudo apt-get install mono-vbnc

Ho anche aggiornato questa risposta per rimuovere alcuni dei problemi che non sono più rilevanti.


1
Ricevo un messaggio di errore: Error: Visual Basict .NET compiler not found (Mono 2.4.4) (Testing)(questo sta letteralmente solo provando a eseguire l'applicazione predefinita della console Hello World VB.NET preimpostata)
8128

3
@fluteflute Il compilatore non è stato trovato perché non è installato. Apparentemente, il compilatore VB per .NET non è installato in Ubuntu per impostazione predefinita come per C #. Basta 'sudo apt-get install mono-vbnc' per installarlo.
Evan Plaice,

Sei in grado di aprire progetti Visual Studio VB.net/C# in Monodevelop, si compila ed esegue bene, anche i moduli della finestra della GUI funzionano. Consiglierei di avviarlo con Visual Studio, se possibile, se stai lavorando su applicazioni per moduli MS Windows. Mono non ha una semplice "modalità di progettazione" per progettare questi. (ancora?)
NoBugs,

@NoBugs Mono è in grado di gestire le GUI di Winforms? Ho sempre pensato che si sarebbero attenuti al solo GTK #. Immagino sia tempo di aggiornare questa risposta.
Evan Plaice,

Sì, ho eseguito due progetti Windows-VS in Mono senza problemi. Penso che potresti aver bisogno di aggiungere un'importazione a Monodevelop? GTK nativo è probabilmente quello che usa la maggior parte delle app C # di Linux.
NoBugs,

4

Dipende davvero dal tuo programma.

Mono ha il supporto del linguaggio VB.NET ma il framework è leggermente diverso in alcuni punti e prevedo che gran parte del tuo lavoro riguarderà il framework .NET in quanto è il linguaggio principale. Potrebbe non essere come sembra a un livello abbastanza elementare (nessuna offesa intesa!)

Anche se il lavoro è solo orientato al linguaggio, come dici tu, non otterrai i file dei metaprogetti di Visual Studio. Potresti avere problemi ad aprire le cose e (di nuovo, come dici tu) avrai sicuramente problemi ad ottenere cose da altre persone (forse meno competenti).

In questo caso, e vuoi comunque Ubuntu come sistema principale, VirtualBox sembra il modo migliore per rimanere compatibile con i tuoi corsi. È molto più conveniente del doppio avvio, ma richiede di avere un computer più della media per una buona esperienza (specialmente con qualcosa di duro come VS.NET).

O battere il tuo insegnante nell'apprendimento e nell'insegnamento di Python. Di gran lunga un linguaggio più semplice e migliore.


3
+1 per Virtual Box + -1 per Python come linguaggio collage = 0
TheLQ

1
Cosa c'è che non va in Python? È decisamente molto meglio di VB.
dv3500ea,

2
Oh +1 per Virtual Box (è VB come Visual Basic), +100 per Python come linguaggio di apprendimento.
Javier Rivera,

1
Python ha una sintassi esoterica e si basa sui rientri per determinare cosa viene eseguito quando. Secondo me è meglio di VB, ma non come lingua di apprendimento.
ayan4m1,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.