Johan,
I am curios, is the code below standard X#? If so, how do you anticipate the VFP code version to work, a converter or modifications so that it can use standard VFP? And will there be a way to easily update types (i.e. a search for not typed, week typed, etc.) so that we can then choose to specify a type?
Also, VFP uses a lot of classes and forms, mostly built on a UI builder. Will X# be able to convert the VFP classes/forms to code that can then be rendered using the VS form builder?
I did notice that you defined dStartas, but didn't use it - not that it would have any effect on the performance.
This is not meant to be judgmental, I think what you are doing is great, I am just curious.
Thanks,
Fletcher
Fletcher Johnson FletcherSJohnson@Yahoo.com LinkedIn.com/in/FletcherJohnson twitter.com/fletcherJ strava.com/athletes/fletcherjohnson 408-946-0960 - work 408-781-2345 - cell
-----Original Message----- From: ProFox [mailto:profox-bounces@leafe.com] On Behalf Of Johan Nel Sent: Sunday, April 14, 2019 10:29 PM To: profox@leafe.com Subject: X#: To type or not to type
Hi all VFP'ers,
As you probably know by now X# plans to have VFP syntax support by October 2019.
A question I am asked a lot by VFP coders is: Do I have to strict type my code in X#? Well, X# allows both lazy declaration and strict declaration.
Here is a small benchmark to compare the results:
function Start( ) as void
local nWeak local nStrongas int local dStartas DateTime
System.Console.WriteLine("Starting, non typed")&& The .NET way of "? <Expressions>" dStart :=DateTime.Now for nWeak := 1to 10000000 nop&& A X# way of saying No operating procedures, will not produce a compiler warning message next System.Console.WriteLine("Terminated, non typed, duration " + (DateTime.Now - dStart ):ToString() ) System.Console.WriteLine("Starting, typed") dStart :=DateTime.Now for nStrong := 1to 10000000 nop next System.Console.WriteLine("Terminated, typed, duration " + (DateTime.Now - dStart ):ToString() ) return
&& Results: && Starting, non typed && Terminated, non typed, duration 00:00:00.6469739
&& Starting, typed && Terminated, typed, duration 00:00:00.0210397
&& A speed improvement of 30.75 times
Hope this is of interest to some.
Johan Nel George, South Africa FOX member: Friends of XSharp X# Website: https://xsharp.info https://xsharp.info/ X# Runtime: https://github.com/X-Sharp/XSharpPublic X# VFP forum: https://www.xsharp.info/forum/public-vfp
[excessive quoting removed by server]