SlideShare a Scribd company logo
1 of 14
Download to read offline
Lisbon Rust-lang MeetupLisbon Rust-lang Meetup
#1#1
Rust Introduction and current statusRust Introduction and current status
2 July 2014
Slides by /João Oliveira @jxs01
WhatWhat
Rust is a that combines
strong compile-time correctness guarantees with fast
performance.
It improves upon the ideas of other systems languages like
C++ by providing guaranteed memory safety (no crashes, no
data races) and over the lifecycle of
memory.
systems programming language
complete control
WhenWhen
Started as a Graydon Hoare's part-time side project in
2006 and remained so for over 3 years.
Mozilla got involved in 2009 once the language was
mature enough to run some basic tests and demonstrate
the idea
Though it is sponsored by Mozilla, Today, Rust is
developed by a diverse community of enthusiasts.
WhyWhy
Need for memory management model, and
simpler concurrent programming constructs to
prototype and experiment new browser stacks.
Specifically,
Lots of good ideas known and loved from other
languages which had not yet made into widely used
systems languages
safer
Servo
FeaturesFeatures
Ownership. model to deal with memory management
Expressive. type inference, higher order functions,
pattern matching and algebraic data types
Safe task-based concurrency. Rust's lightweight
tasks do not share memory, instead communicating
through messages.
Polymorphism. Rust has type-parametric functions
and types, type classes and OO-style interfaces.
Features (cont)Features (cont)
Multiplatform. Runs on Linux, OS X, ,
Self hosting. The Rust compiler and libraries are
entirely written in Rust
Embeddable. Rust code is , being
able to be embedded by other
Open source.
Android iOS
C-ABI compatible
languages
MIT/Apache 2.0 License
StatusStatus
1.0 expected when all the P-backcompat-lang issues are solved
Status (cont)Status (cont)
Production ready?Production ready?
Rust editionRust edition across Rust evolutionacross Rust evolutionAngolmoisAngolmois diffdiff
0.6 to 0.7 took of diff. (Angolmois is about
6,000 lines long.)
0.7 to 0.8 took of diff.
0.8 to 0.9 took of diff.
0.9 to 0.10 took of diff.
0.10 to 0.11-pre (master) took of diff so far.
1,179 lines
1,622 lines
1,119 lines
2,248 lines
1,128 lines
Status (cont II)Status (cont II)
Production ready?Production ready?
Skylight.
OpenDNS. for for real-time data processing.
Tilde uses Rust on Skylight.io
Uses Rust
Rust development is trully open
DevelopmentDevelopment
Communication. #Rust on and
mailing list
Issues. Issue tracker hosted on github used not only by
developers reporting issues but by the core team itself
Meetings The Rust team has weekly meetings, where
minutes are recorded on Etherpad and then archived on
a
RFC's. RFC's to discuss major features/changes
irc.mozilla.org rust-
dev
repo
Public
Popular projectsPopular projects
. A NES emulator with no GC, using modern
Rust conventions
GNU coreutils re-written in Rust
A Game engine written in Rust
A web framework inspired by express.js
sprocketnes
Coreutils.
Piston,
Floor.
Meetup Goals/challengesMeetup Goals/challenges
Learning Rust while trying to help the language
development, and discuss systems programming
challenges
Finding where Rust shines and where it falls short
Learning about Servo and discuss browser architectures
Sugestions :) ?
Let's get started?Let's get started?
#rust-pt on
Install links
30 minute Introduction
Refence Manual
Online code evaluator
irc.mozilla.org
ThanksThanks

More Related Content

What's hot

Successful use of Functional-Reactive Paradigm for building Juno iOS apps in ...
Successful use of Functional-Reactive Paradigm for building Juno iOS apps in ...Successful use of Functional-Reactive Paradigm for building Juno iOS apps in ...
Successful use of Functional-Reactive Paradigm for building Juno iOS apps in ...
Denis Fileev
 
Mozammel Haque: Git -- Stupid, Fast, distributed content tracker
Mozammel Haque: Git -- Stupid, Fast, distributed content trackerMozammel Haque: Git -- Stupid, Fast, distributed content tracker
Mozammel Haque: Git -- Stupid, Fast, distributed content tracker
SQABD
 
Binary art - funky PoCs & visual docs
Binary art - funky PoCs & visual docsBinary art - funky PoCs & visual docs
Binary art - funky PoCs & visual docs
Ange Albertini
 

What's hot (20)

Python programming
Python programmingPython programming
Python programming
 
Python Usefulness
Python UsefulnessPython Usefulness
Python Usefulness
 
Successful use of Functional-Reactive Paradigm for building Juno iOS apps in ...
Successful use of Functional-Reactive Paradigm for building Juno iOS apps in ...Successful use of Functional-Reactive Paradigm for building Juno iOS apps in ...
Successful use of Functional-Reactive Paradigm for building Juno iOS apps in ...
 
Introduction to python
Introduction to pythonIntroduction to python
Introduction to python
 
Introduction of python programming
Introduction of python programmingIntroduction of python programming
Introduction of python programming
 
How to debug machine learning call stacks
How to debug machine learning call stacksHow to debug machine learning call stacks
How to debug machine learning call stacks
 
Introduction to python
Introduction to pythonIntroduction to python
Introduction to python
 
Mozammel Haque: Git -- Stupid, Fast, distributed content tracker
Mozammel Haque: Git -- Stupid, Fast, distributed content trackerMozammel Haque: Git -- Stupid, Fast, distributed content tracker
Mozammel Haque: Git -- Stupid, Fast, distributed content tracker
 
Introduction to python
 Introduction to python Introduction to python
Introduction to python
 
Introduction to c
Introduction to cIntroduction to c
Introduction to c
 
Introduction to python for Beginners
Introduction to python for Beginners Introduction to python for Beginners
Introduction to python for Beginners
 
Rclex: A Library for Robotics meet Elixir
Rclex: A Library for Robotics meet ElixirRclex: A Library for Robotics meet Elixir
Rclex: A Library for Robotics meet Elixir
 
Binary art - funky PoCs & visual docs
Binary art - funky PoCs & visual docsBinary art - funky PoCs & visual docs
Binary art - funky PoCs & visual docs
 
Python course syllabus
Python course syllabusPython course syllabus
Python course syllabus
 
Why Python?
Why Python?Why Python?
Why Python?
 
Python Online From EasyLearning Guru
Python Online From EasyLearning GuruPython Online From EasyLearning Guru
Python Online From EasyLearning Guru
 
Autoware vs. Computer Performance @ ROS Japan UG #43 組み込み勉強会
Autoware vs. Computer Performance @ ROS Japan UG #43 組み込み勉強会Autoware vs. Computer Performance @ ROS Japan UG #43 組み込み勉強会
Autoware vs. Computer Performance @ ROS Japan UG #43 組み込み勉強会
 
Python, the Language of Science and Engineering for Engineers
Python, the Language of Science and Engineering for EngineersPython, the Language of Science and Engineering for Engineers
Python, the Language of Science and Engineering for Engineers
 
Python part1
Python part1Python part1
Python part1
 
Introduction To Python
Introduction To PythonIntroduction To Python
Introduction To Python
 

Similar to Lisbon rust lang meetup#1

Similar to Lisbon rust lang meetup#1 (20)

BUD17-104: Scripting Languages in IoT: Challenges and Approaches
BUD17-104: Scripting Languages in IoT: Challenges and ApproachesBUD17-104: Scripting Languages in IoT: Challenges and Approaches
BUD17-104: Scripting Languages in IoT: Challenges and Approaches
 
Rust programming-language
Rust programming-languageRust programming-language
Rust programming-language
 
Why Is Rust Gaining Traction In Recent Years?
Why Is Rust Gaining Traction In Recent Years?Why Is Rust Gaining Traction In Recent Years?
Why Is Rust Gaining Traction In Recent Years?
 
Python vs Rust_ Which is Programming Language Need to Choose for Your Project...
Python vs Rust_ Which is Programming Language Need to Choose for Your Project...Python vs Rust_ Which is Programming Language Need to Choose for Your Project...
Python vs Rust_ Which is Programming Language Need to Choose for Your Project...
 
MozillaPH Rust Hack & Learn Session 1
MozillaPH Rust Hack & Learn Session 1MozillaPH Rust Hack & Learn Session 1
MozillaPH Rust Hack & Learn Session 1
 
Rust
RustRust
Rust
 
Programming languages
Programming languagesProgramming languages
Programming languages
 
Python | What is Python | History of Python | Python Tutorial
Python | What is Python | History of Python | Python TutorialPython | What is Python | History of Python | Python Tutorial
Python | What is Python | History of Python | Python Tutorial
 
Computer languages
Computer languagesComputer languages
Computer languages
 
What makes Flutter the best cross platform sdk
What makes Flutter the best cross platform sdkWhat makes Flutter the best cross platform sdk
What makes Flutter the best cross platform sdk
 
The Ring programming language version 1.3 book - Part 4 of 88
The Ring programming language version 1.3 book - Part 4 of 88The Ring programming language version 1.3 book - Part 4 of 88
The Ring programming language version 1.3 book - Part 4 of 88
 
Copmuter Languages
Copmuter LanguagesCopmuter Languages
Copmuter Languages
 
Top Programming Language of 2018
Top Programming Language of 2018Top Programming Language of 2018
Top Programming Language of 2018
 
Intro to Perfect - LA presentation
Intro to Perfect - LA presentationIntro to Perfect - LA presentation
Intro to Perfect - LA presentation
 
Mozilla + Rust at PCU Manila 02 DEC 2016
Mozilla + Rust at PCU Manila 02 DEC 2016Mozilla + Rust at PCU Manila 02 DEC 2016
Mozilla + Rust at PCU Manila 02 DEC 2016
 
The Ring programming language version 1.4 book - Part 2 of 30
The Ring programming language version 1.4 book - Part 2 of 30The Ring programming language version 1.4 book - Part 2 of 30
The Ring programming language version 1.4 book - Part 2 of 30
 
The Ring programming language version 1.4.1 book - Part 2 of 31
The Ring programming language version 1.4.1 book - Part 2 of 31The Ring programming language version 1.4.1 book - Part 2 of 31
The Ring programming language version 1.4.1 book - Part 2 of 31
 
2018 20 best id es for python programming
2018 20 best id es for python programming2018 20 best id es for python programming
2018 20 best id es for python programming
 
20 best ide's for python programming in 2018
 20 best ide's for python programming in 2018 20 best ide's for python programming in 2018
20 best ide's for python programming in 2018
 
all languages in computer programming
all languages in computer programmingall languages in computer programming
all languages in computer programming
 

Recently uploaded

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
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
panagenda
 

Recently uploaded (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
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
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
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
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
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
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
 
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, ...
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
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
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 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...
 
"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 ...
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 

Lisbon rust lang meetup#1

  • 1. Lisbon Rust-lang MeetupLisbon Rust-lang Meetup #1#1 Rust Introduction and current statusRust Introduction and current status 2 July 2014 Slides by /João Oliveira @jxs01
  • 2. WhatWhat Rust is a that combines strong compile-time correctness guarantees with fast performance. It improves upon the ideas of other systems languages like C++ by providing guaranteed memory safety (no crashes, no data races) and over the lifecycle of memory. systems programming language complete control
  • 3. WhenWhen Started as a Graydon Hoare's part-time side project in 2006 and remained so for over 3 years. Mozilla got involved in 2009 once the language was mature enough to run some basic tests and demonstrate the idea Though it is sponsored by Mozilla, Today, Rust is developed by a diverse community of enthusiasts.
  • 4. WhyWhy Need for memory management model, and simpler concurrent programming constructs to prototype and experiment new browser stacks. Specifically, Lots of good ideas known and loved from other languages which had not yet made into widely used systems languages safer Servo
  • 5. FeaturesFeatures Ownership. model to deal with memory management Expressive. type inference, higher order functions, pattern matching and algebraic data types Safe task-based concurrency. Rust's lightweight tasks do not share memory, instead communicating through messages. Polymorphism. Rust has type-parametric functions and types, type classes and OO-style interfaces.
  • 6. Features (cont)Features (cont) Multiplatform. Runs on Linux, OS X, , Self hosting. The Rust compiler and libraries are entirely written in Rust Embeddable. Rust code is , being able to be embedded by other Open source. Android iOS C-ABI compatible languages MIT/Apache 2.0 License
  • 7. StatusStatus 1.0 expected when all the P-backcompat-lang issues are solved
  • 8. Status (cont)Status (cont) Production ready?Production ready? Rust editionRust edition across Rust evolutionacross Rust evolutionAngolmoisAngolmois diffdiff 0.6 to 0.7 took of diff. (Angolmois is about 6,000 lines long.) 0.7 to 0.8 took of diff. 0.8 to 0.9 took of diff. 0.9 to 0.10 took of diff. 0.10 to 0.11-pre (master) took of diff so far. 1,179 lines 1,622 lines 1,119 lines 2,248 lines 1,128 lines
  • 9. Status (cont II)Status (cont II) Production ready?Production ready? Skylight. OpenDNS. for for real-time data processing. Tilde uses Rust on Skylight.io Uses Rust
  • 10. Rust development is trully open DevelopmentDevelopment Communication. #Rust on and mailing list Issues. Issue tracker hosted on github used not only by developers reporting issues but by the core team itself Meetings The Rust team has weekly meetings, where minutes are recorded on Etherpad and then archived on a RFC's. RFC's to discuss major features/changes irc.mozilla.org rust- dev repo Public
  • 11. Popular projectsPopular projects . A NES emulator with no GC, using modern Rust conventions GNU coreutils re-written in Rust A Game engine written in Rust A web framework inspired by express.js sprocketnes Coreutils. Piston, Floor.
  • 12. Meetup Goals/challengesMeetup Goals/challenges Learning Rust while trying to help the language development, and discuss systems programming challenges Finding where Rust shines and where it falls short Learning about Servo and discuss browser architectures Sugestions :) ?
  • 13. Let's get started?Let's get started? #rust-pt on Install links 30 minute Introduction Refence Manual Online code evaluator irc.mozilla.org