ThingsIWishSomeoneHadToldMeWhenIWasLearningHowtoCode_第1页
ThingsIWishSomeoneHadToldMeWhenIWasLearningHowtoCode_第2页
ThingsIWishSomeoneHadToldMeWhenIWasLearningHowtoCode_第3页
ThingsIWishSomeoneHadToldMeWhenIWasLearningHowtoCode_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Things I Wish Someo ne Had Told Me Whe n I WasLear ning How to CodeAnd what I ' ve learned from teaching otherswhat you want to codeBefore you lear n to code, thi nk aboutKnowing how to code is mostly about build ing thi ngs, and the p ath is a lot clearer when you have a sense of the end goal.

2、If your goal is “learn to code, ” without a clear idea of the kinds of programs you will write and how they will make your life better, you will p robably find it a frustrati ng exercise.I ' m a little ashamed to admit that part of my motivation for studying compu ter scie nee was that I wan ted

3、 to prove I was smart, and I wan ted to be able to get Smart Person jobs. I also liked thi nking about math and theory ( this book blew my mi nd at an imp ressio nable age) andthe p rogrammusicwas a good fit. It was n ' t eno ugh to susta in me for long, though, un til I found ways to connect te

4、ch no logy to the thi ngs I really loved, like and literature.thatotterSo, what do you want to code? Websites? Games? Phone apps? A start up makes you rich? In teractive art? Do you want to be able to imp ress your boss or automate a tedious task so you can spend more time looking at pictures? P erh

5、a ps you sim ply want to be more empio yable, add a buzzword to your resume, or fulfill the requirements of your educational program. All of these are worthy goals. Makesure you know which one is yours, and study accord in gly.There' s nothing mystical about it're freeCoding is a skill like

6、any other. Like Ianguage learni ng, there ' s grammar and vocabulary to acquire. Like math, there are processes to work through specific types of problems. Like all kinds of craftsmanship and art-making, there are tech niq ues and tools and best p ractices that people have devel oped over time ,

7、 sp ecialized to differe nt tasks, that you to use or modify or discard.This guy (a very smart guy! Whose other writings I enjoy and frequently agree with!) p osits that there is a bright line betwee n people with the True Mind of a P rogrammer and every one else, who are lack ing the in tellectual

8、cap acity n eeded to succeed in the field. That bright line consists,according to him, of pointers and recursion (there are primershere and here for the curious).I lear ned about poin ters and recursi on in school, and whe n I un derstood them, it was a delightful jolt to my brain?the kind of in tel

9、lectualpl easure that made me want to study compu ter scie nee in the first pl ace. But, outside of classroom exercises, the numb er of times I ' ve had to be familiar with either concept to get things done has been relatively small. And when helping others learn, over and over again, I' ve

10、watched people comp lete in terest ing and reward ing p rojects without knowing anything about either one.There' s no point in being intimidated or wondering if you' re Smartng en tirely -un dersta ndingEno ugh. Sure, the more comp lex and esoteric your task, the higher the level of mastery

11、you will n eed to comp lete it. But this is true in absolutely every other field. Un less you ' re planning to make your livi by your code, chances are you don t have to be a recursion genius to make the thi ng you want to make.It n ever works the first timeAnd probably won ' t the second or

12、 third timeWhenyou first start lear ning to code, you' ll this p articular exp erie nee: you thi nk you'you' re supposed to, you ' ve checked and re does n' t. work. You donrun up aga instvery quicklyve set up everyth ing the way -checked it, and it still.'t have a clue where

13、 to begin trying to fix it,re not cut out for a program in C+, for my trouble.and the error message (i f you ' re lucky eno ugh to have one at all) might as well say“ fuck you. ” You might be temp ted to give up at this point,thinking that you ' ll never figure it out, that you'this. I h

14、ad that feeling the first time I tried to write ran it, and got only the words“ segme ntati on fault ”skill levels thatBut this experienee is so commorfor programmers of all it says absolutely no thi ng about your in tellige nee, tech-sav vin ess, or suitability for the codi ng life. It will happen

15、to you as a beg inner, but it will also happen to you as an exp erie need p rogrammer. The main differe nee will be in how you res pond to it.'re doing it wrongI ' ve found that a big differenee between new coders and experieneed coders is faith: faith that things are going wrong for a logic

16、al and discoverable reas on, faith that p roblems are fixable, faith that there is a way to accomplish the goal. The path from “not working ” to “working ” might not be obvious, but with p atie nee you can usually find it.Some one will always tell you youBraces should go on the same line . UseBraces

17、 should go on the next line .tabs to indent . But tabs are evil . You should use stored procedures , but actually you shouldn ' t use them . You should always comment your code . But good code doesn ' t need comments .There are almost always manydifferentapproaches to a particularproblem,wit

18、h no single“right way. ” A lot of programmers get very good atadvocating for th eir preferredway, but that doesn' t meanit ' s the OneTrue P ath. Goi ng head-to-head with people telli ng me I was Wrong, and trying to figure out if they were right, was one of the more stressful asp ects of my

19、 early career.If you ' re cod ing in a team with o ther people, some one will almost certainiy take issue with something that you' re doing. Sometimesthey ' ll be absolutely correct, and it' s always worth investigating tosee whether you are, i n fact, Doi ng It Wrong. But sometimes

20、they will be full of shit, or re-enacting an ancient and meaningless dispute where it would be best to just follow a style guide and forget about it.On the other hand, if you ' re the kind of person who enjoys ancient but meaningless disputes (grammar nerds, I' m looking at you), you ' e

21、 comere not a real coderto the right p lace.Some one will always tell you youHTMLsn ' t real coding . If you don t use vi, you' re not really serious . Real p rogrammers know C. Real coders don t do Win dows. Some people will never be able to learn it . You shouldn ' t learn to code. You

22、' re not acompu ter p rogrammer (but I am)“Coding” means a lot of different things to a lotof different people,and it looks differe nt now from how it used to. And, funn ily eno ugh, the tools and p ackages and frameworks that make it faster and easier for n ewcomers or eve n trained devel opers

23、 to build things are most likely tobe tarred with the “not for REAL coders ” brush. (See:Return of theReal P rogrammer ”)if“anyone” can call themselves a.But I thi nk that thisBeh ind all this is the fear thatp rogrammer, the title will become meanin gless gatekee ping is destructive.Use the tools t

24、hat makeit easiest to build the things you want to build. If that means your game was made in Ste ncyl or GameMaker rather tha n written from scratch, that ' s fine. If your first foray into coding isHTML or Excel macros, that ' s fine. Workwith something you feel you canstick with.As you ge

25、t more comfortable, you' ll naturallystart to find those toolspeople will ever even look at your code or even ask what s what you make with it that coun ts.limit ing rather tha n hel pful and look for more po werful on es. But most of the time, few you used ? ?It 'Worrying about"geek cr

26、ed ” will slowly kill youSee above. I used to worry a lot, esp ecially in school, about whether I was identifying myself as “not a real geek” (and therefore less worthy of in clusi on in tech com mun ities) through my cloth ing, my p rese ntati on, mychoice of reading material and even mysoftware cu

27、stomization choices. It was a terrible waste of energy and I becamea lot more functionalafterI made the decisi on to let it all go.You n eed to intern alize this: your ability to get good at cod ing has nothing to do with how well you fit into the various geek subcultures.This goes double if you kno

28、w deep down that you' ll never quite fit. Theen ergy you spend proving yourself should be going into making things in stead. An d, if you' re an in dis pu table geek with cred leak ing from your eye sockets , kee p this in mind for whe nyou' re evaluati ng some on eelse ' s cred leve

29、l. It may not mean what you thi nk it does.Stick ing with it is more imp orta nt tha n the methodThere' s no shortage of articles about the“right ” or “best ” way tolearn how to code, and there are lots of poten tial app roaches. You can learn the concepts from a book or by completing in teracti

30、ve exercises or by debugging things that others have written. And, of course, there arelots of Ianguages you might choose as your first to learn, with advocates for each.A commoncomplai nt with “ teach yourself to code” programs and workshops is that you' ll breeze happ ily through the beg inner

31、 material and the n hit a stee p curve where things getmore difficult very quickly.You know howto print somelines of text on a page but have no idea where to start working on a “real, ” useful project.You might feel lik e you were just followingdirecti ons without really un dersta nding, and blame the lear ning materials.Whe n you get to this sta

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论