SlideShare ist ein Scribd-Unternehmen logo
1 von 59
Downloaden Sie, um offline zu lesen
THE ADVENTUROUS
DEVELOPERS GUIDE
TO JVM LANGUAGES
SIMON MAPLE
@SJMAPLE
Monday, 30 September 13
Monday, 30 September 13
YOUR SPEAKER
SIMON MAPLE
@SJMAPLE
Monday, 30 September 13
MY AUDIENCE
0
25
50
75
100
Heard of the Language Used the language
Java Scala Groovy Clojure Ceylon Kotlin Xtend
Monday, 30 September 13
JAVA
“Most people talk about Java the language, and this may
sound odd coming from me, but I could hardly care less.
At the core of the Java ecosystem is the JVM.”
James Gosling,
creator of the Java programming language (2011, TheServerSide)
Monday, 30 September 13
JAVA THE JVM
“Most people talk about Java the language, and this may
sound odd coming from me, but I could hardly care less.
At the core of the Java ecosystem is the JVM.”
James Gosling,
creator of the Java programming language (2011, TheServerSide)
Monday, 30 September 13
LANGUAGES BUILT FOR THE JVM
Monday, 30 September 13
LANGUAGES PORTED TO THE JVM
Monday, 30 September 13
R.I.P ?
Monday, 30 September 13
Monday, 30 September 13
Monday, 30 September 13
JAVA 8
1. DON’T BREAK BINARY COMPATIBILITY
2.AVOID INTRODUCING SOURCE INCOMPATIBILITIES
3. MANAGE BEHAVIORAL COMPATIBILITY CHANGES
Monday, 30 September 13
LET’S EXPERIMENT
Monday, 30 September 13
Monday, 30 September 13
COMPANION CLASS
THERE IS NO STATIC
import HttpServer._
// import statics from companion object
Monday, 30 September 13
VARIABLES
THERE IS NO FINAL
val name: Type = initializer // immutable value
var name: Type = initializer // mutable variable
Monday, 30 September 13
CASE CLASS
case class Status(code: Int, text: String)
	 case method @ ("GET" | "HEAD") =>
	 ...
	 case method =>
	 respondWithHtml(
	 Status(501,
	 "Not Implemented"),
	 title = "501 Not Implemented",
	 ) body = <H2>501 Not Implemented: { method } method</H2>
	 ...
Monday, 30 September 13
STRINGS
val header = s"""
	 	 	 	 |HTTP/1.1 ${status.code} ${status.text}
	 	 	 	 |Server: Scala HTTP Server 1.0
	 	 	 	 |Date: ${new Date()}
	 	 	 	 |Content-type: ${contentType}
	 	 	 	 |Content-length: ${content.length}
	 	 	 	 """.trim.stripMargin + LineSep + LineSep
Monday, 30 September 13
NULL
def toFile(file: File, isRetry: Boolean = false): Option[File] =
if (file.isDirectory && !isRetry)
	 toFile(new File(file, DefaultFile), true)
	 else if (file.isFile)
Some(file)
	 else
	 	 None
Monday, 30 September 13
COMPLEXITY
Monday, 30 September 13
Monday, 30 September 13
Monday, 30 September 13
Monday, 30 September 13
Monday, 30 September 13
JAVA SUPERCHARGED!
Monday, 30 September 13
NULL
def streetName = user?.address?.street
Monday, 30 September 13
ELVIS LIVES
def displayName = user.name ?: "Anonymous"
Monday, 30 September 13
CLOSURES
square = { it * it }
[ 1, 2, 3, 4 ].collect(square) // [1, 4, 9, 16]
Monday, 30 September 13
COLLECTIONS
	 	 def names = ["Ted", "Fred", "Jed", "Ned"]
	 	 	 	
5p[5 println names //[Ted, Fred, Jed, Ned]
	 	 	 	 def shortNames = names.findAll { it.size() <= 3 }
	 	 	 	 shortNames.each { println it } // Ted
	 	 	 	 // Jed
	 	 	 	 // Ned
Monday, 30 September 13
GROOVY 2.0 - DYNATIC
void someMethod() {}
void test() {
sommeeMethod()
}
Monday, 30 September 13
GROOVY 2.0 - DYNATIC
void someMethod() {}
void test() {
sommeeMethod()
}
import groovy.transform.TypeChecked
@TypeChecked
Monday, 30 September 13
GROOVY 2.0 - DYNATIC
void someMethod() {}
void test() {
sommeeMethod()
}
	 	 // compilation error:
	 	 // cannot find matching method sommeeMethod()
import groovy.transform.TypeChecked
@TypeChecked
Monday, 30 September 13
Monday, 30 September 13
Founder/CEO Jevgeni “Hosselhuff” Kabanov gets ready to save
more Java developers from redeploy madness with JRebel
YEH, WE SAVE LIVES
Monday, 30 September 13
Monday, 30 September 13
REPL
<Python user> Can you believe these JVM geeks think this is impressive?
<Perl user> Tell me about it! Welcome to the 90s
<Python user> Yeh, “Hey the 20th century called to say they wanted their code back”!
<Groovy user> Hey, we do this too!
Monday, 30 September 13
FUNCTIONAL PRINCIPLES
1. LITTLE OR NO SIDE EFFECTS
2. FUNCTIONS SHOULD ALWAYS RETURN THE SAME
RESULT IF CALLED WITH THE SAME PARAMETERS
3. NO GLOBALVARIABLES
4. FUNCTIONS AS FIRST ORDER CITIZENS
5. LAZY EVALUATION OF EXPRESSIONS
Monday, 30 September 13
WHOA!
(defn send-html-response
	 	 	 	 "Html response"
	 	 	 	 [client-socket status title body]
	 	 	 	 (let [html (str "<HTML><HEAD><TITLE>"
	 	 	 	 title "</TITLE></HEAD><BODY>" body "</BODY></HTML>")]
	 	 	 	 send-http-response client-socket status "text/html"
	 	 	 	 (.getBytes html "UTF-8"))
	 	 	 	 ))
Monday, 30 September 13
LET’S GET FUNCTIONAL
	 	 (defn process-request
	 	 	 	 "Parse the HTTP request and decide what to do"
	 	 	 	 [client-socket]
	 	 	 	 (let [reader (get-reader client-socket) first-line
	 	 	 	 (.readLine reader) tokens (clojure.string/split first-line #"s+")]
	 	 	 	 (let [http-method (clojure.string/upper-case
	 	 	 	 (get tokens 0 "unknown"))]
	 	 	 	 (if (or (= http-method "GET") (= http-method "HEAD"))
	 	 	 	 (let [file-requested-name (get tokens 1 "not-existing")
	 	 	 	 [...]
Monday, 30 September 13
INTEROP
	 	 (ns clojure-http-server.core
	 	 	 (:require [clojure.string])
	 	 	 (:import (java.net ServerSocket SocketException) (java.util Date)
	 	 	 (java.io PrintWriter BufferedReader InputStreamReader BufferedOutputStream)))
Monday, 30 September 13
Monday, 30 September 13
LET’S EXPERIMENT
Monday, 30 September 13
Monday, 30 September 13
LET’S EXPERIMENT
Monday, 30 September 13
Monday, 30 September 13
LET’S EXPERIMENT
Monday, 30 September 13
SUMMARY
FUNCTIONS ARE
FIRST CLASS CITIZENS
AND SHOULD BE TREATED AS SUCH!
Monday, 30 September 13
SUMMARY
STATICALLY TYPED LANGUAGES ROCK
Monday, 30 September 13
SUMMARY
EVERYONE’S SYNTAX SUCKS...
Monday, 30 September 13
SUMMARY
EVERYONE’S SYNTAX SUCKS...
TO SOMEONE ELSE.
Monday, 30 September 13
SUMMARY
THE JVM IS AWESOME
Monday, 30 September 13
BE ADVENTUROUS!
Monday, 30 September 13
YOU, ONE HOUR LATER
0
25
50
75
100
Heard of the Lang
Java Scala Groovy Clojure Ceylon Kotlin Xtend
Monday, 30 September 13
REBEL LABS == AWESOME
99.9% NON-PRODUCT RELATED
TECH REPORTS WRITTEN BY
OUR DEVELOPERS
Monday, 30 September 13
REBEL LABS == AWESOME
JAVA 8,
CONTINUOUS DELIVERY,
APP SERVER DEBATE,
JVM WEB FRAMEWORKS,
PRODUCTIVITY REPORTS...
Monday, 30 September 13
REBEL LABS == AWESOME
AND...
THE ADVENTUROUS DEVELOPERS
GUIDE TO JVM LANGUAGES
Monday, 30 September 13
RESOURCES
HTTPSERVER EXAMPLES OF EACH LANGUAGE ON GITHUB
https://github.com/zeroturnaround/jvm-languages-report
THE ADVENTUROUS DEVELOPERS GUIDE TO JVM LANGUAGES
http://zeroturnaround.com/rebellabs/devs/the-
adventurous-developers-guide-to-jvm-languages/
Monday, 30 September 13
RESOURCES
SIMON MAPLE
@SJMAPLE
Monday, 30 September 13
Monday, 30 September 13

Weitere ähnliche Inhalte

Andere mochten auch

Do Languages Matter?
Do Languages Matter?Do Languages Matter?
Do Languages Matter?Bruce Eckel
 
Kotlin advanced - language reference for android developers
Kotlin advanced - language reference for android developersKotlin advanced - language reference for android developers
Kotlin advanced - language reference for android developersBartosz Kosarzycki
 
Kotlin в production. Как и зачем?
Kotlin в production. Как и зачем?Kotlin в production. Как и зачем?
Kotlin в production. Как и зачем?DotNetConf
 
Programming in scala - 1
Programming in scala - 1Programming in scala - 1
Programming in scala - 1Mukesh Kumar
 
JavaOne 2016 - Kotlin: The Language of The Future For JVM?
JavaOne 2016 - Kotlin: The Language of The Future For JVM?JavaOne 2016 - Kotlin: The Language of The Future For JVM?
JavaOne 2016 - Kotlin: The Language of The Future For JVM?Leonardo Zanivan
 
Kotlin: Why Do You Care?
Kotlin: Why Do You Care?Kotlin: Why Do You Care?
Kotlin: Why Do You Care?intelliyole
 
TMPA-2015: Kotlin: From Null Dereference to Smart Casts
TMPA-2015: Kotlin: From Null Dereference to Smart CastsTMPA-2015: Kotlin: From Null Dereference to Smart Casts
TMPA-2015: Kotlin: From Null Dereference to Smart CastsIosif Itkin
 
Scala in practice
Scala in practiceScala in practice
Scala in practiceTomer Gabel
 
[Expert Fridays] Java MeetUp - Борис Ташкулов (Teamlead Enterprise): "Почему ...
[Expert Fridays] Java MeetUp - Борис Ташкулов (Teamlead Enterprise): "Почему ...[Expert Fridays] Java MeetUp - Борис Ташкулов (Teamlead Enterprise): "Почему ...
[Expert Fridays] Java MeetUp - Борис Ташкулов (Teamlead Enterprise): "Почему ...Provectus
 
Who's More Functional: Kotlin, Groovy, Scala, or Java?
Who's More Functional: Kotlin, Groovy, Scala, or Java?Who's More Functional: Kotlin, Groovy, Scala, or Java?
Who's More Functional: Kotlin, Groovy, Scala, or Java?Andrey Breslav
 
Functional Programming Patterns (BuildStuff '14)
Functional Programming Patterns (BuildStuff '14)Functional Programming Patterns (BuildStuff '14)
Functional Programming Patterns (BuildStuff '14)Scott Wlaschin
 

Andere mochten auch (11)

Do Languages Matter?
Do Languages Matter?Do Languages Matter?
Do Languages Matter?
 
Kotlin advanced - language reference for android developers
Kotlin advanced - language reference for android developersKotlin advanced - language reference for android developers
Kotlin advanced - language reference for android developers
 
Kotlin в production. Как и зачем?
Kotlin в production. Как и зачем?Kotlin в production. Как и зачем?
Kotlin в production. Как и зачем?
 
Programming in scala - 1
Programming in scala - 1Programming in scala - 1
Programming in scala - 1
 
JavaOne 2016 - Kotlin: The Language of The Future For JVM?
JavaOne 2016 - Kotlin: The Language of The Future For JVM?JavaOne 2016 - Kotlin: The Language of The Future For JVM?
JavaOne 2016 - Kotlin: The Language of The Future For JVM?
 
Kotlin: Why Do You Care?
Kotlin: Why Do You Care?Kotlin: Why Do You Care?
Kotlin: Why Do You Care?
 
TMPA-2015: Kotlin: From Null Dereference to Smart Casts
TMPA-2015: Kotlin: From Null Dereference to Smart CastsTMPA-2015: Kotlin: From Null Dereference to Smart Casts
TMPA-2015: Kotlin: From Null Dereference to Smart Casts
 
Scala in practice
Scala in practiceScala in practice
Scala in practice
 
[Expert Fridays] Java MeetUp - Борис Ташкулов (Teamlead Enterprise): "Почему ...
[Expert Fridays] Java MeetUp - Борис Ташкулов (Teamlead Enterprise): "Почему ...[Expert Fridays] Java MeetUp - Борис Ташкулов (Teamlead Enterprise): "Почему ...
[Expert Fridays] Java MeetUp - Борис Ташкулов (Teamlead Enterprise): "Почему ...
 
Who's More Functional: Kotlin, Groovy, Scala, or Java?
Who's More Functional: Kotlin, Groovy, Scala, or Java?Who's More Functional: Kotlin, Groovy, Scala, or Java?
Who's More Functional: Kotlin, Groovy, Scala, or Java?
 
Functional Programming Patterns (BuildStuff '14)
Functional Programming Patterns (BuildStuff '14)Functional Programming Patterns (BuildStuff '14)
Functional Programming Patterns (BuildStuff '14)
 

Mehr von Simon Maple

Productivity Tips for Java EE and Spring Developers
 Productivity Tips for Java EE and Spring Developers Productivity Tips for Java EE and Spring Developers
Productivity Tips for Java EE and Spring DevelopersSimon Maple
 
Is Your Profiler Speaking The Same Language as You?
Is Your Profiler Speaking The Same Language as You?Is Your Profiler Speaking The Same Language as You?
Is Your Profiler Speaking The Same Language as You?Simon Maple
 
Do you really get Classloaders?
Do you really get Classloaders?Do you really get Classloaders?
Do you really get Classloaders?Simon Maple
 
10 productivity tips and tricks for developers
10 productivity tips and tricks for developers10 productivity tips and tricks for developers
10 productivity tips and tricks for developersSimon Maple
 
Is your profiler speaking the same language as you? -- Docklands JUG
Is your profiler speaking the same language as you? -- Docklands JUGIs your profiler speaking the same language as you? -- Docklands JUG
Is your profiler speaking the same language as you? -- Docklands JUGSimon Maple
 
DevoxxPL: JRebel Under The Covers
DevoxxPL: JRebel Under The CoversDevoxxPL: JRebel Under The Covers
DevoxxPL: JRebel Under The CoversSimon Maple
 
Devoxx PL: Is your profiler speaking the same language as you?
Devoxx PL: Is your profiler speaking the same language as you?Devoxx PL: Is your profiler speaking the same language as you?
Devoxx PL: Is your profiler speaking the same language as you?Simon Maple
 
Devoxx PL: Is your profiler speaking the same language as you?
Devoxx PL: Is your profiler speaking the same language as you?Devoxx PL: Is your profiler speaking the same language as you?
Devoxx PL: Is your profiler speaking the same language as you?Simon Maple
 
DevoxxUK: Is your profiler speaking the same language as you?
DevoxxUK: Is your profiler speaking the same language as you?DevoxxUK: Is your profiler speaking the same language as you?
DevoxxUK: Is your profiler speaking the same language as you?Simon Maple
 

Mehr von Simon Maple (9)

Productivity Tips for Java EE and Spring Developers
 Productivity Tips for Java EE and Spring Developers Productivity Tips for Java EE and Spring Developers
Productivity Tips for Java EE and Spring Developers
 
Is Your Profiler Speaking The Same Language as You?
Is Your Profiler Speaking The Same Language as You?Is Your Profiler Speaking The Same Language as You?
Is Your Profiler Speaking The Same Language as You?
 
Do you really get Classloaders?
Do you really get Classloaders?Do you really get Classloaders?
Do you really get Classloaders?
 
10 productivity tips and tricks for developers
10 productivity tips and tricks for developers10 productivity tips and tricks for developers
10 productivity tips and tricks for developers
 
Is your profiler speaking the same language as you? -- Docklands JUG
Is your profiler speaking the same language as you? -- Docklands JUGIs your profiler speaking the same language as you? -- Docklands JUG
Is your profiler speaking the same language as you? -- Docklands JUG
 
DevoxxPL: JRebel Under The Covers
DevoxxPL: JRebel Under The CoversDevoxxPL: JRebel Under The Covers
DevoxxPL: JRebel Under The Covers
 
Devoxx PL: Is your profiler speaking the same language as you?
Devoxx PL: Is your profiler speaking the same language as you?Devoxx PL: Is your profiler speaking the same language as you?
Devoxx PL: Is your profiler speaking the same language as you?
 
Devoxx PL: Is your profiler speaking the same language as you?
Devoxx PL: Is your profiler speaking the same language as you?Devoxx PL: Is your profiler speaking the same language as you?
Devoxx PL: Is your profiler speaking the same language as you?
 
DevoxxUK: Is your profiler speaking the same language as you?
DevoxxUK: Is your profiler speaking the same language as you?DevoxxUK: Is your profiler speaking the same language as you?
DevoxxUK: Is your profiler speaking the same language as you?
 

Kürzlich hochgeladen

Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 

Kürzlich hochgeladen (20)

Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 

The Adventurous Developers Guide to JVM Languages