SlideShare una empresa de Scribd logo
1 de 15
Fantom is Fun
& Gets Stuff Done
SlimerDude
aka
Steve Eynon
JVM
CLR
Fantom
Runtime
Javascript
const class Dna {
const Str sequence
const Int age
….
}
Thread
(Actor)
@Serializable
class Dna {
Str sequence := "CAGAGTA..."
Int age := 42
Bool dinosaur := true
Void mutate() {
// ...
}
}
class Dna {
Str sequence = "CAGAGTA..."
Int age = 42
Bool dinosaur = true
}
Fantom Source Code Fantom Serialised
Desktop
Browser
Same gfx code runs on…
Fantom Source Code
--- ---
--- -- --- -- -- - -- -
--- -- -- - - -- ---- -- --
----- - -- - --- - --- -
-- ---- --
--- --- -- ---- - ----
----- --- -- --
--
--- - --
------ -- -- --- --- - - - ---
---
--- -- --
--- -- -- --
----- - ---
--- -- - -- -
--- - - -
- -
-- -- -- -
--- - - -
--- -- -
---
--- -- --
--- -- -- --
--- - - -
- -
--- -- -
Java Fantom
Tony Hoare
nullInventor of
Elvis
text := nullable ?: "null"
No!
Yes!
Games
Fantom is Fun
& Gets Stuff Done
SlimerDude
aka
Steve Eynon
Fantom is Fun
& Gets Stuff Done
SlimerDude
aka
Steve Eynon
Fantom is Fun
& Gets Stuff Done
SlimerDude
aka
Steve Eynon

Más contenido relacionado

Último

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
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
Safe Software
 
+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...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Último (20)

AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
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
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
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
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
"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 ...
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
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
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
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
 
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
 
+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...
 

Destacado

Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 

Destacado (20)

PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
 
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy Presentation
 

Fantom is Fun! - A 5 minute lightning talk

Notas del editor

  1. Hello, and welcome my lightning talk entitled: Fantom is Fun & Gets Stuff done! I *am* SlimerDude - also known as Steve Eynon. What is Fantom? Well, Fantom is an elegant Open Source programming language. Like most modern languages it's compiled. Before I say more, lets first look at Java...
  2. Java has .java files that get compiled into .class files, which get run on the JVM. And... .NET languages like C# have .cs files that get compiled into assemblies, which get run on the CLR. In a similar vein... Fantom has .fan files that get compiled into .fcode files that are used by the Fantom Runtime which in turn can run on... both the JVM AND the CLR! Awesome.
  3. But better than that, Fantom also compiles to javascript, which runs on... any browser. Awesome. But, is it a new and trendy dynamic language? No. Is it tedious exploration of cutting edge static type design? No. It IS a pragmatic and easy to read language, so much so, it's almost boring! The core language tackles all the hard stuff so you don’t have to, and it gets it right!
  4. It has immutable classes. These are classes defined with the 'const' keyword that mean it's constant - their values can not change, they are set in time, preserved for ever, like mosquitoes in amber! Which also means they're very lightweight and thread safe! Concurrency in Fantom uses the <Actor> paradigm, just like the Akka framework in java. Each thread runs inside it's own Actor and the only way to communicate with an Actor is to pass it messages. There is no mutable state, no volatile syncing and no borked double locking mechanisms, just message passing. In Fantom the only messages you can pass to an <Actor> are... immutable classes! Why? Because they're lightweight and thread safe! You can pass messages like strings!
  5. All Fantom objects can be serialised to a human readable string! And not some cryptic binary code. Anyone can write, edit, and read serialised fantom objects. And guess what a Fantom object looks like when it's serialised... Fantom source code! No more dodgy XML parsing for me! Awesome!
  6. Want to build a Desktop app in Java? You could use AWT - sucks! Java Swing - better, but still sucks. Or you could use eclipse's SWT! Nice! Fantom has it's own Windowing Toolkit, which wraps the eclipse SWT, which runs on any machine with Java installed. But the cool thing is, that the same windowing desktop code also runs on any browser... That’s awesome!
  7. Back to the source code... The Fantom language is statically typed, but has unique and lenient type inference which shrinks (equivalent) Java code like this … to Fantom code like this… And then it has a concise and functional API which shrinks the code this way too. Less code, less cognitive overhead… Awesome. Oh yes, the core API. It’s written from scratch, and it's fast. Very fast. Some even say -> faster than Java! As well as the big things, Fantom also pays attention to the small details that affect us programmers every day. - No primitive types, everything is an object. - Closures and functions are first class objects. - All fields accessors implicitly, or explicitly, have getters and setters.
  8. And then… it has Nullable types. Variables cannot be null unless you explicitly allow it. So Sir Charles Antony Richard Hoare, inventor of the billion dollar mistake, "In your face!"
  9. Fantom also has Elvis. Not this elvis, but this elvis. In all Fantom has been very well thought out. So, what can Fantom be used for? Well I personally have built:
  10. Desktop applications
  11. Games - most notably Gundam, a shoot'em'up that can also run in a browser. <click> And, given they are so prolific nowadays, a multitude of Web applications.
  12. And, as they are so prolific nowadays, a multitude of Web applications. And Why?
  13. Because Fantom IS fun and it gets stuff done. Want to know more about Fantom? Then visit fantomfactory.org. If that's too hard to remember then pick up a contact card (I got plenty!), or just come and chat with me after the talks. My name is Steve Eynon and this has been a 5 min lightning talk! Tank you!
  14. Because Fantom IS fun and it gets stuff done. Want to know more about Fantom? Then visit fantomfactory.org. If that's too hard to remember then pick up a contact card (I got plenty!), or just come and chat with me after the talks. My name is Steve Eynon and this has been a 5 min lightning talk! Tank you!
  15. Because Fantom IS fun and it gets stuff done. Want to know more about Fantom? Then visit fantomfactory.org. If that's too hard to remember then pick up a contact card (I got plenty!), or just come and chat with me after the talks. My name is Steve Eynon and this has been a 5 min lightning talk! Tank you!