1
00:00:06,510 --> 00:00:09,690
- Hello and welcome to
Rust Programming Part 2.

2
00:00:09,690 --> 00:00:12,856
I'm Andy Olsen and I'll be
your instructor for the course.

3
00:00:12,856 --> 00:00:14,460
This is the second part

4
00:00:14,460 --> 00:00:17,459
of my Rust Programming
Essentials Video Collection.

5
00:00:17,459 --> 00:00:21,150
This course delves into
advanced Rust concepts

6
00:00:21,150 --> 00:00:23,610
and walks through a couple
of real world projects

7
00:00:23,610 --> 00:00:26,536
to help you take your Rust
knowledge to the next level.

8
00:00:26,536 --> 00:00:28,230
If you're new to Rust

9
00:00:28,230 --> 00:00:31,050
or if you feel like
you need the refresher,

10
00:00:31,050 --> 00:00:32,760
you might want to take
a look at the first part

11
00:00:32,760 --> 00:00:35,820
of this video collection, which
I've called Rust Programming

12
00:00:35,820 --> 00:00:39,457
Part 1: Rust Programming Foundations.

13
00:00:39,457 --> 00:00:41,580
Anyway, back to this course.

14
00:00:41,580 --> 00:00:43,560
Lemme tell you what we're gonna cover.

15
00:00:43,560 --> 00:00:45,630
We're gonna begin with a detailed look

16
00:00:45,630 --> 00:00:49,020
at how to organize the code
into functions and closures,

17
00:00:49,020 --> 00:00:50,850
which are like lambdas.

18
00:00:50,850 --> 00:00:53,340
Then we'll see how to
define data structures

19
00:00:53,340 --> 00:00:58,340
and how to use traits to
implement polymorphism in Rust.

20
00:00:58,680 --> 00:01:01,830
We'll also explore some additional
Rust programming concepts

21
00:01:01,830 --> 00:01:04,860
like generics and multi-threading.

22
00:01:04,860 --> 00:01:07,650
After that, I'll lead you
on a detailed walkthrough

23
00:01:07,650 --> 00:01:10,890
of a couple of real world
hands-on projects so you can see

24
00:01:10,890 --> 00:01:13,980
how to put all the pieces
together in practice.

25
00:01:13,980 --> 00:01:18,060
The first project will show
how to implement a CSV parser,

26
00:01:18,060 --> 00:01:19,410
and the second project will show

27
00:01:19,410 --> 00:01:21,960
how to access a relational database.

28
00:01:21,960 --> 00:01:23,580
These projects were designed

29
00:01:23,580 --> 00:01:25,680
so you can learn the skills needed

30
00:01:25,680 --> 00:01:28,383
to use Rust effectively and efficiently.

31
00:01:29,730 --> 00:01:33,510
So let me say a few words
about myself before we dive in.

32
00:01:33,510 --> 00:01:36,630
I'm a freelance developer and
instructor, I live in Swansea

33
00:01:36,630 --> 00:01:37,950
in the United Kingdom,

34
00:01:37,950 --> 00:01:41,640
and I've been working in it since 1986.

35
00:01:41,640 --> 00:01:44,730
I started programming in
C and C++, and I've moved

36
00:01:44,730 --> 00:01:47,460
into other programming
languages over the years.

37
00:01:47,460 --> 00:01:51,870
Java, C#, Python, JavaScript, TypeScript

38
00:01:51,870 --> 00:01:54,030
and obviously Rust itself.

39
00:01:54,030 --> 00:01:55,470
There were several occasions

40
00:01:55,470 --> 00:01:59,310
where Rust didn't behave
the way I was expecting.

41
00:01:59,310 --> 00:02:03,090
Many times I was genuinely
surprised about how it worked

42
00:02:03,090 --> 00:02:05,394
and I began to realize just how much safer

43
00:02:05,394 --> 00:02:09,090
it makes my code compared
to the C++ I've been writing

44
00:02:09,090 --> 00:02:12,810
for the last 30 years,
quite a shock to the system.

45
00:02:12,810 --> 00:02:14,880
Anyway, I hope you enjoy the course

46
00:02:14,880 --> 00:02:16,480
and I hope you like my examples.

