Lisbon rust lang meetup#1

14
Lisbon Rust-lang Meetup Lisbon Rust-lang Meetup #1 #1 Rust Introduction and current status Rust Introduction and current status 2 July 2014 Slides by / João Oliveira @jxs01

description

Slides for the first Lisbon Rust lang meet up

Transcript of Lisbon rust lang meetup#1

Page 1: 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

Page 2: Lisbon rust lang meetup#1

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

Page 3: Lisbon rust lang meetup#1

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.

Page 4: Lisbon rust lang meetup#1

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

Page 5: Lisbon rust lang meetup#1

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.

Page 6: Lisbon rust lang meetup#1

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

Page 7: Lisbon rust lang meetup#1

StatusStatus

1.0 expected when all the P-backcompat-lang issues are solved

Page 8: Lisbon rust lang meetup#1

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

Page 9: Lisbon rust lang meetup#1

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

Page 10: Lisbon rust lang meetup#1

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

Page 11: Lisbon rust lang meetup#1

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.

Page 12: Lisbon rust lang meetup#1

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 :) ?

Page 13: Lisbon rust lang meetup#1

Let's get started?Let's get started?

#rust-pt on

Install links30 minute IntroductionRefence ManualOnline code evaluator

irc.mozilla.org

Page 14: Lisbon rust lang meetup#1

ThanksThanks