Vulcan.NET is the next generation of the xBase family of languages. Vulcan.NET provides a high level of backwards-compatibility with the Visual Objects language, while at the same time bringing it into the 21st century with all the features you would expect in a modern programming language. In addition, Vulcan.NET brings all the benefits of the .NET platform to the Visual Objects language, opening up a whole new world of opportunities for xBase programmers.
Vulcan.NET is fully CLS compliant and supports the vast majority of features available to .NET languages, including method and operator overloading, strongly typed arrays, reference and value types, enumeration types, low level pointer operations, and more.
Vulcan.NET is integrated into Visual Studio 2012/2013/2015 with project and file templates, a highly customizable code editor with syntax highlighting, and advanced editing features, a full-featured debugger, a Windows Forms designer, WPF Support, and a Tool called Transporter to convert a Visual Objects Project to a Visual Studio project.
For Visual Objects Developers:
To the extent that is both possible and practical, Vulcan.NET is syntactically and semantically compatible with Visual Objects version 2.8. Unless specifically stated otherwise, you should assume that the behavior of any given language element or runtime function will be the same in Vulcan.NET as it is in Visual Objects. To achieve the highest level of compatibility, it may be necessary to set some or all of the Visual Objects compatibility options.
Of course, any movement forward is inevitably going to require some changes to existing code. However, migrating from the native code world of Visual Objects to the managed code world of .NET is not nearly as major a change as was the movement from DOS to Windows, from weakly to strongly typed programming, or even from procedural to object-oriented programming.
The managed code world of .NET is very much like the environment you are already accustomed to. The .NET CLR provides a garbage collected memory manager, full object orientation, runtime array bounds checking, structured exception handling, and so on.