下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年食品安全检测与检验操作手册
- 赛娜的鬼主意
- 企业供应链风险管理与应对
- 会议纪律与秩序维护制度
- 2025年企业内部培训需求分析与管理指南
- 办公室值班与交接班制度
- 中国科协所属单位2026年度面向社会公开招聘工作人员备考题库带答案详解
- 2026年玉树州人民医院合同制人员招聘备考题库及答案详解一套
- 养老院入住老人突发疾病应急处理制度
- 2026年江苏通州湾科技产业发展有限公司及其子公司公开招聘工作人员部分岗位补招备考题库及答案详解1套
- 攀枝花市旺城旅游发展有限责任公司2025年公开招聘工作人员笔试历年参考题库附带答案详解
- 生态环境保护课件
- 常德职业技术学院单招《语文》考试复习题库(含答案)
- 地产住宅项目精装修施工图审图要点
- 2026年中考数学解密之尺规作图
- 流域排涝泵站建设工程可行性研究报告
- 电动两轮车整车性能测试与优化方案
- 《艺术插花的造型与数学》教学大纲
- SF-36健康调查量表(含excel版)
- 超星尔雅学习通《高校实验室安全基础课(实验室准入教育)》章节测试含答案
- 酒店餐饮宴会服务流程规定
评论
0/150
提交评论