Программирование на VB.NET в Ubuntu

16

Я только начал учиться в шестом классе, и собираюсь пройти уровень A Computing. Мне сообщили, что все программирование в первый год происходит в VB.NET для Windows (я полагаю, что вам предоставляется больше свободы во второй год ...)

У меня есть раздел Windows XP, и вы можете скачать Visual Basic Express Edition бесплатно, однако я хотел бы знать, в какой степени я могу использовать Ubuntu (Mono или что-то еще) для своих исследований? Кто-нибудь может дать мне какие-нибудь указания, с чего начать?

Реально, чтобы это работало, мне нужно иметь возможность использовать одни и те же файлы / проекты / что угодно как в Ubuntu, так и в Windows - чтобы я мог работать с компьютеров с Windows в колледже, и что еще более важно, чтобы учителя могли смотреть и отмечать мою работу! (Я не хочу расспрашивать моего учителя о том, как я использую Ubuntu, я бы предпочел смешаться и быть нормальным учеником ...)

8128
источник
Проверьте Mono и MonoDevelop mono-project.com .
Билал Ахтар
1
Я просто хочу сказать, что мне нравилось работать с VB.net, и это был один из моих любимых языков для изучения. К сожалению, к тому времени, когда я начал изучать VB.net, я уже посещал занятия по C ++ и Java и полностью ненавидел программирование. Я рад видеть, что школы начинают работать с VB в качестве учебного пособия.
TheXed
Интересный. Мне интересно, чем VB.net лучше, чем C # (или Java)?
NoBugs

Ответы:

18

Используйте MonoDevelop, но остерегайтесь особенностей разработки X-платформы .NET

Сначала установите mono, либо найдя его в Центре программного обеспечения, либо набрав

sudo apt-get install monodevelop mono-vbnc

MonoDevelop довольно похож на Visual Studio Express, основные отличия которого заключаются в следующем:

  • MonoDevelop не поддерживает WPF (Windows Presentation Foundation), но это не должно иметь большого значения, поскольку Microsoft планирует убить WPF с выходом Windows 8.

  • Убедитесь, что используется правильная цель .NET Framework. После создания решения щелкните правой кнопкой мыши проект и выберите «Параметры» -> «Сборка» -> «Общие». Не сильно отличается от ориентации на конкретную версию .NET в Windows.

Помимо этих проблем, я не нашел ничего, без чего бы я не мог жить.

Единственная другая проблема (не связанная с моно), которая может вернуться к вам, - это классическая проблема окончания строки. * nix по-прежнему использует LF, а Windows по-прежнему использует CRLF для окончания строк, поэтому при переносе исходных файлов назад и на четвертый между Windows / * nix. AFIAK, MonoDevelop сохраняет исходные файлы в UTF-8 по умолчанию, но VS сохраняет исходные файлы в Windows ASCII (с латинским ASCII windows-1252 с оконечными специальными окончаниями строк). Если вы получаете исходные файлы, созданные с помощью Visual Studio, вам может потребоваться преобразовать формат, чтобы он работал в * nix.

Как видите, разработка платформы x для платформы .NET поначалу может быть немного сложной, но, думаю, она того стоит. Мне нравится интерфейс MonoDevelop без беспорядка (визуальные эффекты в VS просто мешают большую часть времени), он загружается за долю времени, которое делает VS (полезно, если вы обычно не оставляете свою IDE открытой все время ), он занимает часть пространства без лишних ненужных надстроек (VS действительно противен этому).

Установить его было легко, как sudo apt-get install monodevelop. Кроме того, популярные инструменты, такие как NUnit (для модульного тестирования), были перенесены в * nix и безупречно работают. Версия MonoDevelop для Windows вроде бы отстой (или, по крайней мере, в прошлый раз, когда я ее пробовал).

Обновить:

Чтобы получить код VB для компиляции, вам также нужно установить модуль компилятора VB:

sudo apt-get install mono-vbnc

Я также обновил этот ответ, чтобы устранить некоторые проблемы, которые больше не актуальны.

Эван Плейс
источник
1
Я получаю сообщение об ошибке: Error: Visual Basict .NET compiler not found (Mono 2.4.4) (Testing)(это буквально просто попытка запустить стандартное консольное приложение Hello World VB.NET по умолчанию)
8128
3
@fluteflute Компилятор не найден, потому что он не установлен. По-видимому, компилятор VB для .NET не установлен в Ubuntu по умолчанию, как для C #. Просто 'sudo apt-get install mono-vbnc', чтобы установить его.
Эван Плейс
Вы можете открывать проекты Visual Studio VB.net/C# в Monodevelop, он компилируется и работает нормально, даже оконные формы GUI работают. Я бы порекомендовал начать его с Visual Studio, если это возможно, если вы работаете с приложениями для MS Windows. Mono не имеет простого «режима дизайна» для их разработки. (еще?)
NoBugs
@NoBugs Mono может обрабатывать графические интерфейсы Winforms? Я всегда думал, что они будут придерживаться только GTK #. Я думаю, пришло время обновить этот ответ.
Эван Плейс
Да, я запустил два проекта Windows-VS в Mono без проблем. Я думаю, что вам может понадобиться добавить импорт в Monodevelop, хотя? Native GTK - это, вероятно, то, что используют большинство приложений Linux C #.
NoBugs
4

Это действительно зависит от вашей программы.

В Mono есть поддержка языка VB.NET, но структура местами несколько отличается, и я предполагаю, что ваша работа будет посвящена .NET Framework, а также основному языку. Это может быть не так, как кажется, что это на довольно элементарном уровне (без обид!)

Как вы говорите, даже если работа ориентирована только на язык, вы не получите глупые файлы мета-проекта Visual Studio. У вас могут быть проблемы с открытием вещей, и (опять же, как вы говорите) у вас определенно будут проблемы с передачей вещей другим (возможно, менее компетентным) людям.

В этом случае, и вы по-прежнему хотите использовать Ubuntu в качестве основной системы, VirtualBox кажется наилучшим способом обеспечения совместимости с вашей курсовой работой. Это гораздо удобнее, чем двойная загрузка, но для этого вам нужен компьютер, превышающий средний уровень (особенно с чем-то скучным, как VS.NET).

Или победи своего учителя в изучение и преподавание Python. Безусловно, более простой и лучший язык.

Оли
источник
3
+1 для Virtual Box + -1 для Python в качестве языка коллажа = 0
TheLQ
1
Что не так с Python? Это определенно намного лучше, чем VB.
dv3500ea
2
Oh +1 для Virtual Box (это VB, как Visual Basic), +100 для Python в качестве языка обучения.
Хавьер Ривера
1
Python имеет эзотерический синтаксис и полагается на отступы, чтобы определить, что будет выполнено когда. На мой взгляд, это лучше, чем VB, но не как учебный язык.
ayan4m1