|
SYS-CON Magazines
|
Top Three Links You Must Click On
Mono A Short History of Basic on Mono
Mono gets new VB compiler and runtime
By: Dennis Hayes
Nov. 9, 2006 12:00 PM
The highlight of this release is the new MonoBASIC compiler and runtime. The availability of BASIC on Mono has waxed and waned over the years. During the early days of Mono, BASIC received little or no attention. The biggest reason was that all the effort was going into the C # compiler. In addition, the early Mono adopters were not very interested in VB; in fact at the time, there was much debate in the VB community in general about upgrading to VB.NET because of the complexity of VB.NET, and the lack of backwards compatibility with VB6. Also, unlike C# which was released as a ECMA and ISO standard, VB.NET was, and still is, a proprietary product with no publicly available definition (that has the details needed by a compiler writer).
BASIC on Mono received a big break in 2004 when Mainsoft donated a complete copy of the VB.NET runtime libraries written in Java (see DNDJ Vol. 2 Iss. 6). A group of Mono developers, including myself, converted the libraries into C#. As more people began to use Mono as a Web server, BASIC, and the BASIC compiler became more important because of the large number of Web pages being written in VB. Because they were compiled on the fly, they could not be compiled using the Microsoft compiler, and then executed under Linux like applications could. At this point, Novell put a group of programmers on the MonoBASIC compiler project, and for a while, good progress was made. With the release of .NET and ASP.NET 2.0, ahead of time compilation of VB code became possible; BASIC for Mono was sent to the back burner, and the coders working on MonoBASIC were set to work on System.Windows.Forms, which is needed for the Mono 1.2 release. Now, Mainsoft has made another major contribution to Mono by donating a set of VB.NET runtime libraries (written by Rafael Mizrahi and Boris Kitzner) written in BASIC with two test suits: one to test low level functions that is written in C#, and one to test high level functions that is written in BASIC. Combined with the new VB9 compatible MonoBASIC compiler written by Rolf Bjarne as part of the Goggle Summer of Code, which can now compile itself, Mono is close to having a full VB.NET compatible stack. Currently the new BASIC runtime is being distributed with the standard Mono package, but since the new VB 2005 compatible compiler is just at the point of compiling itself, it is being distributed in a separate package until it matures a bit more.
Other Additions to Version 1.1.17 COM is now beginning to be supported with the addition of Runtime Callable Wrappers (RCWs), which allow managed code to call unmanaged components. The Postgress database classes have been updated to support Postgress Release Candidate 3. IronPython 1.0 RC2 is now supported, System.IO.Ports includes much more functionality, and the registry code has been updated to support the .NET 2.0 API. There were also a number of significant improvements made throughout Mono. The complete lists can be found at www.go-mono.com/archive/1.1.17/ and www.go-mono.com/archive/1.1.17.1/ Odds and Ends There will be a meeting of the Mono developers on October 23rd and 24th in Cambridge Ma. See www.go-mono.com/meeting/ for details. It is open to all, so drop in if you can make it. There is a new way to test drive Mono, along with SUSE Enterprise Edition version 10.0; VMWare has a free virtual OS "player" that you install as an application. The application can then play a "disc" containing any operating system created by the "full" version of VMWare. Novell has released a "disc" that can be played by the VMWare "player" which contains the full version of SUSE, including Mono and many applications, both native and Mono based. The second Goggle Summer of Code has been completed. Portable.NET had a student who mostly completed his task of porting Libjit to the Alpha processor. There have been a number of other improvements in Libjit since the last release.MonoDevelop, the .NET integrated development environment for .NET on Linux has released version 1.2. This IDE is really maturing, so I will cover this release in more detail next month, but in the mean time, you can read the release notes and see some screen shots at www.monodevelop.com/Release_notes_for_MonoDevelop_0.12. Now that Callisto, the simultaneous release of 10 projects related to the Eclipse IDE, has been released, plans are being made for next year's release, tentatively dubbed Europa Reader Feedback: Page 1 of 1
Subscribe to our RSS feeds now and receive the next article instantly!
Subscribe to the World's Most Powerful Newsletters
|
|
||||||||||||||||||||||||||||||||||