BT

Facilitating the spread of knowledge and innovation in professional software development

Contribute

Topics

Choose your language

InfoQ Homepage News Mercury Brings Visual Basic to Feature Parity with C# and Adds Multiple Platform Support

Mercury Brings Visual Basic to Feature Parity with C# and Adds Multiple Platform Support

Bookmarks

RemObjects Mercury refreshes Visual Basic for .NET by adding support for current .NET features while also making it available for more platforms, including WebAssembly, iOS, Android, and Linux.

Mercury attempts to fill a gap created by Microsoft announcement that they will not evolve Visual Basic as a language. This implies that "future features of .NET Core that require language changes may not be supported in Visual Basic".

As .NET (and C#) evolve, Mercury will keep being updated to support the latest platform versions and features, and also to be kept compatible with features added to new versions of C#, as it evolves.

According to RemObjects, besides being 99.9% compatible with Visual Basic, Mercury adds a number of new language features, including mapped types, zero-overhead inline types; extension types, which can be used to add new methods and properties to existing types; lazy properties; interface delegation, which can be used to delegate the implementation of an interface to a local property of a class; Records and many more.

Mercury is part of RemObject's Elements, a multi-platform compiler and toolchain with support for C#, Swift, Go, and others. This makes it possible to use Mercury on all platforms where Elements is available, which include .NET, iOS and macOS, Android, Java, Linux, native Windows, and WebAssembly. Mercury gives access to all native APIs on each platform. For example, you can use the Android SDK or NDK to create Android apps, Cocoa and CocoaTouch for macOS and iOS apps, and so on. In particular, to make it easier to use Cocoa's APIs, Mercury includes multi-part method names.

As a final note on Mercury, it is worth noting it can easily interoperate with the rest of languages supported by Elements, so you can mix Visual Basic with C# in the same project, or with any other of the available languages.

With the exception of Swift, which you can get for free, Elements and related IDEs on all platforms are premium products available under a subscription model. According to RemObjects, the compiler will remain functional indefinitely after you cancel the subscription, but the IDEs will stop working, so you will not be able to use them anymore and will be required instead to use the command line to run the compiler.

RemObjects Mercury should not be confused with the Mercury language, a logic/functional programming language inspired in Prolog and extending it to enable the creation of complex systems.

We need your feedback

How might we improve InfoQ for you

Thank you for being an InfoQ reader.

Each year, we seek feedback from our readers to help us improve InfoQ. Would you mind spending 2 minutes to share your feedback in our short survey? Your feedback will directly help us continually evolve how we support you.

Take the Survey

Rate this Article

Adoption
Style

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Community comments

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

BT

Is your profile up-to-date? Please take a moment to review and update.

Note: If updating/changing your email, a validation request will be sent

Company name:
Company role:
Company size:
Country/Zone:
State/Province/Region:
You will be sent an email to validate the new email address. This pop-up will close itself in a few moments.