SlideShare a Scribd company logo
A SAFE SYSTEM
PROGRAMMING LANGUAGE
AGENDA
 What is Rust ?
 History of Rust
 why would Mozilla sponsor rust
 Goals and features of the rust
 Rust package manager and commands
 Rust applications
 Example program for Rust
 advantages and disadvantages of the rust
WHAT IS RUST ?
 Rust is system programming language
sponsored by Mozilla Research. The design to
be a safe, concurrent, practical language.
Supporting Functional and imperative
procedural paradigms.
HISTORY OF RUST
 Started as a personal by graydon hoare from Mozilla some
time around 2008.
 Officially recognized as Mozilla sponsored project from 2009
and first announced in 2010.
 First pre-Alpha release in January 2012.
 Currently at 1.16 (stable).
 operating system support for Linux , windows , macOS ,
android , ios etc.
WHY WOULD MOZILLA SPONSOR RUST ?
 Want rust for next gen-infrastructure (service , iot).
 Servo is a next generation browser built in rust
GOALS OF RUST
Safety - statically typed with extensive compile time
validations.
The system in designed to be memory safe and it does
not permit null pointers , dangling pointer or data races in safe
code.
 SPEED: - Compiled , allows low level access similar to C/C++.
For main stream language , I know there different types of programs ,
architecture.
compilation:
Language is translated into MIR
and then compiled with LLVM
RUST MIR LLVM ASM
 CONCURRENT :-Built in support for threads , channels
There are two programing using Rust
1)Concurrent programming
2) Parallel programming
C/C++
Go
Java
Python
Haskell
RustControl
Safety
FEATURES OF RUST
 Zero – cost abstraction
 Algebraic data types (enum )
 Pattern matching
 Trait based generics
 Memory safety without garbage collection
Zero-cost abstractons (you pay only for what you use):-
A zero cost abstraction really means that abstraction
doesn’t impose a cost over the optimal implementation of
the task it is abstracting.
Algebric datatypes(enum):- enum means enumeration
data type consisting of a set of named values called
elements , member of the type.it does not use in c.
Pattern matching:-
patterns matching are quite common in
rust .
Ex:- let x=1;
match x {
1 => println! (“one”),
2 => println! (“two”),
3 => println! (“three”),
_ => println!(“anything”),
}
 Trait based generic :-
trait are like interfaces , combine traits for polymorphism
Rust package manager
 Cargo’s goal is to make modern application package management a core
value of the Rust programming language.
Some common cargo command are:
build compile the current project
doc build this project’s and its dependencies documentation
new create a new cargo project
run build and executes src/main.rs
test run the tests
bench run the benchmarks
update update dependencies listed in cargo . lock
search search registry for crates
publish package and upload this project to the registry
install install a rust binary
RUST APPLICATIONS
 Few applications written completely in rust:
 Servo
 Rocket
 Redox
 Habitat
WHAT TO DO WITH RUST
 System programming
 Web Browser (Mozilla Firefox)
 Distributed storage system (Dropbox)
 3d Games
 Operating system
 Device drive
 General tools
PROGRAM FOR RUST
#[deriving(show)]
enum Direction {
North,
East,
South,
West,
}
fn reverse(dir : Direction)->Direction {
match dir {
North => South,
East => West,
South => North,
West => East,
}
}
fn main() {
println!(“you should head: { }, reverse(North));
}
How to compile and run the RUST
program
Filename extensions:- .rs , .rlib
Compile program:-
C: user> rustc < filename >.rs
Run program:-
C: user> rust < filename >.rs
ADVANTAGES OF RUST
 Security is it’s biggest advantages
 Memory safety without garbage collection.
 High – performance.
 Provide awesome tools.
 Allow making mistakes.
DISADVANTAGES
 Large binary size
 Its almost impossible to run could be unsafe
 Consumes more memory
 Unlike many other languages, Rust doesn’t have
standard way of accessing database
CONCLUSION
 Rust is a promising System programming
language.
 Too young to use for fighting in the wild.
 Build enterprise class software with more
confident.
 Run at native speed (C/C+ comparable).
Rust

More Related Content

What's hot

The Rust Programming Language
The Rust Programming LanguageThe Rust Programming Language
The Rust Programming Language
Mario Alexandro Santini
 
Rust
RustRust
Cross platform app development with flutter
Cross platform app development with flutterCross platform app development with flutter
Cross platform app development with flutter
Hwan Jo
 
Golang - Overview of Go (golang) Language
Golang - Overview of Go (golang) LanguageGolang - Overview of Go (golang) Language
Golang - Overview of Go (golang) Language
Aniruddha Chakrabarti
 
Go. Why it goes
Go. Why it goesGo. Why it goes
Go. Why it goes
Sergey Pichkurov
 
Go Concurrency
Go ConcurrencyGo Concurrency
Go Concurrency
jgrahamc
 
Write microservice in golang
Write microservice in golangWrite microservice in golang
Write microservice in golang
Bo-Yi Wu
 
Golang
GolangGolang
Golang
Felipe Mamud
 
JavaScript: The Good Parts Or: How A C# Developer Learned To Stop Worrying An...
JavaScript: The Good Parts Or: How A C# Developer Learned To Stop Worrying An...JavaScript: The Good Parts Or: How A C# Developer Learned To Stop Worrying An...
JavaScript: The Good Parts Or: How A C# Developer Learned To Stop Worrying An...
Doug Jones
 
Rust Primer
Rust PrimerRust Primer
Rust Primer
Knoldus Inc.
 
Php
PhpPhp
Introduction to JavaScript
Introduction to JavaScriptIntroduction to JavaScript
Introduction to JavaScript
Bryan Basham
 
Writing and using Hamcrest Matchers
Writing and using Hamcrest MatchersWriting and using Hamcrest Matchers
Writing and using Hamcrest Matchers
Shai Yallin
 
Python network programming
Python   network programmingPython   network programming
Python network programming
Learnbay Datascience
 
Javascript
JavascriptJavascript
Javascript
Vibhor Grover
 
Overview of ZeroMQ
Overview of ZeroMQOverview of ZeroMQ
Overview of ZeroMQ
pieterh
 
gRPC: The Story of Microservices at Square
gRPC: The Story of Microservices at SquaregRPC: The Story of Microservices at Square
gRPC: The Story of Microservices at Square
Apigee | Google Cloud
 
Introduction to go language programming
Introduction to go language programmingIntroduction to go language programming
Introduction to go language programming
Mahmoud Masih Tehrani
 
Introduction to Kotlin coroutines
Introduction to Kotlin coroutinesIntroduction to Kotlin coroutines
Introduction to Kotlin coroutines
Roman Elizarov
 
Go language presentation
Go language presentationGo language presentation
Go language presentation
paramisoft
 

What's hot (20)

The Rust Programming Language
The Rust Programming LanguageThe Rust Programming Language
The Rust Programming Language
 
Rust
RustRust
Rust
 
Cross platform app development with flutter
Cross platform app development with flutterCross platform app development with flutter
Cross platform app development with flutter
 
Golang - Overview of Go (golang) Language
Golang - Overview of Go (golang) LanguageGolang - Overview of Go (golang) Language
Golang - Overview of Go (golang) Language
 
Go. Why it goes
Go. Why it goesGo. Why it goes
Go. Why it goes
 
Go Concurrency
Go ConcurrencyGo Concurrency
Go Concurrency
 
Write microservice in golang
Write microservice in golangWrite microservice in golang
Write microservice in golang
 
Golang
GolangGolang
Golang
 
JavaScript: The Good Parts Or: How A C# Developer Learned To Stop Worrying An...
JavaScript: The Good Parts Or: How A C# Developer Learned To Stop Worrying An...JavaScript: The Good Parts Or: How A C# Developer Learned To Stop Worrying An...
JavaScript: The Good Parts Or: How A C# Developer Learned To Stop Worrying An...
 
Rust Primer
Rust PrimerRust Primer
Rust Primer
 
Php
PhpPhp
Php
 
Introduction to JavaScript
Introduction to JavaScriptIntroduction to JavaScript
Introduction to JavaScript
 
Writing and using Hamcrest Matchers
Writing and using Hamcrest MatchersWriting and using Hamcrest Matchers
Writing and using Hamcrest Matchers
 
Python network programming
Python   network programmingPython   network programming
Python network programming
 
Javascript
JavascriptJavascript
Javascript
 
Overview of ZeroMQ
Overview of ZeroMQOverview of ZeroMQ
Overview of ZeroMQ
 
gRPC: The Story of Microservices at Square
gRPC: The Story of Microservices at SquaregRPC: The Story of Microservices at Square
gRPC: The Story of Microservices at Square
 
Introduction to go language programming
Introduction to go language programmingIntroduction to go language programming
Introduction to go language programming
 
Introduction to Kotlin coroutines
Introduction to Kotlin coroutinesIntroduction to Kotlin coroutines
Introduction to Kotlin coroutines
 
Go language presentation
Go language presentationGo language presentation
Go language presentation
 

Similar to Rust

Embedded Rust
Embedded RustEmbedded Rust
Embedded Rust
Jens Siebert
 
Introduction to Rust (Presentation).pptx
Introduction to Rust (Presentation).pptxIntroduction to Rust (Presentation).pptx
Introduction to Rust (Presentation).pptx
Knoldus Inc.
 
MozillaPH Rust Hack & Learn Session 1
MozillaPH Rust Hack & Learn Session 1MozillaPH Rust Hack & Learn Session 1
MozillaPH Rust Hack & Learn Session 1
Robert 'Bob' Reyes
 
Lisbon rust lang meetup#1
Lisbon rust lang meetup#1Lisbon rust lang meetup#1
Lisbon rust lang meetup#1
João Oliveira
 
программное обеспечение (по)
программное обеспечение (по) программное обеспечение (по)
программное обеспечение (по)
victoria_4
 
Copmuter Languages
Copmuter LanguagesCopmuter Languages
Copmuter Languages
actanimation
 
ASFWS 2013 - Advances in secure (ASP).NET development – break the hackers’ sp...
ASFWS 2013 - Advances in secure (ASP).NET development – break the hackers’ sp...ASFWS 2013 - Advances in secure (ASP).NET development – break the hackers’ sp...
ASFWS 2013 - Advances in secure (ASP).NET development – break the hackers’ sp...
Cyber Security Alliance
 
Introduction to r
Introduction to rIntroduction to r
Introduction to r
gslicraf
 
Rust Hack
Rust HackRust Hack
Rust Hack
Viral Parmar
 
Build Low-Latency Applications in Rust on ScyllaDB
Build Low-Latency Applications in Rust on ScyllaDBBuild Low-Latency Applications in Rust on ScyllaDB
Build Low-Latency Applications in Rust on ScyllaDB
ScyllaDB
 
Intro to Rust for Solana.pptx
Intro to Rust for Solana.pptxIntro to Rust for Solana.pptx
Intro to Rust for Solana.pptx
TinaBregovi
 
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?
Techahead Software
 
TypeScript - Silver Bullet for the Full-stack Developers
TypeScript - Silver Bullet for the Full-stack DevelopersTypeScript - Silver Bullet for the Full-stack Developers
TypeScript - Silver Bullet for the Full-stack Developers
Rutenis Turcinas
 
Some wonderful Linux softwares for daily use
Some wonderful Linux softwares for daily useSome wonderful Linux softwares for daily use
Some wonderful Linux softwares for daily use
arun.arwachin
 
python programming language ppt by brandon
python programming language ppt by brandonpython programming language ppt by brandon
python programming language ppt by brandon
MohdAbdulAleem4
 
Minko - Targeting Flash/Stage3D with C++ and GLSL
Minko - Targeting Flash/Stage3D with C++ and GLSLMinko - Targeting Flash/Stage3D with C++ and GLSL
Minko - Targeting Flash/Stage3D with C++ and GLSLMinko3D
 
Secure Programming Language Cs
Secure Programming Language CsSecure Programming Language Cs
Secure Programming Language Cs
IJRES Journal
 
Why Rust? - Matthias Endler - Codemotion Amsterdam 2016
Why Rust? - Matthias Endler - Codemotion Amsterdam 2016Why Rust? - Matthias Endler - Codemotion Amsterdam 2016
Why Rust? - Matthias Endler - Codemotion Amsterdam 2016
Codemotion
 
Ease of full Stack Development
Ease of full Stack DevelopmentEase of full Stack Development
Ease of full Stack Development
IRJET Journal
 
Deno Fundamentals
Deno FundamentalsDeno Fundamentals
Deno Fundamentals
Christoforus Surjoputro
 

Similar to Rust (20)

Embedded Rust
Embedded RustEmbedded Rust
Embedded Rust
 
Introduction to Rust (Presentation).pptx
Introduction to Rust (Presentation).pptxIntroduction to Rust (Presentation).pptx
Introduction to Rust (Presentation).pptx
 
MozillaPH Rust Hack & Learn Session 1
MozillaPH Rust Hack & Learn Session 1MozillaPH Rust Hack & Learn Session 1
MozillaPH Rust Hack & Learn Session 1
 
Lisbon rust lang meetup#1
Lisbon rust lang meetup#1Lisbon rust lang meetup#1
Lisbon rust lang meetup#1
 
программное обеспечение (по)
программное обеспечение (по) программное обеспечение (по)
программное обеспечение (по)
 
Copmuter Languages
Copmuter LanguagesCopmuter Languages
Copmuter Languages
 
ASFWS 2013 - Advances in secure (ASP).NET development – break the hackers’ sp...
ASFWS 2013 - Advances in secure (ASP).NET development – break the hackers’ sp...ASFWS 2013 - Advances in secure (ASP).NET development – break the hackers’ sp...
ASFWS 2013 - Advances in secure (ASP).NET development – break the hackers’ sp...
 
Introduction to r
Introduction to rIntroduction to r
Introduction to r
 
Rust Hack
Rust HackRust Hack
Rust Hack
 
Build Low-Latency Applications in Rust on ScyllaDB
Build Low-Latency Applications in Rust on ScyllaDBBuild Low-Latency Applications in Rust on ScyllaDB
Build Low-Latency Applications in Rust on ScyllaDB
 
Intro to Rust for Solana.pptx
Intro to Rust for Solana.pptxIntro to Rust for Solana.pptx
Intro to Rust for Solana.pptx
 
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?
 
TypeScript - Silver Bullet for the Full-stack Developers
TypeScript - Silver Bullet for the Full-stack DevelopersTypeScript - Silver Bullet for the Full-stack Developers
TypeScript - Silver Bullet for the Full-stack Developers
 
Some wonderful Linux softwares for daily use
Some wonderful Linux softwares for daily useSome wonderful Linux softwares for daily use
Some wonderful Linux softwares for daily use
 
python programming language ppt by brandon
python programming language ppt by brandonpython programming language ppt by brandon
python programming language ppt by brandon
 
Minko - Targeting Flash/Stage3D with C++ and GLSL
Minko - Targeting Flash/Stage3D with C++ and GLSLMinko - Targeting Flash/Stage3D with C++ and GLSL
Minko - Targeting Flash/Stage3D with C++ and GLSL
 
Secure Programming Language Cs
Secure Programming Language CsSecure Programming Language Cs
Secure Programming Language Cs
 
Why Rust? - Matthias Endler - Codemotion Amsterdam 2016
Why Rust? - Matthias Endler - Codemotion Amsterdam 2016Why Rust? - Matthias Endler - Codemotion Amsterdam 2016
Why Rust? - Matthias Endler - Codemotion Amsterdam 2016
 
Ease of full Stack Development
Ease of full Stack DevelopmentEase of full Stack Development
Ease of full Stack Development
 
Deno Fundamentals
Deno FundamentalsDeno Fundamentals
Deno Fundamentals
 

More from Naga Dinesh

pi code (picture embedding)
pi code (picture embedding)pi code (picture embedding)
pi code (picture embedding)
Naga Dinesh
 
internet and intra net
internet and intra netinternet and intra net
internet and intra net
Naga Dinesh
 
micro payments using coin
micro payments using coinmicro payments using coin
micro payments using coin
Naga Dinesh
 
Haptic technology
Haptic technologyHaptic technology
Haptic technology
Naga Dinesh
 
Firewall
FirewallFirewall
Firewall
Naga Dinesh
 
eye phone technology
eye phone technologyeye phone technology
eye phone technology
Naga Dinesh
 
Tera data
Tera dataTera data
Tera data
Naga Dinesh
 
Selenium ppt
Selenium pptSelenium ppt
Selenium ppt
Naga Dinesh
 
pillcam
pillcampillcam
pillcam
Naga Dinesh
 
team viewer
team viewerteam viewer
team viewer
Naga Dinesh
 
Haptic tech
Haptic techHaptic tech
Haptic tech
Naga Dinesh
 
Growth hacking
Growth hackingGrowth hacking
Growth hacking
Naga Dinesh
 
Gifi
GifiGifi
Anjular js
Anjular jsAnjular js
Anjular js
Naga Dinesh
 
brain chip
 brain chip brain chip
brain chip
Naga Dinesh
 
35.digital jewellery
35.digital jewellery35.digital jewellery
35.digital jewellery
Naga Dinesh
 
mobilejammer
mobilejammermobilejammer
mobilejammer
Naga Dinesh
 
29.skinput technology
29.skinput technology29.skinput technology
29.skinput technology
Naga Dinesh
 
5 g technology
5 g technology5 g technology
5 g technology
Naga Dinesh
 
cloud storage ppt
cloud storage pptcloud storage ppt
cloud storage ppt
Naga Dinesh
 

More from Naga Dinesh (20)

pi code (picture embedding)
pi code (picture embedding)pi code (picture embedding)
pi code (picture embedding)
 
internet and intra net
internet and intra netinternet and intra net
internet and intra net
 
micro payments using coin
micro payments using coinmicro payments using coin
micro payments using coin
 
Haptic technology
Haptic technologyHaptic technology
Haptic technology
 
Firewall
FirewallFirewall
Firewall
 
eye phone technology
eye phone technologyeye phone technology
eye phone technology
 
Tera data
Tera dataTera data
Tera data
 
Selenium ppt
Selenium pptSelenium ppt
Selenium ppt
 
pillcam
pillcampillcam
pillcam
 
team viewer
team viewerteam viewer
team viewer
 
Haptic tech
Haptic techHaptic tech
Haptic tech
 
Growth hacking
Growth hackingGrowth hacking
Growth hacking
 
Gifi
GifiGifi
Gifi
 
Anjular js
Anjular jsAnjular js
Anjular js
 
brain chip
 brain chip brain chip
brain chip
 
35.digital jewellery
35.digital jewellery35.digital jewellery
35.digital jewellery
 
mobilejammer
mobilejammermobilejammer
mobilejammer
 
29.skinput technology
29.skinput technology29.skinput technology
29.skinput technology
 
5 g technology
5 g technology5 g technology
5 g technology
 
cloud storage ppt
cloud storage pptcloud storage ppt
cloud storage ppt
 

Recently uploaded

GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
ThomasParaiso2
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIEnchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Vladimir Iglovikov, Ph.D.
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...
Zilliz
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
Alex Pruden
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
Kumud Singh
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Nexer Digital
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
James Anderson
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
Large Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial ApplicationsLarge Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial Applications
Rohit Gautam
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 

Recently uploaded (20)

GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIEnchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
Large Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial ApplicationsLarge Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial Applications
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 

Rust

  • 2. AGENDA  What is Rust ?  History of Rust  why would Mozilla sponsor rust  Goals and features of the rust  Rust package manager and commands  Rust applications  Example program for Rust  advantages and disadvantages of the rust
  • 3. WHAT IS RUST ?  Rust is system programming language sponsored by Mozilla Research. The design to be a safe, concurrent, practical language. Supporting Functional and imperative procedural paradigms.
  • 4. HISTORY OF RUST  Started as a personal by graydon hoare from Mozilla some time around 2008.  Officially recognized as Mozilla sponsored project from 2009 and first announced in 2010.  First pre-Alpha release in January 2012.  Currently at 1.16 (stable).  operating system support for Linux , windows , macOS , android , ios etc.
  • 5. WHY WOULD MOZILLA SPONSOR RUST ?  Want rust for next gen-infrastructure (service , iot).  Servo is a next generation browser built in rust
  • 6. GOALS OF RUST Safety - statically typed with extensive compile time validations. The system in designed to be memory safe and it does not permit null pointers , dangling pointer or data races in safe code.
  • 7.  SPEED: - Compiled , allows low level access similar to C/C++. For main stream language , I know there different types of programs , architecture. compilation: Language is translated into MIR and then compiled with LLVM RUST MIR LLVM ASM
  • 8.  CONCURRENT :-Built in support for threads , channels There are two programing using Rust 1)Concurrent programming 2) Parallel programming
  • 10. FEATURES OF RUST  Zero – cost abstraction  Algebraic data types (enum )  Pattern matching  Trait based generics  Memory safety without garbage collection
  • 11. Zero-cost abstractons (you pay only for what you use):- A zero cost abstraction really means that abstraction doesn’t impose a cost over the optimal implementation of the task it is abstracting. Algebric datatypes(enum):- enum means enumeration data type consisting of a set of named values called elements , member of the type.it does not use in c.
  • 12. Pattern matching:- patterns matching are quite common in rust . Ex:- let x=1; match x { 1 => println! (“one”), 2 => println! (“two”), 3 => println! (“three”), _ => println!(“anything”), }  Trait based generic :- trait are like interfaces , combine traits for polymorphism
  • 13. Rust package manager  Cargo’s goal is to make modern application package management a core value of the Rust programming language. Some common cargo command are: build compile the current project doc build this project’s and its dependencies documentation new create a new cargo project run build and executes src/main.rs test run the tests bench run the benchmarks update update dependencies listed in cargo . lock search search registry for crates publish package and upload this project to the registry install install a rust binary
  • 14. RUST APPLICATIONS  Few applications written completely in rust:  Servo  Rocket  Redox  Habitat
  • 15. WHAT TO DO WITH RUST  System programming  Web Browser (Mozilla Firefox)  Distributed storage system (Dropbox)  3d Games  Operating system  Device drive  General tools
  • 16. PROGRAM FOR RUST #[deriving(show)] enum Direction { North, East, South, West, } fn reverse(dir : Direction)->Direction { match dir { North => South, East => West, South => North, West => East, } } fn main() { println!(“you should head: { }, reverse(North)); }
  • 17. How to compile and run the RUST program Filename extensions:- .rs , .rlib Compile program:- C: user> rustc < filename >.rs Run program:- C: user> rust < filename >.rs
  • 18. ADVANTAGES OF RUST  Security is it’s biggest advantages  Memory safety without garbage collection.  High – performance.  Provide awesome tools.  Allow making mistakes.
  • 19. DISADVANTAGES  Large binary size  Its almost impossible to run could be unsafe  Consumes more memory  Unlike many other languages, Rust doesn’t have standard way of accessing database
  • 20. CONCLUSION  Rust is a promising System programming language.  Too young to use for fighting in the wild.  Build enterprise class software with more confident.  Run at native speed (C/C+ comparable).