学Linux,自学可以吗,java有没有自学成功的什么特别的要求?

为什么要学习 Linux? - 知乎2510被浏览525764分享邀请回答mat.uc.pt/~zhang/blog.html 。转载请注明出处。自由谈 (2014 年 3 月 15 日,科英布拉)起这么吓人的一个题目,其实只是想写一下 。但我保证决不做标题党。 请注意,这是一篇充满正能量富有哲理的小清新鸡汤文,操作系统狂热分子请止步。用 Linux 五年多了,但此前我从来没有就此写过一句话。不过我倒是经常问别人:你用什么操作系统?尤其对刚认识的人。因为用 Linux 的人很可能跟我三观接近,比较容易成为朋友 (警告:逆命题不成立!)。一个无关痛痒的问题能提供如此重要的信息,何乐而不为之?“三观” 这个词眼下很流行。这原本是一个严肃的概念,现在也不可避免地被解构了。我说的是它的本意。一个人的三观是什么决定的?无非是她/他经历的人与事。正常情况下,能影响到三观的经历只占极少数。对于跟我一般固执的人,这个比例就更低。如果连中午吃馒头还是米饭都管用,这三观也忒不值钱了。那些重要的人恐怕在回忆录甚至遗书里才好写,重要的事倒是可以提前说道说道。对我而言,从 Windows 转向 Linux 可算是其中之一。一个操作系统而已,似乎跟馒头和米饭没多大差别,有这么重要吗?回答这个问题之前,我们先来看看 Linux 与 Windows 最本质的区别在哪里。有人会说前者免费,后者需要买 (或偷)。这只是对 “free software” 的曲解。在我看来,二者最重要的区别乃是它们对自己的用户所做的假设。对于 Linux,这个假设是:用户知道自己想要什么,也明白自己在做什么,并且会为自己的行为负责。而 Windows 则恰好相反:用户不知道自己想要什么,也不明白自己在做什么,更不打算为自己的行为负责。说得更直接一些,前者假定用户是负责任的聪明人,后者反之。Linux 用户不必沾沾自喜,Windows 用户先把刀放下。这些只是假设,它们的 (不是我的) 假设。这么滴吧,我讲个故事,一来呢,测验一下你的智商;二来呢,缓和一下尴尬的气氛。听好,可招笑了。说,要把大象装冰箱 … 呃,不,故事是这样的:一位雕刻家爱上了自己创作的女神雕像。他每天对着雕像说话。最后,那座雕像真的变成了一位女神。这个故事还有另一个版本,你肯定听过:在一所小学里,心理学家随机选择 20% 的学生,告诉老师他们比别人更聪明。一年之后,这些学生的 IQ 测验果然 (在统计意义上) 更佳。这个故事流传甚广,但很少有人给出参考文献。这是历史上真实存在的一个试验,1963 年由罗胜道与贾步升在美国加州南旧金山市橡树小学实施。罗是加州大学心理学家教授,而贾时任橡树小学校长。二人于 1968 年就此试验发表了,这里是 BibTeX:@book{pygmalion,
title={Pygmalion in the Classroom: Teacher Expectation and Pupils' Intellectual Development},
author={Rosenthal, R. and Jacobson, L.},
url={http://books.google.pt/books?id=9HbuAAAAMAAJ},
lccn={lc},
year={1968},
publisher={Holt, Rinehart and Winston}
毕马隆是希腊神话里的一位雕刻家,就是爱上自己作品的那位。这 (两) 个故事告诉我们:第一,只要功夫深,不怕女神不动心;第二,如果有心理学家来你们学校做试验,躲得越远越安全 —— 80% 和 20%,你觉得哪个几率更大一些?细心的人可能注意到,上面的故事还告诉我们,他人的期望会在一定程度上影响我们的行为。这就是罗胜道与贾步升所说的 “”。Windows 如何影响用户的行为我不清楚,而 Linux 对用户的影响倒是十分有意思。既然假定 “用户知道自己想要什么,也明白自己在做什么,并且会为自己的行为负责”, 如果发生毕马隆效应,那么相当一部分用户会慢慢学会用自己的脑袋思考,按自己的意志行事,并为自己的行为负责。这就是自由,也是 “free software” 之 “free” 的本意。说到自由,不能不提
()。 我有一本严复先生译的《群己权界论》,买英文版赠的。由于是赠本,印刷装帧不免略显简陋。一次,我的一个同学拿起这本书看了两眼,问我,这是什么书,不是哪个邪教的教义吧?严复恐怕想不到,在他身后近百年,在他的国家二度成为共和国之后六十多年,一个受过良好教育的高级知识分子会把他的译著当做 “邪教教义”。可能有人要问,所谓的 “按自己的意志行事” 不容易发展为自私自利吗?的确如此,如果没有后面那句 “并为自己的行为负责” 的话。这就是严复把 “On Liberty” 译为“群己权界论” 的原因。任何一个人,只要不是离群索居,她/他的自由就有一定的界限,而所谓 “为自己的行为负责” 至少包括遵守界限并承担越界的一切后果。自由绝不等于为所欲为。如果有人说 “free software” 就是用户可以为所欲为的软件,那还不如认为它是 “免费软件”。前两天听到一个有意思的观点:全能型政府治理下的老百姓往往公德心不太好。比观点更有意思的是解释:如果家里来了一个保姆,请来之后才发现他什么都管,从头到脚为你立一堆规矩,更不幸的是这个保姆还辞不掉,那很多人可能会 “理性地” 选择与保姆对着干 —— 乱扔烟头、随地大小便、扰乱他干活。观点我同意,但解释我不敢苟同。在我看来,这种现象跟操作系统影响用户行为是一个道理,不过是毕马隆效应罢了。既然假定老百姓素质不高、无法自理,那么久而久之这可能会变成 (统计意义上的) 现实。与之相关的是陈港生的名言 “国人需要管”。这句话本身无可挑剔。“群己权界” 本来就暗示每个人都要为他人让渡自己的一部分自由;在社会上这需要通过管理来实现,所以 “每个社会人都需要管”,国人自然不例外。不过,如果陈先生的意思是 “国人比别人更需要管,因为国人比别人更不具备公民素质”,那可要小心了。一旦这种言论大行其道,其毕马隆效应将是非常可悲的。另外,不难注意到,这其实是一种种族歧视言论。在一个高级知识分子把《群己权界论》当邪教教义的社会里,即便有人堂而皇之散布这样的言论也不奇怪。当然,这都是诛心之论,陈先生是好的。好像越扯越远了,说好的 Linux 呢?其实我对 Linux 的了解十分有限,从来是现学现用,谷哥就是我的老师。所以,我没有资格在技术层面上谈论 Linux。不过有几个非技术问题倒是可以探讨一下。问题一:Linux 对用户友好吗?回答:“Linux is user-friendly. It's just very selective about who its friends are.” 这句话没有出处,主语本来是 Unix,但 Linux 是 Unix 的一种 (吗),所以它对 Linux 也成立 (吧)。很多人把这句话当作笑话,但对照一下 Linux 对用户所做的假设,我们会发现这句话严肃至极,一点都不好笑。Linux 对用户很友好,但它对自己的用户是有假定的。如果你感觉不到他的友好,那说明你不满足假定。问题二:听你一说,Linux 好像很高大上的感觉。如果我弃 Windows 从 Linux,用不了多久就会升职加薪当上总经理出任 CEO 迎娶白富美走向人生巅峰吧?想想还有点小激动呢!回答:我不知道你是从哪里听出 Linux 高大上的。至于你的问题嘛,我还是再讲个故事吧:一个女生要从三个追求者中选择一个作为自己的白马王子。三人通过重重考验,来到最后一关。女生要求他们亮出自己的笔记本电脑,结果发现第一个追求者用的是 Windows,第二个用的是 Linux,而剩下那个用的当然是 Mac 了。最后她选了胸大,哦不,最有钱的那一个。对了,你不会天真到以为用 Mac 的就一定有钱吧?问题三:上面那个故事里的女生到底应该选哪个?回答:如果你对故事里给出的答案不满意,这个问题就难了。不过,如果这个女生想做女王大人,断不可选择第二个追求者。否则,根据毕马隆效应,白马王子可能会因抑郁而自尽。问题四:到底 Windows 和 Linux 哪个好?我该用哪一个?回答:Linux 和 Windows 哪个好?这个问题就跟纠缠豆腐脑该加糖还是加盐一样没有意义。操作系统只是一个工具,适合你的就是最好的。Linux 传教士们,省省吧!“自由即责任,世人多畏之。” 不论到什么时候,Linux 用户都将是相对少数,这是人性决定的。如果真的理解 Linux 的哲学,那你应该明白,每一个人都可以问 “我该用哪个”,但任何人都不应管 “她/他该用哪个”。Windows 支持者们,不要再说 “Linux 我试过,太难用,跟 Windows 差距太大”。这很可能是你的真实感受,但明智的做法是装作从来没试过,不要宣扬。原因很简单:“若无力驾驭,自由便是负担。”问题五:你怎么不说 Mac?回答:买不起。问题六:说好的哲理呢?说好的正能量呢?说好的小清新呢?说好的鸡汤呢?我看你就是一个 “操作系统狂热分子” 吧?回答:曾经是,但经过积极改造,现在已经重新做人,成为一个实用主义者了。只要满足以下三条,任何操作系统我都乐于接受:1. 用户自主。用户决定系统如何工作,而不是反之。任何提示用户 “正在安装更新,请不要关机” 的行为都跟不以结婚为目的的恋爱是一个性质。用户是机器的主人,操作系统只是用户请来的助手;用户知道自己想要什么,明白自己在做什么,也会为自己的行为负责;操作系统尽量少说话,更不要下命令。用户自主还蕴含系统的可定制性:用户可以对系统做任何配置或改造。2. 用户知情。如有必要,用户可以获知系统工作的任何细节,而不是仅仅被告知 “” —— 这比不以结婚为目的的恋爱还让人无法接受。3. 系统高效。在此系统下用户可以很方便地获得各种工具,并且不同工具能很容易地组装在一起完成复杂的工作。机器更多是用来干活的,所以这一点很重要。以此为标准,Linux 目前是个不错的选择,而 Windows 不满足任何一条。怎么,你仍然认为我是操作系统狂热分子?对不起,真不是,我只是选择了自由。Liberty means . That is why most men dread it.
George Bernard ShawUnless a man has
to make something of himself, freedom is an irksome burden.
Eric Hoffer86690 条评论分享收藏感谢收起293 条评论分享收藏感谢收起查看更多回答学编程为什么这么难?每个新手绝对要知道的那些事
-04%-10%-22%33%-35%-41%-49%-59%-68%70%-73%-78%-83%-88%-94%
Quincy Larson曾经只是个穿西装坐办公室的家伙,有一天,他决定要学习编程。于是,他到处打听关于编程的事情。他从Ruby入手,接着很快学了Scala、Clojure和Go等多种其他的编程语言。他用过Emacs和Vim,甚至还学过Dvorak键盘布局。他不仅学会了Linux,涉足过Lisp,并且有超过半年的时间靠在命令行下编 Python 代码为生。
Quincy就像龙卷风中的一片叶子,别人给他的建议让他在编程的世界中晕头转向,直到他学完了&能想到的每一个在线教程&。尽管在故事的最后,Quincy,但他说:
&我认为,我碰到过的程序员们看似一帆风顺,实际上他们都饱尝过学习编程的痛苦,只是他们都压抑着没有说出来。
唉,这些话是不是听着很耳熟?
阶段一:手把手辅导的蜜月期(Hand-Holding Honeymoon)
每个即将进入编程行业的人都满怀期待,这很正常。
一方面,你在年轻的时候总听流言说编程如何如何难,但它们就像老奶奶讲的吓人故事,是用来唬孩子们去学习社会科学而已。
而另一方面,&学习编程&运动已经取得了很多成就,它打破障碍并向人们展示编程其实也没那么可怕。 像&、和&&这样触手可得的工具,它们可以确保你(甚至任何人)不仅能学会编程,还能成为一名熟练的开发者。
突然间,问题不再是对编程的恐惧,而是抱有过多希望,期望太高。
而且最重要的是,这些入门工具足以像教小孩过马路那样,引导你学习那些令人头疼的变量和条件语句,以及初级编程语法。当你不断完成游戏般的挑战时,你的自信会随之大增。说不定你最后就学会了编程!学会编程并不难,基本上你已经是一名开发者了。
手把手辅导的蜜月期(The Hand-Holding Honeymoon)
现在问题来了,你正处于编程初期阶段,我喜欢称之为&手把手辅导的蜜月期&。尽管你可能感觉成功就在不远处,但其实你才刚踏出第一步。一切才刚刚开始&&
描绘未来之路
在我们一头扎进第二阶段之前,先来仔细看看整个过程。
在这篇文章中,我将介绍典型的编程之路上必须经过的四个阶段,以及如何平稳渡过每个阶段。你也会看到资源的丰富程度和知识范围(各个阶段必须掌握的)的广度这两个关键因素是如何在编程之路上起到决定性作用的。
旅程艰辛就为了达到找工作的水平,这个艰苦的过程可以描绘成你的自信心随能力增长的变化曲线。
学习编程之旅&
由于自信和幸福感紧密关联,而且只有在自信和能力相匹配时,才能正式地说你可以&上岗&了,因此,上图中的自信和竞争力是息息相关的。
随后我们会观察剩下的三个阶段中存在的独特挑战,但每个阶段本质上都包含了上面的这种关系:
手把手辅导的蜜月期(The Hand Holding Honeymoon),这个阶段充满了乐趣,面对看似棘手的问题,那些高质量资源的鼎力相助让你轻松取胜。虽然你主要学的是基础语法,但完成的工作会让你很有成就感。
充满迷惑的下滑期(The Cliff of Confusion),在这个阶段你会痛苦地发现,手把手辅导的阶段结束后,事情变得更困难了,实际上你没法独立做任何事。在你试图重新振作时,你面对的首要挑战不仅是要反复调试,而且你还不懂怎么问问题。
绝望的迷茫期(The Desert of Despair),这个阶段漫长而又孤独。在这个沙漠(充满困惑迷茫就像身处沙漠)中几乎没有路,每个方向都看似正确,但你却总是在绕圈,你极度渴望找到办法逃出生天。警惕&狂燥中出现的海市蜃楼(Mirages of Mania)&,它们就像是沙漠的迷魂曲,将引诱你误入歧途。
煎熬的上升期(The Upswing of Awesome),这个阶段里你终于找到了一条路走出沙漠,并且总体清楚了如何创建应用程序。但你的代码仍然很封闭,到处都是漏洞,就像纸糊的房子一样摇摇欲坠。你的网站可以运行并且你已经掌握了几种有效的模式,这些都让你的信心大增,而且你的朋友们都在称赞你的网站很酷,但实际上你知道底层连自己都不忍直视。你根本不知道该如何写出&可发布&的成熟代码。该如何弥补这个差距,从而找到一份真正的工作呢?
在过去这些年里,我已经面试过成百上千的开发者,他们都心怀抱负,并且不断给我说着相同的经历。我写这篇文章的目的,是希望你能够在学习的路上擦亮双眼,做一个详细的计划避开很多前人都曾掉入过的陷阱。
让我们回到阶段二吧&
阶段二:迷惑的下滑期(The Cliff of Confusion)
你正处于阶段一,也就是&手把手辅导的蜜月期(Hand-Holding Honeymoon)&,你正在获取各种奖励徽章并完成编程挑战,同时你的自信和能力都在蹭蹭地上涨。情况也不是很糟糕&那大惊小怪些什么呢?因为你的自信已经失去理智地膨胀到了极点。。。。。。
小心了!你即将踏出悬崖,多少英雄在此折腰沦为&编程太难&一族。这错误的一步发生在你第一次在键盘前坐下,打开文本编辑器并试图从零开始创建一个工程,但你却不用任何很赞的线上编辑器,也不用别人的代码框架或寻求有用的提示。
简直扯淡。
也许你能照着自学教程依葫芦画瓢,但是没有人可以一步登天,而且从某种意义上来说,你要徒手从一个空白的文本文件开始简直是异想天开。你才刚刚进入学习的第二个阶段,接下去你的自信将跌落谷底,这也是为什么我称之为&困惑的下滑期(Cliff of Confusion)&。
困惑的下滑期(The Cliff of Confusion)
你开始创建工程。你抓耳挠腮却只找到了一个勉强能用的方案,但总觉得哪里不对。为了你的(也就是你的大工程)能表现不错,你陷入了和bug的战争之中。似乎只有通过一键谷歌才能解决每一个问题,你那些过去能搞定问题的自信荡然无存。
Buuuuuuuuuuuuuuuuuuuuug!!!
不论是作为教育者,还是作为这个行业的从业者,在大家看来这个阶段都格外令人沮丧。任何人写的程序都可能有bug,但我们还是希望你能有所进步,因为最不可能的地方也能成就最伟大的成功。
在阶段一结束时,学生们被迫进入了阶段二。他们必须飞跃这个阶段,但太多有潜力的人却不去掌握真正有用的技能,而是一味地停留在挫败的情绪中。
可怕的是,你甚至还没有遇到过真正棘手的事情。阶段二的结束还早得很。当你解决掉足够多的bug结束了大部分的痛苦,并且已经完成了几个工程,尽管这标志着阶段二的结束,但总体来说你也仍然是刚上路而已啦。
对那些真正准备从事这个行业的人来说,他们通常会在渡过阶段二以后决定是否全身心投入这个新生活。但太多的人放弃了。而不幸的是,你现在才刚到阶段三(&绝望的迷茫期&)的入口。
起作用的两个关键因素
那么前两个阶段的真正区别是什么呢?为何相比阶段一(手把手辅导的蜜月期)来说阶段二(困惑的下滑期)给人的感受会如此糟糕?如果你的经历很像我们前面描述的那样,只要理解了这两个问题,你就能释怀了。
从根本上来说,每个阶段都有两股关键力量在起作用,那就是资源的密集程度和知识面的广度。在探索它们对阶段三的影响之前,我们先来看看这两个因素到底是什么。
因素一:资源密集度
正如我前面所说,一开始你会感觉有遍地的资源在引导你上手编程。事实也确实如此!
搜索&&,你会得到一大堆有用的工具、文章、视频以及自学教程。而且,老实说它们都很棒!从未有过如此多的方法指导人们学习编程。
不幸的是,后期可供使用的资源太少了。每一个从初学者成长到当前状态的人都能体会这其中的差距之大,相比刚开始入手,当你试图完全依靠自己创建工程时,能利用的资源就少得多。
进入阶段三后需要了解的知识猛然陡增,恶化了上面的问题,这也是为什么我把这个阶段称之为&绝望的迷茫期&。一旦你度过了这个阶段,并且开始了解你需要搜索的东西,你就会找到很多资源,还能使用一些技术工具,如专业博客和视频讲座。矛盾的部分仅仅在于明白该问什么问题。
下图显示了各个阶段中的资源密集程度(线条越密集表示资源越多):
各阶段的资源密集度&
因素二:知识面的广度
现在我们来聊聊一个相关的话题&&知识面的广度。它表示你在每个阶段中必须学习的新知识的总体广度。下图就显示了这个因素在每个阶段中的情况:
各阶段所需知识的广度
刚开始学编程时,你需要理解的东西很少。不论你的目标是什么,不论你用什么编程语言,也不论你之前是做什么的,每个人要做的都是搞清楚什么是for循环,如何创建条件语句,以及其他一些编程语法的基础结构。总体来看也没多少基础概念,因此阶段一所需要的知识面广度很窄。一旦你学完了基础部分,就需要去了解一些更复杂的东西,比如理解错误以及何时使用那些你已经会用的代码,此时你会发现需要学习的额外知识瞬间多了很多。这个时候情况变得不同了,因为一个明确的问题不一定有一个绝对正确的答案&&事情开始变得棘手。
当你进入第三个阶段后,所需的知识面广度就更宽了。你需要理解该使用哪些工具,该学习什么编程语言;学习相关的计算机科学基础,如何写模块化的代码;学习面向对象的编程,学习好的代码风格,以及学会寻求帮助(以上仅列举几个例子)。每一次在&或&上进行搜索都让你大开眼界,找到的东西多得让你喘不过气,都是些你不知道但感觉自己应该了解的知识。
你不知道自己不懂哪些东西。
只有当你终于摸到了一些门道并结束这个&荒漠之旅&以后,所需的知识面广度才会再次缩小。那时,你已经选择了某种技术,并了解了它在这个行业的生态系统中所处的地位。你最终学会了那些你以前不懂的东西(可以说相当了解),也知道如何解决问题。随着你深入学习和事业逐渐起步,你将越来越专注于自己领域的技术。
阶段三:绝望的困惑期(The Desert of Despair)
理解了上面两个因素后,你会发现阶段二仅仅是个转折点。快速提升的知识面广度和急剧下降的资源密集度让你在这个阶段倍感痛,因此我称它为&绝望的沙漠&(身处这个阶段犹如在沙漠中一样,迷茫得团团转却找不到方向)。
本质上来说,你知道这个沙漠肯定在某个地方有出口,但你就是不知道怎么找到它。
绝望的沙漠
这个沙漠之旅路途遥远,而且危机四伏。你会发现自己总是沉溺在虚无缥缈的东西里,许多诱人的资源看似包含了你要找的对策,实际上它们只是又一次地让你深陷在了无边无际的砂砾之中。
或许你已经在&、&或&上注册了几门课程,又或许你找到了一个声称能一路指导你的自学教程。你自以为吸取了阶段一(手把手辅导的蜜月期)的经验教训,明白问题并不是那么好解决,但还是忍不住去寻找帮助。你注册的课程信誓旦旦地保证,一定能让你达到前所未有的高度,对此你还信以为真。无论别人怎么说,你都不可能只花一个星期或一个月的时间,也不可能就只上个学院课程就学会这些东西。因此,别再相信那些谎言!
这个阶段要学的东西很多,远超出你可能预期的那些。尽管你能让许多app运行起来,但要成为一名真正的专业开发人员需要做的更多,在其中你很容易感到迷茫失落。你每一次进步都难以衡量,你如何知道自己该学什么?甚至这些东西是不是你该学的呢?
就算你走对了方向,却仍然很难衡量你取得的进步。在你能做出外形和功能都符合自己期望的东西之前,你可能会感觉很迷茫。但是只要坚持不懈,并且保持正确的方向不跑偏,终有一天你能将那几个&货真价实&的处女作发布出去,你终于开始上道了。一路走来确实很艰难,但你开发的这个web东东其实也没有那么糟。。。。。。一切都在变好!
阶段四:煎熬的上升期
你已经成功穿越了荒漠,也越来越自信。你Google搜索的技能(&)越来越了得,也能理解那些细致入微的专业博客文章和视频讲座。或许你已经深入掌握了某一种编程语言或框架,并且有自信能创建并发布一个能运行的应用。
这是&煎熬的上升期&:
煎熬的上升期(Upswing of Awesome)
表面看上去一切都OK,但你知道底下还差得远呢。
虽然你能让那个应用程序运转起来,但底层都发生了什么?你的代码里充满补丁,最糟糕的是,你甚至不知道哪部分很糟糕,也不知道实际上哪部分将运行无误。你不时地取得成就,同时也犯了许多菜鸟级错误,更糟的是,你渐渐开始怀疑怎么还是搞不清自己在做什么。
这是个两极化的阶段。一边觉得自己是个无所不能的开发者,另一边又觉得自己是个效率极低却深陷其中的狂热新手。走得越远,越是感觉惶恐不安,生怕哪天有人 &揭穿&你代码中的诡计。
你觉得自己应该算是一名开发者了,但你现在写的代码和在&职业&工作环境下写出的代码相比,差距实在是太大了&
尽管艰难,最终你一定会成功。那时的你心情澎湃,浑身充满力量,绝望的荒漠已经过去,而令你困惑迷茫的阶段二也成了遥远的回忆。终于,你是真的在走上坡路:你的学习速度更胜从前,也更理解如何学习编程。尽管历尽艰难,但你会经历足够多的最佳实践,把那些宝贵的知识凝结成产品级的技能集。这个可怕的上升期会比你预想的要长,也会让你感觉看不到头,因为你已经离终点如此之近&&但你肯定会到达的。如果你在正确的道路(确定未来要做什么)上足够坚持,一定会有人愿意付薪水给你,让你继续学习。工作机会是你的了!
现在你已经看到了前方的路,也知道了为何会一路艰辛。将前面描述的四个阶段和过程中对它们起作用的两个要素结合起来,就得到了下面这个图表:
对这个过程的了解归了解,去经历又是另外一回事。你还是先迈出正确的第一步吧。
如何通过每一个阶段
整个旅程看似艰难,但坦白地说,学习编程的过程通常都是这么艰苦的。了解自己的目的很重要,尤其当你孤军奋战的时候。但你不会只能靠自己的,因为大部分问题都有捷径可走。学习编程没有人们说的那么简单,但也没有你在绝望时想的那么难。
我会在这部分介绍一些重要的策略,你能利用它们保持一个正确的方向。
你在各阶段取得的进步&
I:如何顺利通过手把手辅导的蜜月期(Hand-Holding Honeymoon)
丰富的可用资源让阶段一充满了乐趣。这些资源能够在接下来的阶段中,很好的培养你的逻辑思维。现在是学习编程的大好时机,记住这两个建议,享受编程的乐趣吧!
&&从尝试多种不同的学习资源入手,找到最适合自己的学习方式和最让自己感兴趣的项目类型。最适合你的可能是的快速挑战、&的在线练习,或者是Chris Pine的书《》和Code School里那些古怪的&训练。刚开始你要思维开阔,不要理会那些告诉你应该学什么的建议。。。。。。在这个阶段学什么都是一样的。
&选择一个,一旦发现它适合自己就要坚持下去。完整学习整个入门教程,你会从中学到写基础脚本和应用需要的所有基础知识。接着,就要准备好开始独立地创建工程。
II:如何顺利通过困惑的下滑期(Cliff of Confusion)
几乎每个人都要经历这个阶段,因为成为一名开发者的唯一途径就是不断去开发。你可以通过注册一些自学教程(或那些冒充是&完美课程&的自学教程)来模拟创建工程,但最终你还是要自己动手,这么做不过是拖延了时间。自学教程能很好地让你从更个性化的例程中得到启发,但是在某些情况下你必须脱离过多的辅助,独立解决问题。
如何过渡到独立地创建工程,下面有三个建议:
和他人一起工作,哪怕同样是菜鸟。你会惊讶地发现,两双眼睛更容易调试出一个不可能的错误。
&阅读他人的代码,熟悉好的模式。尽量理解为什么作者这么做。同样的道理,不读书是不会想成为一名小说家的,对吧?我将在下一篇文章里集中讨论这个问题,但现在,请仔细注意其他人对任何小问题或工程提出的解决方案。
从小事做起,不断尝试。对于将来,你应该想过做一些有趣的大工程,但你也必须适应调试的过程,搜索一些带有小型挑战的学习资源。经验是无可替代的。
III:如何顺利通过绝望的困惑期(Desert of Despair)
一旦适应了调试过程,最令你头疼的问题就是难以获取所需知识,以及学习所有这些知识必须付出的代价&简直就像处于令人绝望的沙漠里。这种情况下,你真正需要的是一条有效的前进路线。而Mirages of Mania代表那些吸引你的捷径、诱惑你冒险的新世界和速成计划,它们最终只会浪费你的时间。
因此,要逃离这个沙漠的关键在于:
拥有一个强烈的目标想去实现,否则,什么有趣但没用的东西都学的话,最终不过瞎忙活一场。如果你在学习之外还有充裕的时间,请忽略这一条。。。。。。
找到一条有效的路径能直达你设定的目标,并且要验证其可行性。你必须深入思考&这个方法到底能不能帮我实现目标?&,而不是光看那些课程网站或书皮上打出的营销口号和看似真诚的笑脸。
专注,避免分心。因为你如果是个对学习编程很有兴趣的人,那你肯定也会对所有美妙的事情感兴趣。当编程遇到了困难,你需要进一步解决这个问题,而不是另起炉灶。
如果能确定一条路并坚持走下去,你最终一定会进入到下一个阶段,而不是花费了数月或数年,最终只是徒劳。
IV:如何顺利通过煎熬的上升期(Upswing of Awesome)
这个阶段是最棘手的过渡阶段之一。尽管你能开发出应用程序,但你实际上想成为一名web开发人员。通过这个阶段并找到工作,你需要做三件事情:
为编程寻找最佳实践,并效仿。你需要理解一个普通方案和最佳方案之间的差别。自己一味闷头钻研,远远比不上别人在真实工作环境下写出的产品级代码,而最佳实践样例很好地体现了这其中的差距。
检验你的假设。因为你可能回避了一些自己知识体系中的漏洞,甚至你自己都不知道有这些漏洞的存在。你需要检查并修复这些漏洞。
&正确对待那些并不吸引人的技能。尽管它们很少被强调,但是你要过渡到一个专业环境,它们还是相当重要的。这些技能包括测试、数据建模、架构和部署,我们很容易忽略它们,但它们都是优秀开发的基础。
要做到上面这些并通过最后阶段,关键是要不断获得他人的反馈。完全自学或许富有成效,但难以写出易读、模块化以及可维护的代码,这就使自学者在职业环境中没那么有吸引力。你需要和和那些会怀疑你假设的人们一起工作,他们会提出尖锐的后续问题,并迫使你对自己的知识体系进行查缺补漏。
那么&&这条路能行吗?
这些可能听起来让人崩溃,但我保证,在你之前已经有很多人坚持不懈地通过了这个旅程。理解前面的路,你就能有一个明确的计划,也会知道如何获取真正有用的帮助,这些都为你踏上这个旅程开了好头。
很显然,这篇文章没有按我们想的那样,深入挖掘旅程中的每个阶段,也没有提供详细的建议告诉你该怎么做。即便如此,由于我们熟知这个旅程并且对此抱有极大的热情,因此,我们希望倾尽全力帮助大家。
我们的是专为衔接整个过程而设计的,但如果你有兴趣自学这个课程,我们将在未来的博客文章中对此进行调整和深入探讨。
在此我们进一步探讨了各种问题(从寻找导师,到如何缩小差距得到一份web开发的全职工作),如果你也想尝试一下,就在下面注册吧。因为,尽管前方的路充满挑战,但你不是一个人在战斗。
祝你好运!
特别感谢Peter DePaulo、Javier Noris、 Michael Alexander、 Andy Brown、 Saul Costa、 Phil Nachum和分享你们的经历,以及帮助修正这些观点。
上一篇:下一篇:
评论功能关闭
根据国家法律法规要求,本站暂时关闭文章评论功能。开放时间不确定。我们将谋求一种可以让大家更好的发表意见的方式。
根据国家法律法规要求,只有实名认证后才可以发表评论。
Quincy Larson曾经只是个穿西装坐办公室的家伙,有一天,他决定要学习编程。于是,他到处打听关于编程的事情。他从Ruby入手,接着很快学了Scala、Clojure和Go等多种其他的编程语言。他用过Emacs和Vim,甚至还学过Dvorak键盘布局。他不仅学会了Linux,涉足过Lisp,并且有超过半年的时间靠在命令行下编 Python 代码为生。 Quincy就像龙卷风中的一片叶子,别人给他的建议让他在编程的世界中晕头转向,直到他学完了能想到的每一个在线教程。尽管在故事的最后,Quincy得到了一份软件开发的工作,但他说:
我认为,我碰到过的程序员们看似一帆
分享到微信
打开微信,点击顶部的“╋”,
使用“扫一扫”将网页分享至微信。
请将我们加入您的广告过滤器的白名单,请支持开源站点。谢谢您。}

我要回帖

更多关于 市场营销学自学要求 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信