[mono-vb] Windows Visual Basic Developer hoping to migrate to Mono...

A Rafael D Teixeira rafael.teixeirabr at terra.com.br
Thu Mar 2 09:09:23 EST 2006

Hi Scott,


On Wed, 2006-03-01 at 17:26 -0800, Redefined Horizons wrote:
> I'm currently in the planning stages for an application written in
> Visual Basic .NET. This application will be used primarily on the
> Windows operating system, at least initially, but I want to support
> use of the application on Linux.

What do you really intend/need: Simple use of a VB.NET Application
(runtime support) or recompiling on Mono (like it is needed in ASP.NET)?
Our runtime support for 1.x is good enough for many applications. In the
other hand our compiler (mbas) still needs love.

> I am developing the application for Windows in SharpDevelop. I have a
> Debian Linux system set-up, and I will be using it to do some of the
> development and testing of the application on Mono. (I'm still a
> relative nebie to Linux.) My goal is a single cross-platform
> application.

Just take care of some small things that your app has to do be a good
citizen in the platforms you intend to support, like, for example,
differences on case-sensitiveness of filenames/paths: most OSes,
including Linux, ARE case-sensitive, but Windows isn't. So being
consistent when naming assemblies and application-created files pays
off, also preserving precisely paths the user browsed for, and so on...
All this is, in reality, independent of the chosen Mono/.NET language,

> I had contacted the MonoGIS mailing list about my application, and
> they mentioned C# might be a better programming language than .NET.
> This wouldn't be a problem normally, except that my application is
> geared towards developers that are already familiar with Visual Basic
> .NET and are coming from a legacy Visual Basic background. I was
> hoping to capture a large developer audience for my application and I
> fear I will loose many of them if I use C# instead of Visual Basic
> .NET.

Well I can't figure it right: will the developers have to work with your
code (like an open source project)? or you just want to help them
develop using mbas on Linux? 

In the second case nothing bars you from writing your app/libraries in
C# and exposing them to be consumed in VB.NET/MonoBASIC, or Boo, or
Nemerle, or IronPython, etc...

> What type of support will I find for Visual Basic .NET in Mono? What
> type of future will the language have on the Mono platform?

There is two parts to it.

We have full runtime support for VB.NET 1.1 assemblies
(Microsoft.VisualBasic.dll is implemented on Mono). You may still find
some bug, and if you report it on our bugzilla, we will fix it ASAP
(that means some days normally).

We have a slowly developing MonoBASIC compiler: mbas (my feeble
leadership of this subproject is to blame, I presume). MonoBASIC is
intended as a superset of VB.NET, but currently it is a just subset and
some compiler bugs are really of a show-stopping nature.

Help to improve it or to restart it using gmcs (Mono full C# 2.0
compiler) as a refreshed base, are welcome.

> If I do decide Visual Basic .NET is a viable language for development
> on Mono, how can I help make sure it remains a viable language? 

Help the team keep it working by reporting the bugs and regressions.
Contributing tests to detect the reported bugs is an excellent way not
to be annoyed by them again.

Also contributing code to help the evolution of the runtime libraries
and the compiler is surely a good thing.

> I can probably contribute to documentation efforts, 

Nice thing to do also.

> and wouldn't mind
> learning about the Visual Basic compiler for Mono. 

I think mbas is a bit more difficult to understand and correct (compared
to mcs our C# compiler), because VB.NET isn't a nice language for the
compiler, with so many ambiguities designed into the grammar (some
things really go back to the interpreted GW-Basic I used in the first
PCs, and yes I'm that old).

> I have some
> experience with other high and low level languages, so I'm sure I
> could pick it up with time.

If you are fine with coding in C# and dealing with jay (yacc-like)
grammars, you can surely help us.

> Thanks very much for the advice.
> Scott Huey
> P.S. - The first public release of the application won't be for at
> least 6 to 12 months, so I have some time for support of Visual Basic
> .NET in Mono to improve.

I'm sure mbas can be MUCH improved in that period of time, we just need
some steady contributors, and, I guess, a better leader for the project.

Rafael "Monoman" Teixeira 
Mono Hacker since 16 Jul 2001 - http://www.mono-project.com/
Mono Brasil Founding Member - http://monobrasil.softwarelivre.org/
Simios Proud Member - http://www.simios.org/ 
English Blog: http://thespoke.net/blogs/monoman/default.aspx
Brazilian Portuguese Blog: http://www.simios.org/blog/monoman

More information about the Mono-vb mailing list