请求大神这怎么自学编程的大神

随意步入一家书店满目都是《7忝搞定Java自学编程的大神》这种速成书目,同样的书籍还包括Visual Basic、Window系统、Internet互联网等等它们都承诺在几天,甚至几小时之内就让你能够学会相關技术我在亚马逊网站上做了如下的条件检索:

出版日期:1992年以后,题目关键字:“天”“学会”或者“自学”

然后得到了248条搜索结果。头78条都是计算机类书籍(第79条记录是《30天学会孟加拉语》)我将“天”关键字换成了“小时”,不出意外地搜索到了253条记录其中頭77条记录是计算机书籍,第78条的搜索记录是《24小时语法和样式自学手册》在总共搜索到的头200条记录中,有96%是计算机书籍

从上面的搜索結果可以看出来,要么就是人们对计算机技术的学习如饥似渴要么就是计算机技术实在太简单,不费吹灰之力就能学会相比于计算机技术书籍的如此“速成”,在其他领域的书籍里你却很难找到诸如:“三天学会贝多芬”,或者“五天搞定量子力学”这种速成教材,甚至连《狗狗喂养手册》这种宠物指南都鲜有“几天搞定”的说法。Felleisen et al.在他们的著作《如何设计程序》一书中明确指出了这种“速成”嘚趋势并评论到:“垃圾的自学编程的大神技术当然非常容易,傻子都能在21天之内学会哪怕他天生就是个白痴。”

让我们来仔细看看《》这种速成教材实际上意味着什么:

●学会:在3天时间里你几乎没有时间去写任何有意义的程序就更不要谈什么从自学编程的大神中獲得经验和教训这种事情了。你也不可能有时间和有经验的程序员一起工作和交流也不会体验到在真正的C++环境下工作是什么感觉。长话短说吧你就是没时间,也学不到什么所以这种书籍最多也就让你有个粗浅的印象,但是绝对不可能有深入的理解就像亚历山大教皇說的那样,“浅尝辄止是很危险的”

●C++: 如果你有其他自学编程的大神语言的基础,那3天之内你也许可以学到C++的一些语法但即使是这樣,你还是无法了解如何使用该语言自学编程的大神简言之,如果你之前是一个Basic程序员那么经过3天的学习,你会成为一个“能使用C++语法编写Basic风格程序的程序员”不过这样是没法发挥出C++语言本身的优势的(说句不好听的,你连怎么犯C++的典型错误都不会)仅仅知道一点語法意味着什么呢?Allan Perlis曾经说过:“一个无法改变你思维方式的自学编程的大神语言是不值得学习的”;另一种可能性是,你可以只学一點点C++知识(类似的或者一点点JavaScript,或者一点点Flex Script),然后就可以利用现有的工具制作应用接口完成特定的自学编程的大神任务了。但是这样的行為并不意味着你“会”自学编程的大神了你只是会使用这个工具完成任务而已。

●3天:很不幸3天是远远不够的,往下看你就知道了

嘚一系列调查研究显示,在各个领域内要想获得专业级别的水平,大约需要10年时间的努力参与此项调查的领域包括:国际象棋,作曲发报,绘画钢琴演奏,游泳网球等。科学家们从神经心理学和拓扑学的角度对这些领域进行研究并得出结论。若要在某一领域内達到专家级的水平其关键在于“审慎地重复”,也就是说并非是机械地,一遍又一遍地练习而是要不断地挑战自我,试图超越自身當前的水平通过不断的尝试挑战,并在尝试的过程中和尝试之后对自身的表现进行分析和总结吸取经验,纠正之前犯过的各种错误紦这一“审慎”的过程不断重复,才能取得成功

所谓的“捷径”是不存在的,即使对于莫扎特这种天才来说也没有捷径可走,尽管4岁僦开始作曲可是他也花了13年的时间,才真正地写出了世界级的作品再举一个例子,甲壳虫乐队(The Beatles),他们似乎在1964年凭借一系列热门单曲囷其在艾德沙利文秀(The Ed Sullivan show)上的演出一炮而红但是你也许不知道,他们早在1957年就在利物浦和汉堡两地进行小规模演出了而在此之前的非囸式演出更是不计其数。甲壳虫乐队的主要成名曲《Sgt. Peppers》则是1967年才发行的。公布了他对柏林音乐学院所作的一项研究的报告该研究对比叻一个班里的学习成绩为上、中下三个档次的学生,并逐一询问他们进行音乐练习的时间

这三个档次中的所有人大约都是在5岁的时候开始练习音乐的,一开始的时候大家练习音乐的时间都差不多大约一周2到3小时。但是到了八岁左右大家的区别就开始体现了。后来成为癍里最好的那一部分学生开始比别的学生练习得更多大概每周6到9小时,12岁的时候每周8小时14岁的时候每周16小时,往后则越来越多直到20歲左右,他们每周练习音乐的时间已经超过30小时了在20岁的年纪,那些精英级别的演奏家们都有累计超过10000小时的音乐练习时间相比之下,仅有部分优等生能达到8000小时的累计练习时间而那些音乐教师级别的学生,他们的累计练习时间只有4000小时左右

所以,也许这个让你能達到专业等级的神奇时间应该是10000小时而不是10年。(Henri Cartier-Bresson ()说过“(作为摄影师),你所拍摄的头10000张照片都是垃圾”但即使是垃圾作品,他拍一张照片也要花接近一小时)Samuel Johnson ()认为这个时间应该更长:“在任何一个领域要想做到极好,势必穷尽一生的精力,否则根本无法企及” 這段话翻译成英语就是:“生命很短暂,但是技艺却很高深机遇转瞬即逝,探索难以捉摸抉择困难重重”。这段话是用拉丁文写的茬拉丁文里,ars可以翻译为“技艺”或者“艺术”但是在古希腊文里,ars只能做“技能”的意思而没有“艺术”的意思。

下面是我列举的程序员成功“食谱”

●沉醉于自学编程的大神自学编程的大神是为了兴趣。保持这种充满兴趣的感觉以便于你能将其投入到你的10年/10000小時的自学编程的大神时间中。

●程序. 最好的学习方式是“”更技术一些地说:“一个人在某个专业领域方面能够达到最高水平,并不是洇为这个人经验增长了以后而自动获得的而是这个人为了进步所做出了专门的努力之后产生的结果。”“最有效的学习包括如下几个要素:明确并且难度适当的任务适应学习者个人情况,及时的信息反馈有重新开始和改正错误的机会)(p. 20-21) 《》这本书提供了上述有趣的观點

同其他程序员交流,多阅读其他人写的程序这些远比你看书或者上培训班重要

如果你愿意的话,就选择去读一个计算机科学专业吧(当然你还可以去念这个专业的研究生)如果你能做到这点,那么你就有机会找到一些需要计算机学位认证的工作也会让你对这个荇业有更深的理解。不过如果你不是上学的料,那么你可以(当然需要有足够的毅力)靠自己学习或者通过工作来积累经验。无论你采用哪种途径光依靠书本是远远不够的。“如果说仅仅靠学习油画和调色技术无法创造出顶尖的画家的话那么光学习计算机科学课程哽不能造就顶尖的程序员。”Eric Raymond这样说过,他著有《新黑客字典》一书我所聘用过的最好的程序员仅仅只有高中文凭; 他写了很多伟大的軟件,他有他自己的新闻组并且通过股权赚够了钱,还开了家属于自己的夜店(作者说的这个人是Jamie Zawinski,他是网景浏览器(Netscape)的早期开发這者之一也是开源项目Mozilla和的主要贡献者,他开了一家叫做DNA_lounge的夜店位于旧金山的SoMa区——译者注)

与其他程序员一起做项目。在某些项目中要尽量做到最好在某些项目中却别做那么好。当你是最好的时候你的领导能力就会得到锻炼,并激发你高瞻远瞩的视野当你做嘚不好的时候,你就能知道你的领导怎么做事以及他们不喜欢哪些事(因为领导总是把那些他们不爱做的杂事丢给他们认为不得力的人詓做)

尝试跟随其他程序员一起做项目。尝试去理解其他人所写的代码看看如果你无法找到代码的作者本人的情况下,理解和修正他寫的代码需要花费什么样的代价同时也思考,如何规划你自己的程序代码让它们更容易被其他人理解和维护。

至少学习半打自学编程的大神语言包括一种支持类抽象的语言(例如Java或者C++),一种支持函数抽象的语言(例如Lisp或者ML),一种支持语法抽象的语言(例如Lisp),一种支持声明式自学编程的大神的语言(例如Prolog或者C++模板)一种支持协同程序的语言(例如Icon或者Scheme),一种支持平行并发自学编程的大神的语言(唎如Sial)

牢记“计算机科学”中包含着“计算机”这个词。了解计算机需要花多长的时间执行一条指令花多长时间从内存中获取一个字(word)(包括缓存命中和不命中两种情况),如果连续从磁盘中获取数据时间消耗如何?以及需要花多少时间才能再磁盘上定位一个新的位置

尽量参与语言的标准化过程。往大了说你可以试着加入ANSI C++委员会这样的专业组织,往小了讲你也可以从自己的代码规范入手,限定玳码缩进是需要2个空格宽还是4个空格宽无论采用哪种方式,你都需要了解其他人对于语言的喜好以及他们的喜好的程度,甚至你要知噵他们为什么产生这样的喜好的原因

有良好的意识,能尽快适应语言标准化的成果

要掌握上面所说的所有内容,光靠看书学习应该昰很难做到的当我的第一个孩子出生的时候,我几乎阅读了市面上所有的《如何…》指南书籍但是我读完了以后还是觉得自己是个菜鳥。30个月以后我的第二个孩子快出生时,我难道还要做一个书虫么不!相反,我此时更依赖我的个人经验这些经验相比于那些上千頁的书籍,则更加有效和让我放心

Fred Brooks所著的著名的论文《没有银弹》里向我们揭示了发现和培养软件设计人才的三步骤:

1.有组织地辨认顶尖的软件设计人才,越早越好

2.安排一个职业导师为其职业前景指点迷津,并谨慎对待自己的职业履历

3.为成长中的设计师们提供机会让怹们能够互相激发促进。

即使一部分人已经具备了成为优秀软件设计人员的潜质也需要经历工作的慢慢琢磨,方可展现才华则说得更加直接:“任何人都可以被‘教’成一个雕塑匠,但米开朗基罗则被‘教’如何不要成为一个雕塑匠因为他要做的是雕塑大师,这个噵理放到自学编程的大神大师身上同样管用。”Perlis认为伟大的软件开发人员都有一种内在的特质,这种特质往往比他们所接受的训练更重偠但是这些特质是从哪里来的呢?是与生俱来的还是通过后天勤奋而来?正如Auguste Gusteau(动画电影《料理鼠王》里的幻象大厨)所说“谁都能做饭,但只有那些无所畏惧的人才能成为大厨!”我很情愿地说将你生命中的大部分时间花在审慎地练习和提高上,这很重要!但是“无所畏惧”的精神才是将促使这些练习成果凝聚成形的途径。或者就像是《料理鼠王》里那个与Gusteau作对的刻薄的美食评论家Anton Ego说的那样:“不是任何人都能成为伟大的艺术家,不过伟大的艺术家在成名前可能是任何人。”

所以尽管去书店大买Java/Ruby/Javascript/PHP书籍吧;你也许会发现他们嫃的挺管用但是这样做不会改变你的人生,也不会让你在整体经验上有什么提高24小时,几天几周,做一个真正的程序员光靠读书鈳读不出来。你尝试过连续24个月不懈努力提高自己么呵呵,如果你做到了好吧,那么你开始上路了……

  • 前几天一位博主发了一张她詓吃海底捞时拍到的照片,并配文: “去了那么多次海底捞第一次知道会备注你的外貌特征,好...

  • 为什么转行 因为混得不好 在成为程序員之前,我干过很多工作由于学历的问题(高中),我的工作基本上都是体力活包...

  • Python的运行速度确实没有C或者Java快,但是有一些项目正在努力让Python变得更快 Python代码简...

  • 刚刚晋升为管理者的人,往往会面临一系列的问题和考验: 自己没有管理经验万ー下属不服该怎么办? 怎样化解團队内外冲...

  • 为什么转行? 因为混得不好 在成为程序员之前,我干过很多工作由于学历的问题(高中),我的工作基本上都是体力活...

自学自学编程的大神速成从小白箌大神保重身体!身体可不仅仅是你脑袋的载体如果你想保持专注和高效的学习,就要足够的睡眠和练习而不是狂饮和能量饮料。很哆人只是光看理论知识或者在一些视频上听着别人在讲解知识。看完听完一知半解,并没有付出自己实际行动去摸索那仅仅只是在腦海里存储不久的片面知识。只有动手去操作联系,你才能正在掌握这些原理你想要学好,就不能懒只有极少部分的天才,才能一看就会了的吧如果你是那类人,我想你也不会点开这篇文章来看了

妙小程图形化客户端是妙小程少儿自学编程的大神推出的图形化自學编程的大神pc客户端软件,专注于4-16岁青少儿的自学编程的大神教程采用图形化可视自学编程的大神,全场景互动式学习培养孩子的自學编程的大神兴趣,激发自学编程的大神逻辑思维有需要的朋友不要错过哦!

课程还对标国内自学编程的大神赛事、等级考核考试,让駭子每一个阶段的学习效果获得更加直观的展示更能够为孩子考试、升学、留学助力。课程中穿插的项目式(PBL)教学能够提升孩子的團队协作能力及沟通能力,锻炼孩子独立完成自学编程的大神项目的能力

别问我为什么学GIS要会自学编程的大神!GIS要是还算得上一座矿的話,自学编程的大神就是矿灯没它行么?当然行了大佬不都是剁两脚,抓把土闻闻说:有戏然后一群人带着矿灯在那吭哧吭哧的捣皷。明白了吧咱们还没那个段位,但是大佬也是先从写程序开始的就我能接触到的界内三巨头,是真的三巨头不能说他们是谁,但qianren計划都知道吧,他们也写没那么规范罢了,当时选做导师见面就被骂,骂完让回去学程序现在明白了,就是想让我白干活......题外话了

囿人要抬杠,说GIS分支多每个分支都有自己的牛pi软件,acrgis啊ENVI啊,QGIS啊是,它们很强大你觉得它强大是因为每次都是老师,boss直接发你一个数據文件,比如 shp再不济,发你个影像你处理处理,说实话你们楼下天天带孙子的阿姨,培训一天都能学会矢量化还要你干嘛??還老玩手机开小差的。你无法替代是因为你能把txt里面的数据添加到属性里面要是你还手动用鼠标一个一个添,好了我不说话,头上帶个灯总比摸黑强吧

我们不是自然地理,他们那个活google earth就能完成95%的从学科历程上,算得上一门学科的话我们都是随着计算机的发展而發展的,明白了吧自学编程的大神对于我们就是鞋子,穿不穿鞋都能走路走多快,走多远就得看人了我技术算得上很差了,所以我┅直告诉学计算机的人我是学地理的告诉学地理的人我是学计算机的,但是我一直告诉学计算机的人我说我虽然技术比不上你,但是領导都喜欢我你看,我给领导做的那张地图那张xx分布图,领导在会议上一放顿时心里乐开花,想想谁不爱指点江山的感觉啊。但昰我自己的明白啥玩意儿,一点技术含量都没有

在控制台里,我们可以通过彩色的文字、背景、空格来表现出比较抽象的场景。掌握了这个方法我们就可以尽情发挥想象,做出各种各样的了而且麻雀虽小五脏俱全,制作控制台有助于我们对整个流程有完整的掌控自己设计逻辑、渲染循环,让我们对真正引擎的理解能更上一层楼

其实知乎上有一些非常厉害的控制台的例子,但是那些作品主要是鼡到了一些字符渲染技术将复杂图形为字符表示……其实复杂的东西都有一个简单的内核,如果咱们把基本的控制台操作搞定了就离夶佬们近了一大步。毕竟是用来玩的不是用来膜拜的。

我要回帖

更多关于 自学编程的大神 的文章

 

随机推荐