Coming Saturday, June 20, there is an online event, catted "Live Coders Conference". Click here for more information.

We are sponsoring this event and we are giving away 2 free one year subscriptions to the Friends Of XSharp program for the right answers to 2 trivia questions we have contributed.

The event is transmitted over Twitch and previous events were a great success with many (virtual) attendees.

This is very recommended and a lot of fun !

 

CodeParty+live coders conference+Twitter 

 

 

 


Coming Thursday May 28 at 16:00 Amsterdam time we'll have another online presentation.
This week will be a bit different from previous weeks.

In the first half of the session we would like to share with you some of the things we are working on, so you get an idea about what keeps us busy.

The second half of the event is meant for Questions and Answers.

Of course you can also use our forum for questions, and we always will do our best to answer these as good as possible, but the idea of this session to spend some time on more "philisophical" questions, like the question about "how do you guys approach error handling in the runtime" that was asked recently.

And if have a question that might need some preparation from our side, please post these before the event, so we can prepare ourselves.

The recording of the session can be found in our Youtube channel

 

 


Coming Thursday May 21 at 16:00 Amsterdam time we'll have another online presentation.
This weeks presenter is Fabrice Foray, our devteam member from France.

The topic for this week will be an intermediate level topic about Lambda Expressions, Codeblocks and LINQ

Some of the topics we'll look at:

  • What is a Lambda Expression
  • How does this relate to Delegates
  • How does this relate to Anonymous methods
  • What is the difference between a Lambda Expression and a Codeblock
  • Where do you use a Lambda Expression
  • What is LINQ
  • What is an anonymous type
  • Which extension methods from the LINQ namespace can be useful even without LINQ

The video of the recorded session is available in the XSharp Youtube channel

The examples from this and earlier online sessions can be found in the download session on this website


Coming Thursday May 14 at 16:00 Amsterdam time we'll have another online presentation.
This week it will be a somewhat more advanced topic: the X# RDD system, but we'll do our best to explain things as good as possible, so it will still be interesting to everybody.

Some of the topics we'll look at

  • RDD Related commands and how they are mapped to Functions
  • How the Db..() and VoDb..() functions are mapped to the RDD system
  • The various interfaces and types that are part of the RDD System
  • How you can register an event handler that will be notified of record movements, updates etc for ALL workareas. This can be used for logging purposes
  • How you can "wrap" a single RDD object for a single workarea and intercept or override single methods. You can use this for logging too, but you can also use this to add or change behavior of existing RDDs
  • How you can create your own custom RDD (possibly inheriting from one of our RDDs) and how you can tell X# use that RDD.

We expect that the duration of his session will be between 45 minutes and 1 hour. That means that we can't discuss every little detail (and there are actually a lot of important details in this area) .
But since the sourcecode of our RDD system is on Github we think you will be able to find your way in our code and discover the rest yourself.

Update, Friday May 15

The event yesterday was a success, but unfortunately most of the recording was lost because Robert had to reset his computer due to technical problems.
We have rescheduled the event on Monday May 18, at 09:00 Amsterdam time (GMT +2). We will start the session at the point where we were interrupted on Thursday : after the explanation about how commands are mapped to function calls using UDCs. If you want to join (again): we will use the same Zoom session ID for this event.
Hopefully this is a better time for our friends in Asia and Down Under, so they will have the chance to join "live" as well

 

The recorded video from both sessions can be seen in our Youtube channel


We have just released the public installer for XSharp Bandol 2.4a
The complete readme with the description of the changes can be found here.
This is the same build as the subscribers build, with the exception that subscribers get a slightly faster compiler, a .Net core version of the compiler  and debug versions of the runtime assemblies to aid in tracking errors (not that we have any <g>).

You can download the installer from here (you have to login first):

{rsfiles path="installers/XSharpSetup24aPublic.zip"}

 


Today we have released a new installer for XSharp Bandol 2.4a, which contains several fixes for issues that our FOX subscribers have reported in in the compiler, runtime and VS integration, related to all X# dialects. Additionally, it includes further developments on the Visual FoxPro compatibility front, with much more to follow in the next builds.

The what's new document describing all the changes can be found here:

{rsfiles path="general/Readme/whatsnew24a.rtf"}

{rsfiles path="fox/Compiler/XSharpSetup24aFox.zip"}

Unless some important problem is found in the next couple days, also the public version of the 2.4a build will follow shortly.
Thank you to all of you for your continued support and invaluable help in further developing the XSharp product!

 


The online event for Thursday May 7 , at 16:00 Amsterdam time, will be about new features in the X# language/compiler.

The recording of the session can be found in our YouTube channel.

Some of the topics that will be covered are

  • IS Var (and compare that with IsInstanceOf())
  • special Out declarations: Out VAR Id, OUT Id as Type, OUT NULL
  • New notation for literal numbers with thousands separators
  • Show #pragma warnings and #pragma optionsto override commandline arguments in code
  • Passing variables by reference to untyped functions
  • Show how we now don't longer need to use version resources but how the version info is generated from assembly attributes (and how you can switch back to the old behavior)
  • FOREACH statement (including enumerating arrays)
  • VAR keyword
  • Anonymous types

Next week (May 14) Robert will give an "advanced" session about the X# Rdd system, explaining the architecture of the RDD system and showing you how to use the new RDD events and how you can "hook" into the RDD system with the new RddWrapper class in the X# runtime.

 


Some updates on this special day for the Star Wars fans ("May the Fourth be with you").

The 2.4 build has been well received, but unfortunately there were a few small issues.
We are preparing a 2.4a build that fixes this, and will also release that revised build to the general public.

For coming Thursdag (May 7) at 16:00 Amsterdam time we have planned another online session, using Zoom.
This time we'll focus on some language / compiler improvements.
There is much that we can cover, so please let us know which of the topics you would like to be covered:

  • IS Var
  • special Out declarations: Out VAR Id, OUT Id as Type, OUT NULL
  • Show how we now don't longer need to use version resources but how the version info is generated from assembly attributes (and how you can switch back to the old behavior)
  • New notation for literal numbers with thousands separators
  • Show #pragma warnings and #pragma optionsto override commandline arguments in code
  • Passing variables by reference to untyped functions
  • Some other things in the language that are not new for X#, but may be new for people coming from VO or FoxPro
    • LINQ
    • LAMBDA expressoins versus Codeblocks. How are they the same and how are the different
    • FOREACH statement (including enumerating arrays)
    • VAR keyword
    • Anonymous types
  • Anything else ?