Lisbon rust lang meetup#1
-
Upload
joao-oliveira -
Category
Technology
-
view
481 -
download
2
description
Transcript of Lisbon rust lang meetup#1
Lisbon Rust-lang MeetupLisbon Rust-lang Meetup#1#1
Rust Introduction and current statusRust Introduction and current status2 July 2014
Slides by / João Oliveira @jxs01
WhatWhatRust is a that combines
strong compile-time correctness guarantees with fastperformance.
It improves upon the ideas of other systems languages likeC++ by providing guaranteed memory safety (no crashes, no
data races) and over the lifecycle ofmemory.
systems programming language
complete control
WhenWhenStarted as a Graydon Hoare's part-time side project in2006 and remained so for over 3 years.
Mozilla got involved in 2009 once the language wasmature enough to run some basic tests and demonstratethe idea
Though it is sponsored by Mozilla, Today, Rust isdeveloped by a diverse community of enthusiasts.
WhyWhyNeed for memory management model, andsimpler concurrent programming constructs toprototype and experiment new browser stacks.Specifically,
Lots of good ideas known and loved from otherlanguages which had not yet made into widely usedsystems languages
safer
Servo
FeaturesFeaturesOwnership. model to deal with memory management
Expressive. type inference, higher order functions,pattern matching and algebraic data types
Safe task-based concurrency. Rust's lightweighttasks do not share memory, instead communicatingthrough messages.
Polymorphism. Rust has type-parametric functionsand types, type classes and OO-style interfaces.
Features (cont)Features (cont)Multiplatform. Runs on Linux, OS X, ,
Self hosting. The Rust compiler and libraries areentirely written in Rust
Embeddable. Rust code is , beingable to be embedded by other
Open source.
Android iOS
C-ABI compatiblelanguages
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 edition Rust edition across Rust evolution across Rust evolutionAngolmoisAngolmois diffdiff
0.6 to 0.7 took of diff. (Angolmois is about6,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 openDevelopmentDevelopment
Communication. #Rust on and mailing list
Issues. Issue tracker hosted on github used not only bydevelopers reporting issues but by the core team itself
Meetings The Rust team has weekly meetings, whereminutes are recorded on Etherpad and then archived ona
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/challengesLearning Rust while trying to help the languagedevelopment, and discuss systems programmingchallenges
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 links30 minute IntroductionRefence ManualOnline code evaluator
irc.mozilla.org
ThanksThanks