Questions regarding Mercury

Hello everyone!

There doesn’t seem to be a category for Mercury, so apologies if this should have went somewhere else. Actually, there doesn’t seem to be much information about Mercury other than what is listed here, and I would like to find out more about it, or where more info is located at.

First, no clue why the project is not codenamed B# because it would be a great slap in the face to M$FT…

From what few screenshots I have seen it does not appear that there is currently a form editor. Are there plans to include this if it is not already available?

The price tag is a bit hefty @ $799 commercial / $199 personal…that is not to purchase, but to license. What are the benefits over the free options currently available (Visual Studio Community for C# & VB, Eclipse for Java)?

Thanks so much!

Hi Nicolas,

We’re literally just getting started with Mercury, so that page has all the information we have to share right now, I’m afraid.

Like all our languages, Mercury will work with the WinForms and WPF editors in Visual Studio, and leverage the platform-native UI frameworks on other platforms, such as XIB/Storyboards on macOS/iOS, xml layout files on Android, etc. — including being able too use the native editors for those.

Define “not purchase but license”? literally all software you can buy (and even that that’s free) is licensed, not sold.

The benefits are manifold, and which ones appeal to you depends much on your use cases.

  • You can mix languages in the same project.
  • You can use one language for all platforms.
  • We’ll be expanding the Mercury language beyond what MS is doing (who just announced they will not update it further, at all)
  • Our Fire and Water IDEs are a great joy too work in, compared to VS or Eclipse
  • … and everything else that makes our toolchain great, covered on our website at elementscompiler.com and too numerous to all list :wink:

yours,
marc

1 Like

You can use Mercury for all targets; mobile, native, .Net and .Net Core
So just use one language for all, and all targets are 100% supported.

Visual Basic can not do mobile or native, and only a small part of Core.

And think of extensions as unsafe and nullable that where never included in VB, while Mercury will have them.

2 Likes

And for that you get support. Real support. Where you are really helped. And where bugs are fixed.

What was the last time you got that from Microsoft on a free (or even paid) product?

2 Likes

We are not trying to do anything against Microsoft. That wouldn’t help anyone.
We are only providing an alternative for those who want to do all their projects in the VB language and want an evolving version of VB.

1 Like

Thanks so much for the information Marc and Theo!

Correct, but I meant this is a yearly licensing price, not a 1 time or lifetime license.

I program in VB, C#, and working on learning Java right now. Having 1 IDE that I can do all my work in would be great instead of bouncing around on different ones.

My concern was there would be no visual tools for forms apps. Out of the box I could not do any form apps in VS code as I could in regular Visual Studio, and honestly no time to try and figure it out. I initially switched from Win7 to Linux during the EOL for Win7, then had to go to Win10 just to be able to use VS Community to continue writing VB.NET projects.

That being said, back to the price - I’m certain the product is worth the price considering the current documentation on the website listing everything it does. However, there does not appear to be much as far as videos go, or example/hello world examples to show how easy or difficult it is to launch a basic app.

But I am still reading, and trying to digest everything that is up about it so far.

1 Like

In elements, you can even mix those in one single project wherever that fits you.

All designers in Visual Studio are available to you as an Elements user. So that is covered.

1 Like

Just let us know if you have questions.

1 Like

After downloading the trial to check things out more, the only questions I have at this time are:

Is there a projected time frame for Mercury to be released?

If I purchase the personal license, when Mercury is released is it automatically included with the current products, or will there be an additional price just for it?

Oh this is so interesting to know.

I’ve seen the name Mercury showing up in Elements release notes and has been curious about what it is.

And now I know it is RemObjects Basic.

I have never used Basic for programming. Is it still a popular language? I had thought it is sort of declining long time ago.

There are still entire systems being maintained in legacy VB6 to this day. VB.net has gotten so much flack about still being developed and evolved along side C# since it was released, because the syntax “looked like” legacy VB6 code, and wasn’t “C-like” as C# was touted to be. The code between the current VB.net and C# is nearly identical, minus syntax issues.

However, it was the first language that a lot of people started with (including myself) and still frequently use. Here are some points why it is still a viable option even today:

  1. VB.net still holds rank in top 10 popular programming language studies.

  2. A lot of clients still have software that is cheaper for them to maintain upgrades in VB than to do a full conversion to C# or another language…

  3. There are quite a few high-end applications that allow plugins to be developed only in VB.net.

  4. It will be much more realistic for developers of that software to allow plugins written in Java than C#, because it reduces cost and overhead.

  5. VB.net is the only modern language that is close to human language, which allows more people who are not well versed in bracket languages to learn programming.

  6. (some) programmers can output code and logic much faster in VB.net than C#.

2 Likes

No promises, but sometime this summer, most likely. The betas will be “usable” soon.

Yes, it will be included at no extra charge for all active Elements licenses.

1 Like

Well, there’s Oxygene :).

2 Likes

Not completely true. The Syntax seems the same, but functional it can be completely different.
That is why so much C# developers hate VB - they think it is just another syntax for C#, but in reality it is a complete different language.
For some information about that, see: https://anthonydgreen.net/2019/02/12/exhausting-list-of-differences-between-vb-net-c/

According to the Tiobe Index: almost as big as C# and about 8 times as big as Delphi/Object Pascal.

I completely agree, but was speaking from experience working on both languages from just a general perspective. Often times you cannot find examples to VB problems written in VB but you can C#. A lot of people who work with VB code can read through C# examples and create working VB code from it without the need for a converter. Recently I have been able to work through C++ examples and port them to working VB code, but it’s far more strenuous than converting from C#.

However, I never fully understood why many hard-core C# devs are so against VB…I mean, it’s just a programming language designed to accomplish tasks. For years I said I would never use a bracket language because felt I didn’t need to use anything other than VB, and that thought process lasted about 3 years until 2010 when I had to start doing manual conversions and modifying open source libraries written in C#.

2 Likes

Maybe, because the misconception that Visual Basic … is a verrrrrrrrrrry bassssssssic language for non-professional programmers?

I am very interested in Mercury. It seems to have VB6 language elements such as Gosub and ON … GOSUB.

  1. Is it VB6 compatible?
  2. Can in use DLLs that are compatible with VB6 (activeX)?

Thank you

Hi David.

No, it is not VB6 compatible - Mercury is based on VB. Net.
Most VB6 code will work in Mercury - as it also will in VB. Net.

But things as Gosub and On Gosub are not available in Mercury.

ActiveX dll’s can be used; just reference them and an interop assembly is generated.

But GoSub and On Gosub can be rewritten.

The first one as a function call, the second one as a select case that calls a method based on a value.