forked from finderL/clicc-cn
-
Notifications
You must be signed in to change notification settings - Fork 0
/
introduction.tex
91 lines (68 loc) · 4.67 KB
/
introduction.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
\chapter*{Introduction: Shut Up And Shell}
This book is a crash course in using the command line to make your computer perform tasks. As a crash course, it's not as detailed or extensive as my other
books. It is simply designed to get you barely capable enough to start using
your computer like a real programmer does. When you're done with this book, you will
be able to give most of the basic commands that every shell user touches every
day. You'll understand the basics of directories and a few other concepts.
The only piece of advice I am going to give you is this:
\begin{quote}
Shut up and type all of this in.
\end{quote}
Sorry to be mean, but that's what you have to do. If you have an irrational fear
of the command line, the only way to conquer an irrational fear is to just
shut up and fight through it.
You are not going to destroy your computer. You are not going to be thrown
into some jail at the bottom of Microsoft's Redmond campus. Your friends won't
laugh at you for being a nerd. Simply ignore any stupid weird reasons you have
for fearing the command line.
Why? Because if you want to learn to code, then you must learn this.
Programming languages are advanced ways to control your computer with language.
The command line is the baby little brother of programming languages. Learning
the command line teaches you to control the computer using language. Once you
get past that, you can then move on to writing code and feeling like you
actually own the hunk of metal you just bought.
\section{How To Use This Book}
The best way to use this book is to do the following:
\begin{enumerate}
\item Get yourself a small paper notebook and a pen.
\item Start at the beginning of the book and do each exercise exactly as you're told.
\item When you read something that doesn't make sense or that you don't understand, \emph{write it down in your notebook}.
Leave a little space so you can write an answer.
\item After you finish an exercise, go back through your notebook and review the questions you have. Try to answer them
by searching online and asking friends who might know the answer. Email me at help@learncodethehardway.org and I'll
help you too.
\end{enumerate}
Just keep going through this process of doing an exercise, writing down
questions you have, then going back through and answering the questions you
can. By the time you're done, you'll actually know a lot more than you think
about using the command line.
\section{You Will Be Memorizing Things}
I'm warning you ahead of time that I'm going to make you memorize things right away.
This is the quickest way to get you capable at something, but for some people
memorization is painful. Just fight through it and do it anyway. Memorization is an
important skill in learning things, so you should get over your fear of it.
Here's how you memorize things:
\begin{enumerate}
\item Tell yourself you \emph{will} do it. Don't try to find tricks or easy ways out of it, just sit down and do it.
\item Write what you want to memorize on some index cards. Put one half of what you need to learn on one side, then
another half on the other side.
\item Every day for about 15-30 minutes, drill yourself on the index cards, trying to recall each one. Put any cards you don't
get right into a different pile, just drill those cards until you get bored, then try the whole deck and see
if you improve.
\item Before you go to bed, drill just the cards you got wrong for about 5 minutes, then go to sleep.
\end{enumerate}
There's other techniques, like you can write what you need to learn on a sheet of paper, laminate it, then stick it to the
wall of your shower. While you're bathing drill the knowledge without looking, and when you get stuck glance at it
to refresh your memory.
If you do this every day, you should be able to memorize most things I tell you to memorize in about a week to a
month. Once you do, nearly everything else becomes easier and intuitive, which is the purpose of memorization.
It's not to teach you abstract concepts, but rather to ingrain the basics so that they are intuitive and you don't
have to think about them. Once you've memorized these basics they stop being speed bumps preventing you from
learning more advanced abstract concepts.
\section{License}
I (Zed A. Shaw) own the copyright on this book. You are free to give it to anyone you want,
as long as you don't modify it and you don't make any money from the distribution
of the book.
\section{Thanks}
Thanks to Lauren Buchsbaum for editing this book and providing me with feedback. Also thanks to
the many students who read the book and provided feedback.