►
From YouTube: Stefan Baerisch - Learning Rust with Humility and in Three Steps — RustFest Global 2020
Description
When learning Rust, it is tempting to use advanced features and crates right away. But this can be overwhelming and lead to frustration. In this talk, you will get hints on how to learn Rust step by step, using a careful, structured approach and some confident humility.
For more details and resources, check out:
https://rustfest.global/session/24-learning-rust-with-humility-and-in-three-steps/
B
A
C
B
Sorry
for
that,
but
well
you
see,
there's
always
something
more
to
learn
if
it's
only
the
mute
button,
okay,
rust
with
mule
team
in
three
easy
ideas.
So
what
I
tried
to
do
learning
west
was
to
write
little
desktop
applications.
Because,
honestly,
I
like
desktop
applications
and
I
didn't
start
out
which
was
directly
but
I
went
through
well
different
technologies,
which
gave
me
the
opportunity
to
well
see
how
what
made
it
difficult
to
learn,
different
things,
and
so
the
first
idea
learning
rest
is
or
learning.
Anything
really
is.
B
B
So
I
had
to
learn
or
refresh
a
lot
of
c
plus
plus,
which
is
tricky,
and
I
had
to
learn
cute,
which
is
extremely
large,
as
the
framework
goes,
and
I
also
had
to
deal
with
quite
a
lot
of
surprises.
So
I
had
to
learn
a
build
system
and
I
had
to
learn
how
different
compilers
and
different
platforms
worked,
and
that
took
a
lot
of
time.
B
Next
attempt
was
to
switch
over
to
web
technology
and
electron,
which
was
not
hard
to
learn,
but
again
was
much
to
learn
and
a
few
things
were
once
again
unexpected.
So
dependencies
between
the
many
javascript
packages
that
I
used
were
really
hard
to
figure
out
and
signing
the
code
to
submit
it
to
app
stores
was.
C
B
Not
really
nice,
which
is
well.
Finally,
I
switched
over
to
another
architecture
which
worked,
and
that
was
based
on
well
swift,
javascript
and
rust
in
the
back
end.
So
what
I
came
up
with
is
basically
few
gears
which
I
had
to
learn.
I
didn't
use
it
before
swift,
which
I
didn't
use
before
and
rust,
which
I
didn't
use
before
so
well,
many
different
things
and
finally
I
realized
that
rust.
B
B
So
if
you
struggle
with
the
language
the
first
tip,
the
first
idea
is
be
aware
that
in
learning
rust
as
in
each
technology,
you
have
to
look
at
different
things.
You
have
to
wonder:
is
it
just
hard
to
learn
so?
Are
there
some
concepts
that
I
don't
know
yet,
or
is
this
also
much
to
learn?
Do
I
have
to
learn
a
lot
of
libraries,
a
lot
of
language
concepts,
a
lot
of
syntax,
or
are
there
many
different
things
that
I
also
need
to
learn
package
management,
build
systems,
etc?
B
Each
language
has
a
different,
well
different
degrees
of
difficulties,
different
things
that
you
have
to
keep
in
mind
and
the
thing
with
rust
is
that
the
language
itself,
the
concept
the
borrower's,
echo
etc,
are
quite
challenging
to
learn,
especially
if
you
haven't
worked
with
the
system
programming
language,
but
it
is
once
you
have
done
it.
It
gets
easier
quite
quickly,
so
it
is
worthwhile
not
to
get
discouraged
if
you
run
into
this
steep
learning
curve
at
the
beginning,
because
everything
else
will
be
easier
and
it
will
be
easier
to
get
it
along.
B
In
order
to
accomplish
even
the
first
steps
with
the
language
that
means
give
yourself
some
time
and
once
you
start
learning
focus
on
the
language
go
over
this
first
step
here
and
then
slowly,
work
yourself
up
with
the
ecosystem,
learn
the
different
libraries
learn.
The
context
of
the
language
so
shows
a
simple
application
domain
and
try
not
to
change
too
much.
Rust
is
extremely
powerful.
So
there
can
be
many
things
that
you
would
like
to
learn.
That
would
potentially
be
useful
for
your
project,
but
give
yourself
time
and
focus
on
this
first
step
and
well.
B
Learning
should
be
easier.
When
I
did
my
little
project,
I
basically
started
out
with
doing
word:
counting
application,
hello,
world,
apps,
etc,
and
only
then
slowly
moved
on
to
some
multi-spreading
work
and
more
complex
things
that
I
needed
for
my
application.
Back-End
and
even
there
was
well.
I
chose
the
most
boring
and
maybe
even
inefficient
architecture
that
could
possibly
work.
B
I
have
the
well
I'm
going
to
say
the
personal
weakness
to
read
a
lot
about
languages
before
I
use
them,
especially
if
I
have
the
impression
that
they
are
very
many
new
and
interesting
concepts
in
the
language,
and
this
can
be
a
difficult.
It
can
be
difficult
in
languages
where
well,
you
can
potentially
be
overwhelmed
if
you
try
too
much
at
once.
B
We
have
quite
a
lot
of
mountains
and
I
always
thought
that
the
difference
is
between
trying
to
think
about
a
hiking
trip
on
a
map
and
seeing
it
in
real
life,
because
in
real
life,
things
are
always
slightly
more
complex,
which
means
that
if
you
choose
for
your
project,
all
the
features
that
you
could
potentially
want,
and
if
you
want
to
use
the
most
elegant,
syntax
and
don't
repeat
yourself
and
and
also
in
well
quite
good
idiomatic
code,
then
it
is
quite
likely
that
in
series
this
will
work
all
out
all
will
work
out.
B
B
B
I
think
I
need
multi
spreading
and
maybe
a
library
I
use
ectix
just
to
handle
some
internal
web
requests
and
after
I,
edit
each
of
these
features
I
practiced
a
little
bit.
Did
some
refactoring
did
some
changes
and
in
this
way
I
was
always
able
to
slowly
move
along,
so
I
always
went
through
this
planning
doing
phase
which
allowed
me
to
well
get
something
to
work.
B
Which
brings
me
to
the
certain
for
me,
at
least
for
most
the
important
idea
in
learning,
something
that
is
what
is
but
can
be
quite
challenging
like
west,
be
humble,
I
think
we
as
well
software
developers,
architects.
We
always
like
to
not.
C
B
Honest
to
feel
clever
to
be
good
about
ourselves,
because
we
have
grasped
and
mastered
the
features
of
our
language,
because
we
write
good
code,
the
most
idiomatic
one
code,
the
most
well
safe
code
or
the
most
performant
code.
Sometimes,
in
order
to
get
to
this
point
where
we
write
the
best
code,
we
could
possibly
think
about.
B
B
You
not
only
know.
Okay.
I
have
seen
in
this
book
that
I
needed
to
do
it
in
the
following
way
and
I
know
the
ref's
concepts,
but
you
can
also
relate
it
to
other
concepts
that
you
have
learned
before,
and
this
can
only
happen
if
you
be
humble,
and
do
this
small
little
steps
which
ultimately
allow
you
to
ascend
faster.
B
If
you
always
work
with
the
most
difficult
thing
that
you
can
possibly
grasp-
and
this
is
the
most
clever
code
you
can
possibly
write-
it
will
be
quite
hard
for
you
to
debug
this
code
or
to
refactor
this
code
or
even
to
come
back
to
this
code.
If
you,
for
example,
move
to
something
else
for
a
couple
of
months,
so
doing
simple
things
and
doing
them
often
ultimately
leads
to
mastery,
and
I
would
argue
quicker
than
if
you
tried
to
challenge
yourself
too
much.
B
Well,
I
can
only
remember
that
when
I
started
to
learn
rust,
the
first
program
I
wanted
to
write
was
a
word
counter.
I
always
uses
little
things
that,
where
I
go
over
a
couple
of
hundred
files
on
my
file
systems
and
counts
the
words
and
give
me
the
most
frequent
ones,
which
is
usually
a
couple
of
minutes
or
maybe
an
hour
in
different
programming
languages,
which
must
it
took
a
little
bit
longer,
mostly
because
I
started
out,
assuming
that
I
could
just
transfer
one
to
one
from
the
c
plus
program.
B
B
B
It
is
also
okay
to
limit
yourself,
so
rust
made
the
design
decision
to
have
many
things
that
are
useful,
but
that
are
not
in
the
standard
library.
There
are
many
good
crates
for
error,
handling,
etc,
for
better
error,
types
for
better
concurrency,
abstractions,
etc,
and
I
always
have
to
stop
myself
from
looking
at,
creates.
B
The
thing
is
especially
with
I
think
things
get
complicated
pretty
quickly,
so
allow
yourself
for
your
first
version
of
your
code
to
be
inefficient.
Do
some
memory
copies,
do
some
clones
right
in
sync
server
and
later
on.
If
you
realize
that
you
need
something
faster,
you
can
always
move
there
now
to
change
tone.
A
little
bit
unsafe
code
is
not
okay.
B
Oh,
for
example,
when
I
wrote
about
a
rust
program
when
I
worked
with
a
vector
and
had
to
reallocate
some
memory,
I
just
thought:
okay,
that's
interesting!
That
is
much
harder
than
it
would
be
in
go,
but
thinking
about
it
in
this
particular
corner
case.
B
I
think
when
I
would
do
this
in
go
my
area
yeah,
I
would
most
likely
do
a
copy
where
I
wouldn't
really
want
a
copy
and
so
well
the
safety
guarantees
of
rusk
actually
help
you
learning
the
compiler
is
your
tutor
in
a
way
borrowing
code
is
okay,
so
there
are
many
nice
macro
sets
that
can
help
us
macro.
Programming
is
quite
interesting.
Knightly
has
many
features
many
quaids
need
nightly.
B
I
would
not
necessarily
go
there
at
the
beginning.
Just
stay
with
a
boring
old,
stable
world
and
move
along
yeah
and
to
repeat
myself:
small
steps
in
your
code
are
okay,
so
if
you
find
yourself
writing
boring
short
functions,
you're
quite
likely
on
the
right
track,
yeah,
and
that's
almost
all
of
the
talk,
so
the
summary
is
quite
easy.
There's
always
this
idea
in
where
computer
science
and
management
everywhere
of
improvement
loops
and
do
something
and
learn
improve
it.
B
B
You
have
learned
something
be
motivated
to
learn
something
more
write:
some
code,
look
at
the
code,
refactor,
it
think
okay,
which
additional
feature.
Could
I
I
what
I
want
to
use,
or
maybe
how
I
do
allow
myself
to
use
this
particular
this
one
crate
that
I
will
then
learn
about
and
research.
Well,
you
can
stay
motivated,
you
don't
overwhelm
yourself
and
you
make
slow
progress
right.
Well,
things
that
start
slow
can
be
quickly.
Quite
quick
for
practical
things.
B
B
I
can
just
give
you
some
hints
from
me:
I've
I'm
a
reader,
so
I
learn
mostly
by
reading
and
by
doing
I
ironically,
don't
work
particularly
well
with
videos.
But
for
me
the
approach
that
brought
me.
The
first
was
starting
with
the
rust
book,
which
is
quite
nice
because
it
explains
a
lot
and
then
you
have
some
code,
then
do
some
exercises
and
then
go
back
to
rust
by
example,
where
you
have
more
code.
So
maybe
you
don't
need
so
much
so
many
explanations
anymore
and
you
can
just
read
the
code.
B
Take
the
code
change
the
code
and
to
do
some
more
experiments
and
maybe
start
do
some
relatively
simple
things
so
lead
code
or
without
a
code
or
just
porting.
Your
command
line,
a
simple
command
line
tool
is
something
that
is
well
limited
in
scope,
and
that
gives
you
a
feeling
of
success
when
you're
done
and
after
that.
What
I
find
quite
interesting
is
just
select
some
books
and
then
go
to
the
gibbertout
repository.
B
B
B
C
Thank
you,
stefan
for
that
very
validating
talk,
as
I'm
sure
everyone
will
agree.
It's
very
rough,
sometimes
at
the
beginning,
very
very
good
pointers,
yeah.
B
C
B
Write
a
lot
of
python
and
with
python
partners
always
say
programming.
Language
is
easy
mode
because
you
have
well,
you
have
a
garbage
collector.
You
have
reference
counting,
you
have
a
nice
syntax
and
python
is
extremely
good
in
hiding
complex
libraries
from
the
user.
Rust
has
to
expose
some
of
these
complexities,
and
this
can
be
different,
but
I
think
what
I'd
really
like
to
express
don't
be
discouraged.
There
is
this
bump
at
the
beginning,
where
you
have
to
learn
the
concepts,
unfortunately,
there's
no
way
around
it,
but
once
you've
done
this,
things
will
get
easier.
C
Exactly
yeah,
so
we
do
have
one
question
from
the
public
based
on
the
experience
you've
had
with
previous
languages.
What
was
the
most
difficult
thing
to
grasp.
B
Actually,
access
web-
and
this
is
not
so
much
two
things-
actors
tries
to
use
quite
advanced
traits
in
how
you
actually
use
a
library,
and
they
are
moving
quite
fast.
So
I
ended
up
with
finding
a
lot
of
different
or
outdated
documentation,
and
it
was
quite
a
bit
of
trial
and
error,
and
since
I'm
not
an
expert
on
the
trade
system,
I
couldn't
just
go
to
this
horse
couldn't
see.
Okay.
This
is
how
this
is
supposed
to
work,
but
I
had
to
slowly
work
myself
up
and
yeah.
B
A
B
B
I
may
not
have
grasped
this
now,
but
I
know
that
there
is
this
chapter
in
the
book
and
I
can
think
I
can
figure
out
how
it
works
so
that
you,
you
don't
read
a
sentence
and
you
have
the
feeling
that
you
have
to
look
up
every
second
word
and
and
then
it
really
com
depends
on
the
project
that
you
want
to
work
with.
B
I've
really
found
that
a
good
middle
point
is
well
example,
source
code
from
books,
because,
especially
if
you
go
into
the
later
features,
you
can
just
say:
okay,
I
know
this
concept.
I
know
this
concept
and
then
this
concept,
but
it's
not
the
code
that
I've
written
before
or
that
I
have
written
my
exercises
in
and
then
you
can
maybe
use
well
start
on
command
line
tools.
B
So
maybe
I
basically
looked
at
simple
web
applications
because
I
need
a
web
application,
but
maybe
just
also
go
to
github
google
for
command
line
to
look
for
command
line
to
request
some
easy
application
domain.
Nothing
too
challenging
then
just
see
whether
you
understand
it
or
not,
and
if
you
don't
understand
it,
move
on
to
something
else,
what
or
dig
in
whatever
ends
up
it
depends
on
what
keeps
you
motivated
don't
get
frustrated.
I
think
that's
the
most
important
thing.
C
Yeah
the
most
important,
but
if
you
do
get
stuck
what
place?
Do
you
turn
for
help?
Is
there
any
particular
website
or
place.
B
Not
really
so
I
usually
go.
Rest,
for
example,
is
by
example,
is
quite
nice
in
terms
of
book.
I
still
find
the
old
o'reilly
book.
Quite
nice
packed
say
they
have
the
subscription
service,
but
they
have
the
mastering
rust.
The
second
one
is
quite
good
and
say:
source
code
is
also
on
github,
which
at
least
allows
you
to
just
search
by
m
keyword
and
to
see
how
this
is
used
in
context.
B
It
depends
so
much
if,
if
you're
struggling
with
a
library
like
my
actress
example,
which
is
not
related
to
much
directors,
it's
basically
that
I
didn't
use
a
library
and
then
you
need
example,
code
to
make
it
work.
If
you're
struggling
with
some
concepts-
and
I
usually
I'm
just
hop
from
book
to
book
and
then
try
to
work
with
the
simplest
possible
example
that
I
can
make
up
and
well
play
around
with
either
rust
playground
or
with
some
local
code
and
see
whether
I
can
make
it
work.