Programowanie VB.NET w Ubuntu

16

Właśnie zacząłem w szóstej klasie college'u i zamierzam podejść do Computing A-level. Zostałem poinformowany, że całe programowanie w pierwszym roku odbywa się w VB.NET na Windows (uważam, że masz wolność w drugim roku ...)

Mam partycję Windows XP i możesz pobrać Visual Basic Express Edition za darmo, ale chciałbym wiedzieć, w jakim stopniu prawdopodobnie będę mógł używać Ubuntu (Mono lub cokolwiek innego) do moich badań? Czy ktoś może mi podać wskazówki, od czego zacząć?

Realistycznie, jeśli to ma zadziałać, muszę mieć możliwość korzystania z tych samych plików / projektów / czegokolwiek zarówno na Ubuntu, jak i Windows - aby móc pracować na komputerach z systemem Windows na studiach, a co ważniejsze, aby nauczyciele mogli spojrzeć i oznaczyć moją pracę! (Naprawdę nie chcę pytać mojego nauczyciela o mój sposób korzystania z Ubuntu, wolałbym się wtopić i być normalnym uczniem ...)

8128
źródło
Sprawdź Mono i MonoDevelop mono-project.com .
Bilal Akhtar,
1
Chcę tylko powiedzieć, że uwielbiałem programować w VB.net i był to jeden z moich ulubionych języków do nauki. Niestety, zanim zacząłem uczyć się VB.net, już brałem udział w zajęciach w C ++ i Javie i bardzo nienawidziłem programowania. Cieszę się, że szkoły zmierzają do rozpoczęcia nauki od VB jako podkładu.
TheXed,
Ciekawy. Jestem ciekawy, w jaki sposób VB.net jest lepszy od C # (lub Java)?
NoBugs,

Odpowiedzi:

18

Używaj MonoDevelop, ale uważaj na dziwactwa związane z tworzeniem platformy .NET dla platformy X.

Najpierw zainstaluj mono, znajdując go w Centrum oprogramowania lub wpisując

sudo apt-get install monodevelop mono-vbnc

MonoDevelop jest dość równoważny z Visual Studio Express, z głównymi różnicami:

  • MonoDevelop nie obsługuje WPF (Windows Presentation Foundation), ale to nie powinno mieć większego znaczenia, ponieważ Microsoft planuje zabić WPF wraz z pojawieniem się Windows 8.

  • Sprawdź, czy używany jest poprawny cel struktury .NET. Po utworzeniu rozwiązania kliknij prawym przyciskiem myszy projekt i przejdź do Opcje-> Kompilacja-> Ogólne. Niewiele różni się od kierowania na konkretną wersję platformy .NET w systemie Windows.

Oprócz tych problemów, tak naprawdę nie znalazłem niczego, bez czego nie mógłbym żyć.

Jedynym innym problemem (niezwiązanym z mono), który może cię ugryźć, jest klasyczny problem z zakończeniem linii. * nix nadal używa LF, a Windows nadal używa CRLF do zakończenia linii, więc przy przesyłaniu plików źródłowych z powrotem i czwartym między Windows / * nix. AFIAK, MonoDevelop domyślnie zapisuje pliki źródłowe w UTF-8, ale VS zapisuje pliki źródłowe w Windows ASCII (z Windows-1252 latin ASCII z zakończeniami linii specyficznymi dla Windows). Jeśli otrzymujesz pliki źródłowe utworzone za pomocą programu Visual Studio, może być konieczna konwersja formatu, aby działał w * nix.

Jak widać, tworzenie platformy .NET dla X-platform może być początkowo trochę trudne, ale IMHO jest tego warte. Podoba mi się nie zaśmiecony interfejs MonoDevelop (efekty wizualne w VS po prostu przeszkadzają przez większość czasu), ładuje się w ułamku czasu, który robi VS (przydatne, jeśli zwykle nie pozostawiasz otwartego IDE cały czas ), zajmuje ułamek przestrzeni bez dodatkowych niepotrzebnych dodatków (VS jest naprawdę wstrętny).

Instalacja była łatwa, ponieważ sudo apt-get install monodevelop. Również popularne narzędzia, takie jak NUnit (do testowania jednostkowego) zostały przeniesione i działają bezbłędnie w * nix. Wersja MonoDevelop w wersji dla Windows jest do bani (a przynajmniej tak było ostatnim razem, gdy próbowałem).

Aktualizacja:

Aby uzyskać kod VB do kompilacji, musisz również zainstalować moduł kompilatora VB:

sudo apt-get install mono-vbnc

Zaktualizowałem również tę odpowiedź, aby usunąć niektóre problemy, które nie są już istotne.

Evan Plaice
źródło
1
Pojawia się komunikat o błędzie: Error: Visual Basict .NET compiler not found (Mono 2.4.4) (Testing)(to dosłownie próba uruchomienia domyślnej domyślnej aplikacji konsoli Hello World VB.NET)
8128
3
@fluteflute Kompilator nie został znaleziony, ponieważ nie został zainstalowany. Najwyraźniej kompilator VB dla platformy .NET nie jest domyślnie instalowany w systemie Ubuntu, podobnie jak w języku C #. Wystarczy zainstalować „sudo apt-get install mono-vbnc”.
Evan Plaice,
Jesteś w stanie otworzyć projekty Visual Studio VB.net/C# w Monodevelop, kompiluje się i działa dobrze, nawet formularze okien GUI działają. Jeśli to możliwe, polecam uruchomienie go w Visual Studio, jeśli pracujesz na aplikacjach MS Windows. Mono nie ma łatwego „trybu projektowania” do ich zaprojektowania. (jeszcze?)
NoBugs
@NoBugs Mono może obsługiwać GUI Winforms? Zawsze myślałem, że będą trzymać się tylko GTK #. Chyba czas zaktualizować tę odpowiedź.
Evan Plaice
Tak, bez problemu uruchomiłem dwa projekty Windows-VS w Mono. Myślę, że może być konieczne dodanie importu do Monodevelop? Natywne GTK jest prawdopodobnie tym, czego używa większość aplikacji Linux C #.
NoBugs
4

To zależy od twojego programu nauczania.

Mono ma obsługę języka VB.NET, ale platforma jest nieco inna w niektórych miejscach i przewiduję, że tyle pracy będzie dotyczyło platformy .NET, ponieważ jest to język podstawowy. Może nie być tak, jak się wydaje, że jest na dość elementarnym poziomie (bez zamierzonego przestępstwa!)

Nawet jeśli praca jest zorientowana na język, jak mówisz, nie dostaniesz głupich plików meta projektu Visual Studio. Możesz mieć problemy z otwieraniem rzeczy i (ponownie, jak mówisz) na pewno będziesz mieć problemy z dostarczeniem rzeczy innym (być może mniej kompetentnym) osobom.

W tym przypadku, a nadal chcesz Ubuntu jako główny system, VirtualBox wydaje się najlepszym sposobem na zachowanie zgodności z twoimi zajęciami. Jest o wiele wygodniejszy niż podwójne uruchamianie, ale wymaga posiadania komputera ponadprzeciętnego, aby zapewnić dobre wrażenia (szczególnie przy czymś takim jak VS.NET).

Lub pobij swojego nauczyciela do nauki i nauczania języka Python. Zdecydowanie prostszy i lepszy język.

Oli
źródło
3
+1 dla Virtual Box + -1 dla Python jako języka kolażu = 0
TheLQ
1
Co jest nie tak z Pythonem? Jest zdecydowanie lepszy niż VB.
dv3500ea,
2
Och +1 dla Virtual Box (jest to VB jak Visual Basic), +100 dla Pythona jako języka do nauki.
Javier Rivera,
1
Python ma ezoteryczną składnię i polega na wcięciach, aby określić, co zostanie wykonane. Moim zdaniem jest lepszy niż VB, ale nie jako język do nauki.
ayan4m1