This document provides an overview and summary of X# by Eric Selje. It begins with introductions and defines X# as an open source development language for .NET based on xBase. The document then covers the history of xBase languages like dBase and FoxPro. It discusses developing apps in X#, differences from Visual FoxPro, and recommends getting involved with the X# community. In summary, it outlines how X# is both familiar yet different than FoxPro, and that there is a future for those making the transition from Visual FoxPro to the .NET framework using X#.
Born in a research lab, raised in the enterprise and now a fully open source, cross-platform language for the Cloud and Web, F# has been a key part of the transformation of programming since the early 2000s. Programming now regularly incorporates both functional and object programming techniques, with compositionality, succinctness, methodology and delivery to match.
I’ll share the story of this journey, and why F# continues to challenge the status quo with the simplicity and combining power of its design elements. I’ll discuss the philosophy underlying the F# language design and how we can look at a variety of seemingly unsolvable technical conflicts in different ways, with the aim making progress and improving society as a whole. Of interest to anyone who cares about programming, open and welcoming to all, come along and join in the fun.
Progressive f# tutorials nyc don syme on keynote f# in the open source worldSkills Matter
F# is a powerful open-source language which Microsoft, other companies and the F# community all contribute to. In this talk, Don will discuss how the “F# space” has recently opened up significantly in interesting ways. F# now includes contributions that range from Cloud IDE platforms, Cloud Compute frameworks, Data interoperability components, Cross-platform execution, Try F#, MonoDevelop, and even Emacs editor integration with surprising tooling support, as well as the Visual F# tools from Microsoft and the broader NuGet package ecosystem. Don will also talk about some of the latest contributions from Microsoft Research, including new type provider components for F#, and describe how his team work with the Visual F# team and other teams around Microsoft. There will also be demos of some fun new stuff that’s been going on with F# at MSR and the community.
For novice programmers, it is difficult to decide on which programming language to learn first, or which one to try out next? The choice is vast and the complexities many. The author analyses various programming languages, and suggests making a choice based on the programmers’ interests and current software trends.
Flink Forward San Francisco 2019: Apache Beam portability in the times of rea...Flink Forward
Apache Beam was open sourced by the big data team at Google in 2016, and has become an active community with participants from all over. Beam is a framework to define data processing workflows and run them on various runners (Flink included). In this talk, I will talk about some cool things you can do with Beam + Flink such as running pipelines written in Go and Python; then I’ll mention some cool tools in the Beam ecosystem. Finally, we’ll wrap up with some cool things we expect to be able to do soon - and how you can get involved.
Portable batch and streaming pipelines with Apache Beam (Big Data Application...Malo Denielou
Apache Beam is a top-level Apache project which aims at providing a unified API for efficient and portable data processing pipeline. Beam handles both batch and streaming use cases and neatly separates properties of the data from runtime characteristics, allowing pipelines to be portable across multiple runtimes, both open-source (e.g., Apache Flink, Apache Spark, Apache Apex, ...) and proprietary (e.g., Google Cloud Dataflow). This talk will cover the basics of Apache Beam, describe the main concepts of the programming model and talk about the current state of the project (new python support, first stable version). We'll illustrate the concepts with a use case running on several runners.
Born in a research lab, raised in the enterprise and now a fully open source, cross-platform language for the Cloud and Web, F# has been a key part of the transformation of programming since the early 2000s. Programming now regularly incorporates both functional and object programming techniques, with compositionality, succinctness, methodology and delivery to match.
I’ll share the story of this journey, and why F# continues to challenge the status quo with the simplicity and combining power of its design elements. I’ll discuss the philosophy underlying the F# language design and how we can look at a variety of seemingly unsolvable technical conflicts in different ways, with the aim making progress and improving society as a whole. Of interest to anyone who cares about programming, open and welcoming to all, come along and join in the fun.
Progressive f# tutorials nyc don syme on keynote f# in the open source worldSkills Matter
F# is a powerful open-source language which Microsoft, other companies and the F# community all contribute to. In this talk, Don will discuss how the “F# space” has recently opened up significantly in interesting ways. F# now includes contributions that range from Cloud IDE platforms, Cloud Compute frameworks, Data interoperability components, Cross-platform execution, Try F#, MonoDevelop, and even Emacs editor integration with surprising tooling support, as well as the Visual F# tools from Microsoft and the broader NuGet package ecosystem. Don will also talk about some of the latest contributions from Microsoft Research, including new type provider components for F#, and describe how his team work with the Visual F# team and other teams around Microsoft. There will also be demos of some fun new stuff that’s been going on with F# at MSR and the community.
For novice programmers, it is difficult to decide on which programming language to learn first, or which one to try out next? The choice is vast and the complexities many. The author analyses various programming languages, and suggests making a choice based on the programmers’ interests and current software trends.
Flink Forward San Francisco 2019: Apache Beam portability in the times of rea...Flink Forward
Apache Beam was open sourced by the big data team at Google in 2016, and has become an active community with participants from all over. Beam is a framework to define data processing workflows and run them on various runners (Flink included). In this talk, I will talk about some cool things you can do with Beam + Flink such as running pipelines written in Go and Python; then I’ll mention some cool tools in the Beam ecosystem. Finally, we’ll wrap up with some cool things we expect to be able to do soon - and how you can get involved.
Portable batch and streaming pipelines with Apache Beam (Big Data Application...Malo Denielou
Apache Beam is a top-level Apache project which aims at providing a unified API for efficient and portable data processing pipeline. Beam handles both batch and streaming use cases and neatly separates properties of the data from runtime characteristics, allowing pipelines to be portable across multiple runtimes, both open-source (e.g., Apache Flink, Apache Spark, Apache Apex, ...) and proprietary (e.g., Google Cloud Dataflow). This talk will cover the basics of Apache Beam, describe the main concepts of the programming model and talk about the current state of the project (new python support, first stable version). We'll illustrate the concepts with a use case running on several runners.
Turning to the Functional Side using C# and F#. In this tutorial, we introduce essential functional concepts using analogies from the object-oriented world. We also look at a real-world point of sale application written using Silverlight and asynchronous workflows.
Here are the slides for the presentation that Shai Reznik and I gave at Angular Connect 2015. Our presentation is 5-minutes of meaningful content wrapped in another 20 minutes of wackiness that pokes fun at a lot of other memorable keynotes we have seen.
Overview to Xamarin : Understanding Xamarin ArchitectureKhairi Aiman
Xamarin is a framework that enable developers to develop multi-platfrom application. Xamarin support Native development and Form UI Renderer (PCL & Shared).
In this chapter, participants will be more approach on Xamarin.Forms (not Native Development). Xamarin.Forms make developers work more easier and fast. It's enable developers write in a project and automatically Android, iOS and Windows Phone app can be generated.
Presented at Houston Tech Fest 2009.
F# is the new kid on the block, and many are wondering why they should care. F# offers a lot of really elegant solutions to some tasks many avoid simply because of the pain involved. What many don't realize is that F# was the basis for a lot of time-saving tools now available in C#, such as LINQ. That's not to say everyone should switch all their projects from VB.NET and C# to F#. Find out how you can start leveraging F# in your current projects by using the right language for the right job.
Swift vs Flutter Best Mobile App Development FrameworkPixlogix Infotech
Explore the battle between Swift and Flutter for mobile app development supremacy. Delve into their strengths, weaknesses, and which is better suited for your next project. Gain insights into the key differences and make an informed decision. Stay ahead in the world of mobile development with Pixlogix's expert analysis.
Presentation of a new Xcode product: Xplore. A new search engine developed for the book industry generating more accurate results linked with rich media to improve the search.
There are times when an extremely powerful platform like Flutter may not prove to be enough for your digital product. That’s when you need Flutter alternatives.
The .Net structure is a product improvement platform created by Microsoft. The structure was intended to make applications, which would keep running on the Windows Platform.
Turning to the Functional Side using C# and F#. In this tutorial, we introduce essential functional concepts using analogies from the object-oriented world. We also look at a real-world point of sale application written using Silverlight and asynchronous workflows.
Here are the slides for the presentation that Shai Reznik and I gave at Angular Connect 2015. Our presentation is 5-minutes of meaningful content wrapped in another 20 minutes of wackiness that pokes fun at a lot of other memorable keynotes we have seen.
Overview to Xamarin : Understanding Xamarin ArchitectureKhairi Aiman
Xamarin is a framework that enable developers to develop multi-platfrom application. Xamarin support Native development and Form UI Renderer (PCL & Shared).
In this chapter, participants will be more approach on Xamarin.Forms (not Native Development). Xamarin.Forms make developers work more easier and fast. It's enable developers write in a project and automatically Android, iOS and Windows Phone app can be generated.
Presented at Houston Tech Fest 2009.
F# is the new kid on the block, and many are wondering why they should care. F# offers a lot of really elegant solutions to some tasks many avoid simply because of the pain involved. What many don't realize is that F# was the basis for a lot of time-saving tools now available in C#, such as LINQ. That's not to say everyone should switch all their projects from VB.NET and C# to F#. Find out how you can start leveraging F# in your current projects by using the right language for the right job.
Swift vs Flutter Best Mobile App Development FrameworkPixlogix Infotech
Explore the battle between Swift and Flutter for mobile app development supremacy. Delve into their strengths, weaknesses, and which is better suited for your next project. Gain insights into the key differences and make an informed decision. Stay ahead in the world of mobile development with Pixlogix's expert analysis.
Presentation of a new Xcode product: Xplore. A new search engine developed for the book industry generating more accurate results linked with rich media to improve the search.
There are times when an extremely powerful platform like Flutter may not prove to be enough for your digital product. That’s when you need Flutter alternatives.
The .Net structure is a product improvement platform created by Microsoft. The structure was intended to make applications, which would keep running on the Windows Platform.
For the last few months we've watched with fascination the developing story of the data breach at Target, Neiman Marcus, Michael's and others. In this session we'll take a look at how the thieves accomplished this feat including what they do with their takings, how it might have been prevented, and why the bank may not care all that much. Along the way you'll learn ways to secure your own information so your business doesn't become the next Target.
Post-mortem of the Target data breach, with tips for avoiding becoming the next victim. Created for SQL Saturday 287 in Madison, WI.
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
Connector Corner: Automate dynamic content and events by pushing a buttonDianaGray10
Here is something new! In our next Connector Corner webinar, we will demonstrate how you can use a single workflow to:
Create a campaign using Mailchimp with merge tags/fields
Send an interactive Slack channel message (using buttons)
Have the message received by managers and peers along with a test email for review
But there’s more:
In a second workflow supporting the same use case, you’ll see:
Your campaign sent to target colleagues for approval
If the “Approve” button is clicked, a Jira/Zendesk ticket is created for the marketing design team
But—if the “Reject” button is pushed, colleagues will be alerted via Slack message
Join us to learn more about this new, human-in-the-loop capability, brought to you by Integration Service connectors.
And...
Speakers:
Akshay Agnihotri, Product Manager
Charlie Greenberg, Host
Generating a custom Ruby SDK for your web service or Rails API using Smithyg2nightmarescribd
Have you ever wanted a Ruby client API to communicate with your web service? Smithy is a protocol-agnostic language for defining services and SDKs. Smithy Ruby is an implementation of Smithy that generates a Ruby SDK using a Smithy model. In this talk, we will explore Smithy and Smithy Ruby to learn how to generate custom feature-rich SDKs that can communicate with any web service, such as a Rails JSON API.
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Tobias Schneck
As AI technology is pushing into IT I was wondering myself, as an “infrastructure container kubernetes guy”, how get this fancy AI technology get managed from an infrastructure operational view? Is it possible to apply our lovely cloud native principals as well? What benefit’s both technologies could bring to each other?
Let me take this questions and provide you a short journey through existing deployment models and use cases for AI software. On practical examples, we discuss what cloud/on-premise strategy we may need for applying it to our own infrastructure to get it to work from an enterprise perspective. I want to give an overview about infrastructure requirements and technologies, what could be beneficial or limiting your AI use cases in an enterprise environment. An interactive Demo will give you some insides, what approaches I got already working for real.
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Neuro-symbolic is not enough, we need neuro-*semantic*Frank van Harmelen
Neuro-symbolic (NeSy) AI is on the rise. However, simply machine learning on just any symbolic structure is not sufficient to really harvest the gains of NeSy. These will only be gained when the symbolic structures have an actual semantics. I give an operational definition of semantics as “predictable inference”.
All of this illustrated with link prediction over knowledge graphs, but the argument is general.
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
2. Southwest
Fox 2019
Fox Developer since 1985
Consulting/Developing w/ Salty Dog Solutions
“MadFox” since 1995
Maintainer of many legacy apps
NOT an X# Expert
Who is Eric Selje?
3. Southwest
Fox 2019
“X# is an open source development language for
.NET, based on the xBase language. It comes in
different flavors, such as Core, Visual Objects,
Vulcan.NET, xBase++, Harbour, Foxpro and more.”
What is X#?
5. Southwest
Fox 2019
History of xBase and Overview of X#
Developing Apps in X#
Differences Between X# and Visual FoxPro
Goals and Timelines of X# Team
Agenda
12. Southwest
Fox 2019
Now
History
Differences
Conclusion
History of xBase
dBase
(fka Vulcan)
FoxBase
Clipper
Harbour /
xHabour
Others
Open Source, Multi-Platform Clipper
Microsoft Windows, Linux, Unix
variants, several BSD descendants,
Mac OS X, MINIX 3, Windows CE,
Pocket PC, Symbian, iOS, Android,
QNX, VxWorks, OS/2/eComStation,
BeOS/Haiku, AIX and MS-DOS.
14. Southwest
Fox 2019
Now
History
Differences
Conclusion
History of xBase
dBase
(fka Vulcan)
FoxBase
Clipper
Harbour /
xHabour
xBase++
FlagShip
Others
multisoft Datentechnik GmbH
All flavors of Linux/UNIX
Visual FlagShip
added Windows
Latest Version: 8 (2002)
15. Southwest
Fox 2019
Now
History
Differences
Conclusion
History of xBase
dBase
(fka Vulcan)
FoxBase
Clipper
Harbour /
xHabour
xBase++
FlagShip
Visual
Objects
Others
Codenamed Aspen
Renamed Visual Objects
Windows Compiler
Sold to GrafX
Last Version: 2.8 (2012)
27. Southwest
Fox 2019
Now
History
Differences
Conclusion
Cool New Features:
Interpolated / Enhanced Strings
From this (note all the delimiters):
? “Al’s dad wrote ”+’[“It’s garbudje day” +] + ‘[sic].’ ;
+ chr(13)
To
? e“Al’s dad wrote ”It’s garbudge day” [sic].n”
30. Southwest
Fox 2019
Now
History
Differences
Conclusion
Cool New Features:
Even arrays are objects!
LOCAL aNames AS ARRAY
aNames[1] = “Doug”
aNames[2] = “Tamar”
aNames[3] = “Rick”
? aNames.Length
? aNames.IsEmpty()
AEval(aTables, {|tablename| QOut(tablename)})
45. Southwest
Fox 2019
Brief History of xBase
How to get started developing in X#
How it is familiar to FoxPro developers
How it is different than Visual FoxPro
What You Learned Today
46. Thank-You!
Please fill out your evaluation.
Southwest
Fox 2019
Eric Selje
Salty Dog Solutions, LLC
Eric@SaltyDogLLC.com
@EricSelje
Editor's Notes
Kind of looks like I’m cursing up there
This was a little difficult to do because the X# team is working hard and adding FoxPro features fast and furiously.
I waited as long as I could to get going on this. Maybe too long as my samples aren’t everything I’d have liked them to be.
Give you a better understanding of where X# comes from and why it’s different than Visual FoxPro
In the beginning, there was Vulcan.
Created in 1978 by Wayne Ratliff at JPL Laboratories to run his football pool, Vulcan was the ur-language of what would become the bread and butter of everyone in this room.
And it was good.
Vulcan ran on CP/M.
dBase II added Apple II and DOS
dBase III also ran on VMS and UNIX
dBase III+ added ASSIST
dBase IV
Sold to Borland in 1990
Bought Arago for Windows, which became dBase 5 in 1994 but market had moved (Access)
Sold to Ksoft, renamed Databased Intelligence, then dBase LLC
Current version dBase 2019
Fox Software
FoxBase for Windows, DOS, and UNIX
FoxPro
Sold to Microsoft
Visual FoxPro
Last version, 9 (2007)
Also Arago, which became dBase V for Windows
Nantucket Software
DOS only
Compiled, not interpreted
Sold to Computer Associates
Renamed CA-Clipper
Last Version: 5.3b (1997)
Still ongoing. Just released a new version.
Visual Objects was the Windows version of Clipper
Remember that abbreviation, VO, because that’s the origin of X#.
Sold to a company called GrafX and continued until its last release in 2012.
GrafX wrote a compiler from scratch that took advantage of the .NET framework
GrafX didn’t put a lot of marketing behind it. This frustrated a core group on their development team, who left in 2015 to start a new effort.
As mentioneded in the first slide
Creates EXEs and DLLs that use .NET Framework
Use other .NET Components
Let’s start by taking a quick look at what a finished X# application. Nobody wants to develop w/ an app that makes ugly applications.
Demo XIDE.
Edit w/ whatever your favorite editor is
VI, EMACS, Copy Con…
Rick Strahl used Code
Derivative of Vulcan.NET IDE
Written and compiled in X# itself
Projects => Applications => Code
No “Command Window”
XSI is a nice way to get used to trying out some of the X# commands, and you can also run PRGs you created with your favorite text editor, but it’s not an editor itself.
Demos in
C:\Users\Public\Documents\XSharp\Scripting\Scripts
HelloWorld.prgx
Form_Test.prgx
1. Visual Studio Code CLI
2. Git Integration
3. Debugging
4. Live Share
5. Split Views, Zen Mode
6. Helpers (Intellisense, Context Menus..)
7. Integrated Terminal
8. Plugins and Themes
Demo in XSI
Demo in XSI
FoxTypes
Demo in XSI
FoxTypes
Demo in XSI
FoxTypes
Demo in XSI
FoxTypes
Demo in XSI
Arrays are enumerable, so you can use iterators over them almost like a datatable or list
CodeBlocks come from Clipper. Lambdas are a .NET thing
Have been around since 1958 in LISP, much earlier in math notation
“Here’s a function that I don’t really need to name because I’m only using it for a very short and specific time,”
Show in XSI
delegate Square(x as real8) as real8
local sq as Square
sq := {e => e*e}
WinForms
WinForms is the abbreviated name for “Windows Forms”. This GUI library from the .NET Framework is the oldest GUI library of the .NET Framework and is based on the Windows GDI, with all it's advantages and disadvantages, but has some very important features over the VO GUI classes or generally over the classical Windows GDI that we know from Win32 applications.
The major advantages of the WinForms library are that they are very fast, work well on TerminalServer sessions, and are familiar to every Windows programmer. They include all of the controls we know from the Windows API, with some very enhanced, like the RTF control that accepts even pasted images. It is possible to use PNG images with transparencies, and the menu control is modernized a lot in it's look.
The disadvantages include the strict binding to the Windows GDI, so it is Windows only (can be used on Linux only with the Wine library), and it does not scale very well on high resolution monitors because it is bitmap based.
WinForms applications normally look very familiar because they use the normal look and feel of the Windows platform.
During the Build 2018 conference Microsoft announced that they would make available the WinForms GUI library also in the .NET Core 3.0 version - so applications built on this GUI should be supported for a few more years than planned. Nevertheless, for new applications the use of the WPF class library is recommended.
The WPF GUI classes were developed from scratch - without using the Windows GDI, and completely vector oriented. The WPF GUI library uses DirectX - the graphics interface that was developed for gaming applications, with maximal performance in mind.
WPF is ideal vor very innovative and flexible user interfaces and requires a completely different thinking from the developer, but it is possible to build very flexible, powerful and beautiful GUIs with it. And well built WPF applications scale from low to high resolutions, from small to large monitors without resizing artefacts.
Some of the base controls are permitting very interesting constructions: so you can put a grid with different other controls like a listbox, an image or an edit control on a button, or you can replace the items of a treeviev by your own controls.
Another strong point of the WPF library is the databinding of the controls and windows: you can databind nearly every property to a field in the datacontext. That means not only the content of the control, but also it's size, color, font much more.
Microsoft recommends to use XAML (a XML-like language) to build windows and user controls, but it is also possible to build them completely in code.
In short: if you are building a completely new application, you should seriously consider to build it using WPF. And Microsoft has announced on the Build 2018 conference that .NET Core 3.0 will contain a binding to the WPF GUI library (on Windows only, unfortunately).
If you’re going to move to .NET from Visual FoxPro, do you want to take a half step. Why not go all the way to C#
You will have to decide where X# fits into your development toolbox.
DBF access from .NET is compelling
Integration w/ other .NET assemblies