SlideShare ist ein Scribd-Unternehmen logo
1 von 46
Southwest
Fox 2019
Look at X Sharp
Eric Selje
Salty Dog Solutions, LLC
Eric@SaltyDogLLC.com
@EricSelje
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?
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#?
Southwest
Fox 2019
Questions?
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
Southwest
Fox 2019
History of xBase
Languages
Southwest
Fox 2019
Now
History
Differences
Conclusion
History of xBase
Vulcan
In the beginning
Southwest
Fox 2019
Now
History
Differences
Conclusion
History of xBase
dBase II
(fka Vulcan)
Southwest
Fox 2019
Now
History
Differences
Conclusion
History of xBase
dBase
(fka Vulcan)
FoxBase
Southwest
Fox 2019
Now
History
Differences
Conclusion
History of xBase
dBase
(fka Vulcan)
FoxBase
Others
•QuickSilver
•dbXL
•MultiBase
•Recital
•Eagle
Southwest
Fox 2019
Now
History
Differences
Conclusion
History of xBase
dBase
(fka Vulcan)
FoxBase
Clipper
Others
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.
Southwest
Fox 2019
Now
History
Differences
Conclusion
History of xBase
dBase
(fka Vulcan)
FoxBase
Clipper
Harbour /
xHabour
xBase++
Others
Alaska Software
Windows
Latest Version: 2.00
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)
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)
Southwest
Fox 2019
Now
History
Differences
Conclusion
History of xBase
dBase
(fka Vulcan)
FoxBase
Clipper
Harbour /
xHabour
xBase++
FlagShip
Visual
Objects
Vulcan.NET
Others
Rewritten from Scratch
Take advantage of .NET
framework
Southwest
Fox 2019
Now
History
Differences
Conclusion
History of xBase
dBase
(fka Vulcan)
FoxBase
Clipper
Harbour /
xHabour
xBase++
FlagShip
Visual
Objects
Vulcan.NET X#
Others
• Open Source
• Compiler Based on Roslyn
• Full .NET Citizen
Southwest
Fox 2019
Developing Apps
Southwest
Fox 2019
Now
History
Differences
Conclusion
XSC Compiler
Southwest
Fox 2019
Now
History
Differences
Conclusion
IDE #1: XIDE
 Demo…
Southwest
Fox 2019
Now
History
Differences
Conclusion
IDE #1.5: XSI
 X Sharp Interpreter
 Akin to a command window
 Can run PRGX scripts
 Demo…
Southwest
Fox 2019
Now
History
Differences
Conclusion
IDE #2: Visual Studio
 Project Templates for X# Projects
 Add-Ins for X# syntax, formatting, intellisense
 Massive development ecosystem
Southwest
Fox 2019
Now
History
Differences
Conclusion
Demo…
Southwest
Fox 2019
Differences between
X# and Visual FoxPro
Southwest
Fox 2019
Now
History
Differences
Conclusion
Cool New Features:
Objectify all the things!
local dt as datetime
dt = DateTime.now
? dt.ToLongDateString()
? DateTime.IsLeapYear(dt.year)
? dt.ToUniversalTime()
? dt.IsDaylightSavingTime()
Southwest
Fox 2019
Now
History
Differences
Conclusion
Cool New Features:
Objectify all the strings!
local cString as string
cString := "It was the best of times“
? cString.Length // Property
? cString.ToUpper()
? cString.Replace(“best”, “worst”)
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”
Southwest
Fox 2019
Now
History
Differences
Conclusion
Cool New Features:
Interpolated / Enhanced Strings
cHeader = "This is a header line"
cHTML =
ei"<TABLE><TH>{cHeader}</TH></TABLE>"
Southwest
Fox 2019
Now
History
Differences
Conclusion
Cool New Features:
Interpolated / Enhanced Strings
cHeader = "This is a header line"
cClass = "myTableClass"
cHTML = ei"<TABLE
class="{myTableClass}"><TH>{cHeader}</TH></TABLE>"
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)})
Southwest
Fox 2019
Now
History
Differences
Conclusion
Cool New Features: Lambdas
sq := {e => e * e}
? sq
? sq(1)
? sq(2)
Southwest
Fox 2019
Now
History
Differences
Conclusion
Cool New Features: LINQ
VAR oGreek :=
FROM Developer IN oDev
WHERE Developer:Country == "Greece“
ORDERBY Developer:LastName DESCENDING
SELECT Developer
Southwest
Fox 2019
Now
History
Differences
Conclusion
Cool New Features:
Anonymous Expressions
Southwest
Fox 2019
Now
History
Differences
Conclusion
Because it is .NET
> 6k
Classes
Southwest
Fox 2019
Now
History
Differences
Conclusion
What’s Missing: Visual Class Designer
 Not really necessary anyway for non-UI
 VCX files are a source code pain point
Southwest
Fox 2019
Now
History
Differences
Conclusion
What’s Missing: Report Designer
 No converter for existing reports
 Plenty of 3rd party report writers
• Stonefield
• ReportPro
• Telerik
Southwest
Fox 2019
Now
History
Differences
Conclusion
Form Design - WinForms
 Classic Windows Forms
 No converter available
 Fast, Familiar
 Work well / Terminal Server
 Will be in .NET Core 3.0?
Southwest
Fox 2019
Now
History
Differences
Conclusion
Form Design - WPF
 WPF – Windows Presentation Framework
 XAML
 No converter
 Extremely flexible
 Recommended
Southwest
Fox 2019
Now
History
Differences
Conclusion
What’s Missing (as of this weekend)?
 Exception Handling
 Inline SQL
 Cursors / Browse
 SCATTER/GATHER
 Full DBC Support
Southwest
Fox 2019
Is X# in your Future?
Southwest
Fox 2019
Now
History
Differences
Conclusion
Recommendation
 Enough similarity that it feels comfortable
 Enough differences that it’s not trivial
 Existing VFP won’t run without conversion
 A foot in the past, a foot in the future
Southwest
Fox 2019
Now
History
Differences
Conclusion
There is a future here
 .NET is (probably) not going away
 Open Source means no centralized control
 What these people have done is amazing
 More People need to get involved
Southwest
Fox 2019
Now
History
Differences
Conclusion
Get Involved
 Contribute to source code
 Test
 Friends of X# (FOX)
Southwest
Fox 2019
In Summary
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
Thank-You!
Please fill out your evaluation.
Southwest
Fox 2019
Eric Selje
Salty Dog Solutions, LLC
Eric@SaltyDogLLC.com
@EricSelje

Weitere ähnliche Inhalte

Ähnlich wie SELJE - Look at X Sharp.pptx

The REAL Angular Keynote
The REAL Angular KeynoteThe REAL Angular Keynote
The REAL Angular KeynoteLukas Ruebbelke
 
Overview to Xamarin : Understanding Xamarin Architecture
Overview to Xamarin : Understanding Xamarin ArchitectureOverview to Xamarin : Understanding Xamarin Architecture
Overview to Xamarin : Understanding Xamarin ArchitectureKhairi Aiman
 
Portland Splunk User Group May 2020
Portland Splunk User Group May 2020 Portland Splunk User Group May 2020
Portland Splunk User Group May 2020 Amanda Richardson
 
Deep Dive into FME Desktop 2018
Deep Dive into FME Desktop 2018Deep Dive into FME Desktop 2018
Deep Dive into FME Desktop 2018Safe Software
 
Presentation Xplore
Presentation XplorePresentation Xplore
Presentation XploreXcode
 
SELJE - Look at X Sharp.pdf
SELJE - Look at X Sharp.pdfSELJE - Look at X Sharp.pdf
SELJE - Look at X Sharp.pdfEric Selje
 
What Are Your Options If You Can’t Use Flutter_.pdf
What Are Your Options If You Can’t Use Flutter_.pdfWhat Are Your Options If You Can’t Use Flutter_.pdf
What Are Your Options If You Can’t Use Flutter_.pdfMoon Technolabs Pvt. Ltd.
 
Introduction to Microsoft Silverlight
Introduction to Microsoft SilverlightIntroduction to Microsoft Silverlight
Introduction to Microsoft SilverlightGlen Gordon
 
Hcplphx920
Hcplphx920Hcplphx920
Hcplphx920Thinkful
 
Ten compelling reasons to learn .net framework
Ten compelling reasons to learn .net frameworkTen compelling reasons to learn .net framework
Ten compelling reasons to learn .net frameworkJanBask Training
 
AN INTRODUCTION TO APACHE FLEX
AN INTRODUCTION TO APACHE FLEXAN INTRODUCTION TO APACHE FLEX
AN INTRODUCTION TO APACHE FLEXJoseph Labrecque
 
Language Engineering in the Cloud
Language Engineering in the CloudLanguage Engineering in the Cloud
Language Engineering in the Cloudlennartkats
 
Seattle Mobile .NET User Group - Nov. 13th 2019
Seattle Mobile .NET User Group - Nov. 13th 2019Seattle Mobile .NET User Group - Nov. 13th 2019
Seattle Mobile .NET User Group - Nov. 13th 2019James Montemagno
 
Eclipsist2009 Rich Client Roundup
Eclipsist2009 Rich Client RoundupEclipsist2009 Rich Client Roundup
Eclipsist2009 Rich Client RoundupMurat Yener
 
Delphi unicode-migration
Delphi unicode-migrationDelphi unicode-migration
Delphi unicode-migrationzevin
 
Adobeflex(2)
Adobeflex(2)Adobeflex(2)
Adobeflex(2)tomcoh
 

Ähnlich wie SELJE - Look at X Sharp.pptx (20)

F# Tutorial @ QCon
F# Tutorial @ QConF# Tutorial @ QCon
F# Tutorial @ QCon
 
The REAL Angular Keynote
The REAL Angular KeynoteThe REAL Angular Keynote
The REAL Angular Keynote
 
Overview to Xamarin : Understanding Xamarin Architecture
Overview to Xamarin : Understanding Xamarin ArchitectureOverview to Xamarin : Understanding Xamarin Architecture
Overview to Xamarin : Understanding Xamarin Architecture
 
Practical F#
Practical F#Practical F#
Practical F#
 
Portland Splunk User Group May 2020
Portland Splunk User Group May 2020 Portland Splunk User Group May 2020
Portland Splunk User Group May 2020
 
Introduction to F#
Introduction to F#Introduction to F#
Introduction to F#
 
XSharp
XSharpXSharp
XSharp
 
Deep Dive into FME Desktop 2018
Deep Dive into FME Desktop 2018Deep Dive into FME Desktop 2018
Deep Dive into FME Desktop 2018
 
Presentation Xplore
Presentation XplorePresentation Xplore
Presentation Xplore
 
SELJE - Look at X Sharp.pdf
SELJE - Look at X Sharp.pdfSELJE - Look at X Sharp.pdf
SELJE - Look at X Sharp.pdf
 
What Are Your Options If You Can’t Use Flutter_.pdf
What Are Your Options If You Can’t Use Flutter_.pdfWhat Are Your Options If You Can’t Use Flutter_.pdf
What Are Your Options If You Can’t Use Flutter_.pdf
 
Introduction to Microsoft Silverlight
Introduction to Microsoft SilverlightIntroduction to Microsoft Silverlight
Introduction to Microsoft Silverlight
 
Hcplphx920
Hcplphx920Hcplphx920
Hcplphx920
 
Ten compelling reasons to learn .net framework
Ten compelling reasons to learn .net frameworkTen compelling reasons to learn .net framework
Ten compelling reasons to learn .net framework
 
AN INTRODUCTION TO APACHE FLEX
AN INTRODUCTION TO APACHE FLEXAN INTRODUCTION TO APACHE FLEX
AN INTRODUCTION TO APACHE FLEX
 
Language Engineering in the Cloud
Language Engineering in the CloudLanguage Engineering in the Cloud
Language Engineering in the Cloud
 
Seattle Mobile .NET User Group - Nov. 13th 2019
Seattle Mobile .NET User Group - Nov. 13th 2019Seattle Mobile .NET User Group - Nov. 13th 2019
Seattle Mobile .NET User Group - Nov. 13th 2019
 
Eclipsist2009 Rich Client Roundup
Eclipsist2009 Rich Client RoundupEclipsist2009 Rich Client Roundup
Eclipsist2009 Rich Client Roundup
 
Delphi unicode-migration
Delphi unicode-migrationDelphi unicode-migration
Delphi unicode-migration
 
Adobeflex(2)
Adobeflex(2)Adobeflex(2)
Adobeflex(2)
 

Mehr von Eric Selje

SELJE - VFP and IT Security.pptx
SELJE - VFP and IT Security.pptxSELJE - VFP and IT Security.pptx
SELJE - VFP and IT Security.pptxEric Selje
 
SELJE - VFP and IT Security.pdf
SELJE - VFP and IT Security.pdfSELJE - VFP and IT Security.pdf
SELJE - VFP and IT Security.pdfEric Selje
 
SELJE - VFP Advanced.pdf
SELJE - VFP Advanced.pdfSELJE - VFP Advanced.pdf
SELJE - VFP Advanced.pdfEric Selje
 
SELJE - VFP Advanced.pptx
SELJE - VFP Advanced.pptxSELJE - VFP Advanced.pptx
SELJE - VFP Advanced.pptxEric Selje
 
OneNote to Rule Them All.pdf
OneNote to Rule Them All.pdfOneNote to Rule Them All.pdf
OneNote to Rule Them All.pdfEric Selje
 
FoxUnit in Depth.pptx
FoxUnit in Depth.pptxFoxUnit in Depth.pptx
FoxUnit in Depth.pptxEric Selje
 
OneNote to Rule Them All Slides.pptx
OneNote to Rule Them All Slides.pptxOneNote to Rule Them All Slides.pptx
OneNote to Rule Them All Slides.pptxEric Selje
 
SELJE_Database_Unit_Testing_Slides.pdf
SELJE_Database_Unit_Testing_Slides.pdfSELJE_Database_Unit_Testing_Slides.pdf
SELJE_Database_Unit_Testing_Slides.pdfEric Selje
 
SELJE_Database_Unit_Testing.pdf
SELJE_Database_Unit_Testing.pdfSELJE_Database_Unit_Testing.pdf
SELJE_Database_Unit_Testing.pdfEric Selje
 
Selje_SSMS (Slides).pdf
Selje_SSMS (Slides).pdfSelje_SSMS (Slides).pdf
Selje_SSMS (Slides).pdfEric Selje
 
Selje_SSMS for the Accidental DBA.pdf
Selje_SSMS for the Accidental DBA.pdfSelje_SSMS for the Accidental DBA.pdf
Selje_SSMS for the Accidental DBA.pdfEric Selje
 
Selje_Fox on the Run.ppt
Selje_Fox on the Run.pptSelje_Fox on the Run.ppt
Selje_Fox on the Run.pptEric Selje
 
Selje_Fox on the Run.pdf
Selje_Fox on the Run.pdfSelje_Fox on the Run.pdf
Selje_Fox on the Run.pdfEric Selje
 
Selje_Extending Web Apps.ppt
Selje_Extending Web Apps.pptSelje_Extending Web Apps.ppt
Selje_Extending Web Apps.pptEric Selje
 
Selje_Amazing VFP2C32 Library.pdf
Selje_Amazing VFP2C32 Library.pdfSelje_Amazing VFP2C32 Library.pdf
Selje_Amazing VFP2C32 Library.pdfEric Selje
 
Don't Be a Target!
Don't Be a Target! Don't Be a Target!
Don't Be a Target! Eric Selje
 
Energy audit tablet screenshots
Energy audit tablet screenshotsEnergy audit tablet screenshots
Energy audit tablet screenshotsEric Selje
 

Mehr von Eric Selje (17)

SELJE - VFP and IT Security.pptx
SELJE - VFP and IT Security.pptxSELJE - VFP and IT Security.pptx
SELJE - VFP and IT Security.pptx
 
SELJE - VFP and IT Security.pdf
SELJE - VFP and IT Security.pdfSELJE - VFP and IT Security.pdf
SELJE - VFP and IT Security.pdf
 
SELJE - VFP Advanced.pdf
SELJE - VFP Advanced.pdfSELJE - VFP Advanced.pdf
SELJE - VFP Advanced.pdf
 
SELJE - VFP Advanced.pptx
SELJE - VFP Advanced.pptxSELJE - VFP Advanced.pptx
SELJE - VFP Advanced.pptx
 
OneNote to Rule Them All.pdf
OneNote to Rule Them All.pdfOneNote to Rule Them All.pdf
OneNote to Rule Them All.pdf
 
FoxUnit in Depth.pptx
FoxUnit in Depth.pptxFoxUnit in Depth.pptx
FoxUnit in Depth.pptx
 
OneNote to Rule Them All Slides.pptx
OneNote to Rule Them All Slides.pptxOneNote to Rule Them All Slides.pptx
OneNote to Rule Them All Slides.pptx
 
SELJE_Database_Unit_Testing_Slides.pdf
SELJE_Database_Unit_Testing_Slides.pdfSELJE_Database_Unit_Testing_Slides.pdf
SELJE_Database_Unit_Testing_Slides.pdf
 
SELJE_Database_Unit_Testing.pdf
SELJE_Database_Unit_Testing.pdfSELJE_Database_Unit_Testing.pdf
SELJE_Database_Unit_Testing.pdf
 
Selje_SSMS (Slides).pdf
Selje_SSMS (Slides).pdfSelje_SSMS (Slides).pdf
Selje_SSMS (Slides).pdf
 
Selje_SSMS for the Accidental DBA.pdf
Selje_SSMS for the Accidental DBA.pdfSelje_SSMS for the Accidental DBA.pdf
Selje_SSMS for the Accidental DBA.pdf
 
Selje_Fox on the Run.ppt
Selje_Fox on the Run.pptSelje_Fox on the Run.ppt
Selje_Fox on the Run.ppt
 
Selje_Fox on the Run.pdf
Selje_Fox on the Run.pdfSelje_Fox on the Run.pdf
Selje_Fox on the Run.pdf
 
Selje_Extending Web Apps.ppt
Selje_Extending Web Apps.pptSelje_Extending Web Apps.ppt
Selje_Extending Web Apps.ppt
 
Selje_Amazing VFP2C32 Library.pdf
Selje_Amazing VFP2C32 Library.pdfSelje_Amazing VFP2C32 Library.pdf
Selje_Amazing VFP2C32 Library.pdf
 
Don't Be a Target!
Don't Be a Target! Don't Be a Target!
Don't Be a Target!
 
Energy audit tablet screenshots
Energy audit tablet screenshotsEnergy audit tablet screenshots
Energy audit tablet screenshots
 

Kürzlich hochgeladen

Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...apidays
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusZilliz
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 

Kürzlich hochgeladen (20)

Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 

SELJE - Look at X Sharp.pptx

Hinweis der Redaktion

  1. Kind of looks like I’m cursing up there
  2. 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.
  3. Give you a better understanding of where X# comes from and why it’s different than Visual FoxPro
  4. 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.
  5. 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
  6. Fox Software FoxBase for Windows, DOS, and UNIX FoxPro Sold to Microsoft Visual FoxPro Last version, 9 (2007)
  7. Also Arago, which became dBase V for Windows
  8. Nantucket Software DOS only Compiled, not interpreted Sold to Computer Associates Renamed CA-Clipper Last Version: 5.3b (1997)
  9. Still ongoing. Just released a new version.
  10. 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.
  11. 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.
  12. As mentioneded in the first slide Creates EXEs and DLLs that use .NET Framework Use other .NET Components
  13. 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.
  14. Edit w/ whatever your favorite editor is VI, EMACS, Copy Con… Rick Strahl used Code
  15. Derivative of Vulcan.NET IDE Written and compiled in X# itself Projects => Applications => Code No “Command Window”
  16. 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
  17. 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
  18. Demo in XSI
  19. Demo in XSI FoxTypes
  20. Demo in XSI FoxTypes
  21. Demo in XSI FoxTypes
  22. Demo in XSI FoxTypes
  23. Demo in XSI Arrays are enumerable, so you can use iterators over them almost like a datatable or list
  24. 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}
  25. C:\Users\Public\Documents\XSharp\Examples\LINQ Intellisense
  26. C:\dev\xide\prgs\TestAnonymous.prg
  27. What else?
  28. 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.
  29. 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).
  30. 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#
  31. You will have to decide where X# fits into your development toolbox. DBF access from .NET is compelling Integration w/ other .NET assemblies