We are very proud that we can announce that we have released X# Bandol RC 1 to our FOX subscribers.
A public build of this product will follow shortly.
This build has completed the VO and Vulcan compatible runtime.
Unfortunately we found some last minute issues in the DBFCDX driver which could corrupt your indexes. We have therefore decided NOT to include the DBFCDX driver. An update for this will follow in a few weeks.
Some of the highlights of this build:
new IS Pattern expressions:
IF <variable> IS <type> VAR <newvariable>
This automatically creates a new variable <newvariable> that is only visible in the scope of the IF expression.
We have also added extended support for the & operator in combination with the Alias (->) operator and made a change to the preprocessor to make it more compatible with Xbase++. You can now use
to read a field from a workarea where the fieldname is in the expression. Of course you can also use
which is almost what gets generated by the compiler.
There are many larger and smaller changes in the runtime to make it more compatible with VO and Vulcan.
There are also some changes in the Visual Studio integration, such as:
- inheriting windows forms from other forms in the same project
- fixed a 'hang' when opening projects inside VS 2019
- some improvements in the auto indenting
- new templates for VO and XPP class libraries
FOX Subscribers can download this new build here:
In this article we would like to share with you our development roadmap for the coming months.
We are now reaching the final stage of the development of the runtime for VO & Vulcan and we are looking at new things that you an expect the coming year.
In the coming weeks we will release the first Release Candidate for the XSharp runtime. After that we expect to need a few weeks to finish the final remaining issues.
The schedule show you what we have planned to do after that.
The schedule below of course is an indication and as always: no guarantees.
|XSharp 2.0 Release |
- RDD System
- VO Class libraries
|ReportPro 2 & 3 for XSharp 2.0||April 2019||May 2019|
|Xbase++ runtime functions||July 2019|
|(Visual) FoxPro dialect, including runtime functions |
and support for VFP DBC and VFP datatypes in the DBF format
and a VFP - X# +Visual Studio converter
|April 2019||August 2019|
|VO GUI and SQL Classes with Unicode and AnyCPU support (on top of Windows Forms and Ado.Net)||June 2019||August 2019|
|VFP UI Classes||August 2019||October 2019|
As you can see in the schedule above: we have not planned to do Xbase++ UI classes yet. We need a business case (someone with a business app that uses the Xbase++ UI classes) or someone that can help us to define what exactly is needed to do this.
If you are missing something in this schedule, or if you want to help to implement / add something, please let us know. We welcome your input.
This spring is going to be an exciting period. Not only will we present our product on the X# Summit in Austin, we also expect to finalize the development of the X# Runtime for VO & Vulcan.
On top of that we will finish the implementation of the Xbase++ dialect and we will start with the Visual FoxPro dialect. We are also preparing to promote our product at various FoxPro events around the world.
X# is really becoming a mature product !
To celebrate this we have a special introductionary price for new subscribers to the Friends Of XSharp program. If you follow this link, or if you goto the order page on shareit and enter the coupon code "SPRING2019" you will receive a 25% discount on the normal price of € 999.
This spring sale will end on June 21st.
Session and Speaker descriptions
|Nikos Kokkalis studied Computer Engineering at the Democritus University of Thrace, and there also earned his doctorate in 2011. Starting in 1996, he works as an independent software developer. Since 2009 he is employed by Intracom Telecom as an embedded software and algorithm engineer. |
During 2011 - 2015 he was a member of the GrafX development team, working on the Vulcan compiler and database engine. Since Sept. 2015 he is a member of the X# development team, working on the compiler and macro compiler.
Multithreading and asynchronous programming with X#
In today's multi-core processors, it is crucial for most applications to be able to take advantage of more than one core by employing multiple threads to provide the best use experience. This is true both for server and desktop applications. This is usually combined - and sometimes confused - with the concept of asynchronous programming. Understanding these concepts and the tools offered by the CLR and X# will be the focus of this session
Into the X# compiler: Roslyn, scripting and the macro compiler
A deep dive into the X# compiler, scripting engine and macro compiler. Find out how it works, what it does best - and what it does not. Learn how to unlock the power of dynamic compilation in your applications. Performance considerations. Security concerns. These are some of the topics that we will study in this session.
|Steve Ferrandino began his professional software development career writing code in a 1983 video game arcade in Denton, Texas (Z-80 assembly language for a custom-built video game system). From there he worked with the xBase family of languages using dBase II on a TeleVideo dual 8” floppy disk CPM system (1984). He has progressed through the family from dBase III to X# (where he now spends most of his time) having passed through dbXL/Quicksilver, Clipper, Visual Objects, and Vulcan.NET. Steve’s current position is as the Director of Administrative Application Development with Harvard University’s, T.H. Chan School of Public Health in Boston, Massachusetts where he has developed a large scale Line of Business application that interfaces with the central University and many external systems. In his free time Steve is a professional saxophonist and works on his 140 year old Victorian house.|
Using X# (and C#) to interface to REST services
Representational State Transfer (REST) is a simple way to communicate between two loosely connected systems. This session will cover the history of REST and how it can be used in X# development work. Examples will include Package Tracking Services (UPS, USPS, FedEx, DHL), a two-factor authentication service (DUO), BING maps, Random Word Generation, GeoCoding, Wireless Communications Transfer Protocol (WCTP), Weather services and more.
Rolf van der Hulst
|Rolf is a graduate of University College Twente (Bachelors' Degree) and has interrupted his university career for one year to become part of the RoboTeam Twente, an autonomous robot soccer team. In this team he is treasurer and Software developer. He mostly models mathematical and physical problems within the Robot soccer software.|
Lessons from Robot Soccer; how to design and maintain software for an autonomous team of robots playing soccer.
The session will introduce robot soccer from a software perspective, and discuss some of the challenges it poses for (junior) software developers. The session will go into further detail on the architecture of the system and the 'compiler construction' for our robot language, and how we use our system to maintainable code in an easy and fast fashion.
Robert van der Hulst
|Robert has been part of the IT industry since the 80's. He started to develop applications in DOS with dBase, Clipper and FoxBase. Later he used Assembler, C++, Visual Objects, Vulcan.Net and C#. |
Robert has created several 3rd party components for Visual Objects and Vulcan developers and has been part of the Visual Objects and Vulcan.Net development team from 2003-2010, where he was responsible for the release of VO 2.7 and VO 2.8 and for Vulcan.Net 2 for.Net Framework 4.
In 2015 he started the XSharp (X#) project together with Chris Pyrgas, Nikos Kokkalis and Fabrice Foray. This project has created an open source implementation of the XBase language for .Net. with support for Visual Objects, Vulcan.NET, xBase++, Harbour and (Visual) FoxPro.
In the X# team he has worked on the Compiler, Runtime, RDD system, VS Integration, Documentation and Project Management.
Robert has also helped many customers to move their applications forward from one XBase technology to another
Migrating your Visual Objects applications to X#
The X# development language was created to help you convert your Visual Objects applications with minimal changes to .Net. It is closer to Visual Objects then Vulcan.Net ever was. However some aspects of the Visual Objects programming language are simply not supported by the .Net environment. During this session we will convert several applications from Visual Objects to X# and will have a look at the steps you have to take to make your application run in .Net. We will also have a look at the various compiler options for the X# compiler and how they help to make your application run in .Net.
X# Language improvements compared to Visual Objects and Vulcan.Net.
The first and most important goal of the X# project is to create a development language that can compile your Visual Objects and Vulcan.Net applications. However the X# development team did not stop there and has added several new features to the language. Some of these features came “for free” because the team has used the Roslyn code as the foundation for the compiler. Other features were developed especially for XBase developers.
Understanding and making the most of X# and the X# runtime
The X# runtime functions very much like the VO and Vulcan runtimes, but is designed quite differently. We will have a look at the various components that form the X# runtime and will also have a look at the source code for the runtime. You will learn which components are needed for which dialect and how you can enhance or override the behavior of the X# runtime.
(Something completely different)
On the picture 2 of the robots during the training.
|Wednesday March 20, 2019|
|17:00||18:30||Welcome Reception and Happy Hour |
Opal Divine’s (entrance via the hotel lobby)
|18:30||Dinner on your own|
|Thursday March 21, 2019|
|09:00||09:15||Welcome and Opening||X# Team|
|09:15||10:30||Migrating your Visual Objects applications to X#||Robert|
|10:45||12:00||Multithreading and asynchronous programming with X#||Nikos|
|13:00||14:15||Using X# (and C#) to interface to REST services||Steve|
|14:30||15:45||X# Language improvements compared to Visual Objects and Vulcan.Net.||Robert|
|16:00||17:00||Lessons from Robot Soccer; How to design and maintain software |
for an autonomous team of robots playing soccer.
|18:15||Meet in hotel lobby for transportation to dinner|
|18:30||22:00||Dinner at Guero’s Taco Bar|
|Friday March 22, 2019|
|09:00||10:15||Understanding and making the most of X# and the X# runtime||Robert|
|10:30||11:45||Into the X# compiler: Roslyn, scripting and the macro compiler||Nikos|
|12:00||13:00||Closing session, The future of X# and Q&A||X# Team|
|13:30||Meet in hotel lobby for transportation to lunch|
|14:00||Lunch at Able’s on the lake|
We have just published the detailed session schedule for the X# Summit next week in Austin.
We still have a few seats free, so you can still register.
We still have some free spots on this conference, and we'd really like to meet you there.
With the kind help of QLAdmin in Austin we have organized an interesting event.
More information about the event can be found on our website: https://www.xsharp.info/articles/other/x-summit-2019
Unfortunately the "early bird" discounts for the hotel are over, but they have rooms left: https://austincityhotel.com/
We hope to see you in Austin !
On behalf of the X# development team.
Robert van der Hulst