`

给即将入行的程序员的一封信

阅读更多

给即将入行的程序员的一封信


  首先,欢迎来到程序员的世界。在这个世界上,不是有很多人想创造软件并解决问题。你是一名hacker,属于那些愿意做一些有挑战性的事情的人。

  当你不创造东西时,你只会根据自己的感觉而不是能力去看待问题。

  对于下面的文字你不必完全接受,所有这些来自一个其貌不扬的程序员。我喜欢把事情做到最好,而不是对原来的东西修修补补。

  仅仅是因为爱好开始做一些创新,这是一个很好的开始!如果你说我要先学习一下再开始做那么你永远不会真正开始。每个人都需要从某个地方开始,所以现在打开你的编辑器开始写代码吧。

  下面是一些很重要的建议,虽然有人并不认同,但我保证你看完我的分析以后会站在我这一边。一开始,先不要管算法和数据结构。大多数简单的程序不需要用到算法和数据结构,所以当你真正需要时再去学习。编程一段时间以后,你就会知道在哪些地方用到他们。这时知道算法的名字并了解它们的功能,然后找一些相关的论文去理解算法并动手编程实践。如果没有现成的函数库(其他程序员提供的可重用代码),你用自己喜欢的编程语言来实现它。

  0. 选择一门好的编程语言,一门你自认为可以用它快速地做出一些有用东西的语言。

  不要选择C语言作为你第一门编程语言。也许选择C语言会给你一种过时的满足感。虽然它比早期的汇编语言提供了更好语法描述,但是今天C(或者C++)不是能够快速编写软件的语言。毫不偏袒的说,我建议你学习一种动态语言。选择一种你觉得语法(文档)让你使用起来更舒服的编程。为此,你可能需要花费一些时间来在几种不同的语言之间进行比较。这么做目的不是为了让你感觉更好或者让编程更容易。更快地完成自己的作品并且能够看到成果,才是激励你编程的源动力。不要选择一门需要某种重量级的IDE(IDE是一种能够帮助你编写并运行代码的工具)才能轻松编程的语言。你所需要的仅仅是一个文本编辑器。(注:原文并没有标号,是我们加上的,请大家别忘记了哦,我们是从零开始数数的。:) )

  1. 选择一个好的编辑器。

  编辑器对程序员而言,就是像是弓对弓箭手一样重要。这里有一些推荐的编辑器:

  • SublimeText 2 如果你刚开始编程,推荐使用SublimeText 2
  • Emacs 学习曲线陡峭,快捷键复杂。如果你想定制自己的使用习惯,需要学习Emacs Lisp.
  • Vim 不仅操作简洁而且它默认包含在linux的发行版中,所以深受大家欢迎。我开始使用了2年Emacs。由于Emacs的快捷键操作过于复杂,我的双手开始经常疼痛,这迫使我转向了Vim阵营。了解Vim的快捷键是非常有必要的。当你在远程的服务器上编辑代码时,你唯一不需要安装的编辑器就是Vim。

  注意!Emacs和Vim可能已经成为成为古董了。但是,它们都具备一些现代编辑器多不具备的功能。

  2. 选择一个你可以从中学到东西的操作系统

  Windows不会教会你任何东西。使用Windows你唯一学会的就是打开一个exe(可执行)文件来安装软件和使用它。可能刚开始的时候你会觉得很酷,但是长远来看,如果你立志成为一个web开发人员,可能还是要具备基本的linux知识,尤其是当你要发布程序的时候。Linux也允许你根据自己的要求来定制程序。Macs也很酷,但是我认为你现在经济上还负担不起。

  3. 不要通过复制粘贴来做备份

  一个新手程序员通常会把文件复制粘贴到一个临时目录下面来进行备份。这也许也是他们唯一知道的方法。不要那么做!你需要使用版本控制软件。我强烈推荐使用Git,它是个目前很流行的版本控制工具,而且使用起来非常简单。对一个Git新手,有一个良好的社区和很多参考资源来学习。(除了Git之外,还有mercurial, darcs, fossil等等。但是我还是建议从Git开始,我有很多的理由来支持Git,这里就不多费口舌了。)

  4. 知道去哪里寻求帮助

  参加一个和你相关的(你使用编程工具相关的)程序员社区。比如StackOverflow就是程序员的Facebook。那里没有消息状态和回复,取而代之的是问题和答案。除此之外还要学会使用IRC。IRC是一种老式的聊天室,现在还在被大多数开发人员用来分享技术信息和帮助解决问题。

  5. 培养你的礼仪

  知道什么时候问问题。你遇到的大多数问题都是别人碰到过并且在Internet上能够找到解答的。在IRC或者任何论坛里发问之前,先搜索一下google(或者blekko)来看看是不是有现成的答案。在IRC上问问题需要有耐心。永远记住,人们只是处于好心来免费帮助你。有时你发问以后需要几个小时才能有回复。所以,耐心等待。除此之外,记得问问题的时候要礼貌。世界很小,你怎么对待别人,别人就会怎么对待你。

  6. 结交朋友,技术书籍只能教你解决常见的问题(他们说:书是死的)

  当你在捣鼓一些程序或者从程序的作者那里学习,你能学到一些书本上没有的东西。当你散步的时候,请和遇到的朋友打招呼。你肯定不是唯一的程序员。和其他的程序员一起交朋友一起工作。你会注意到,当一群技术爱好者在一起的时候,不论话题是从什么地方开始,最后总是以技术话题收尾。这是必然的现象。所以你可以尽情参与。在你的黄金年龄努力编程,我能告诉你的是,我在开始6年前寻找朋友并开始讨论编程,从那时起才学到那些书本和文章不会我的东西。所以我总是说,我的编程经验有6年,因为只有那个时候开始,我才开始与人交流并开始感觉真正地开始学习编程。

  7. 参加开源项目

  为开源项目编写代码能带来回报。这不仅仅是帮助别人,你留下的代码会被其他人使用或(可能)改进。当别人给你的代码添加功能或者提出修改意见时,也是在提高你的编程水平。开源软件项目不一定要是一个大工程,编写一个下载youtube视频的小程序也是很有用的。更重要的是,你会惊奇地发现你编写的代码会成为与他人有效沟通的桥梁。其实关于参与开源项目,伯乐在线编译的不少有关程序员的文章都是如此建议。
  最后,若干年之后如果本文的内容曾经对你有一点点的帮助,作为回报请写一封类似的信给希望开始编程并不知如何入手的朋友,有可能的话请纠正本文中过时的内容。

  智者说过,掌握某个东西需要10年或10000个小时,也就是汉语中的十年磨一剑,所以不用着急
。无论如何,你坚持下去,并朝着目标前进,那么成功就离你不yuan!

分享到:
评论

相关推荐

    写给即将入行的程序员的一封信

    你的旅程即将开始,我在这里,作为一名老程序员,向你分享一些宝贵的建议,希望它们能够助你一臂之力。 首先,不要等待。是的,我知道你可能还在学习各种编程理论和概念,也许你觉得自己还没准备好。但是,让我告诉...

    给舅舅的一封信作文.docx

    文档名为“给舅舅的一封信作文.docx”,其中“.docx”表明该文档采用的是Microsoft Word的一种现代格式。这种格式支持复杂的内容布局和样式,包括但不限于文本、图片、表格等元素。对于IT行业而言,处理这类文档通常...

    台大校长给即将进入社会的准毕业生们的一封信.doc

    台大校长给即将进入社会的准毕业生们的一封信.doc

    2021秋二年级语文上册课文26一封信课前预习课件新人教版

    一封书信能够跨越时空的界限,将写信人的心意准确无误地传达给收信人。它讲究格式,注重礼仪,每一个字句都充满了对对方的尊重和对这份情感的珍视。 在二年级的语文课本中,“一封信”将引导孩子们细致地观察书信的...

    2021部编版语文四年级上册范文1:给哥哥的一封信.pptx

    近期,我们注意到一例生动的教学案例——“2021部编版语文四年级上册范文1:给哥哥的一封信”,由曹圣达同学写给他的哥哥。这封信不仅符合部编版语文教材的标准,更是一次情感与学习技能相结合的精彩演绎。 从信件...

    google李开复给大学生的信

    《给中国学生的一封信:从诚信谈起》 2003年12月,李开复在写了《给中国学生的一封信》之后,又写了《给中国学生的第二封信》,这封信侧重于谈领导者的重要品质。  详细阅读:《给中国学生的第二封信:从优秀到...

    李开复写给大学生的第4封信

    李开复,这位曾经担任谷歌、微软等知名科技公司的高层管理者,在其职业...因此,对于正在经历或是即将踏入大学的学子来说,李开复的这封信是不可多得的指路明灯,它不仅提供了知识性的指导,更蕴含了人生的智慧与感悟。

    写给即将毕业的电子信息工程专业一封信

    当你打开这封信的时候,或许你正坐在图书馆的一角,望着窗外飘落的枫叶,心中对即将结束的大学生活既有着一份不舍,也有着对未来的种种憧憬与忐忑。作为一位即将毕业的电子信息工程专业的学生,我想和你分享一些关于...

    《Java程序员》

    本书对于即将从事Java职业或初步从业的程序员来说是一本难得的好书。从生存、制胜、发展三个方面入手,为大家展示出程序员求职与工作的一幅3D全景图像。本书中既有在公司中的生存技巧,又有高手达人的进阶策略,既有...

    写给数学老师的一封信-条据书信.docx

    例如,在第一封信中,学生黄丽丽提到老师的眼神给了她极大的鼓励,让她学会了如何面对成功时不骄傲自满,这种精神上的支持对于学生的个人成长至关重要。 ### 关键知识点二:全面发展的重要性 在学习过程中,全面...

    给14岁儿子的一封信范文4篇.pdf

    【给14岁儿子的一封信】这封信中,父亲以深沉而充满关爱的口吻,向即将步入青少年的儿子传递了许多宝贵的生活经验和人生智慧。以下是对信中关键知识点的详细解读: 1. **法律责任与成长阶段**:14岁意味着在法律上...

    6一封信【第2课时】.ppt

    标题中的“6一封信【第2课时】.ppt”指的是语文教学的一个课件,主要讨论的是关于小学生写作的一篇课文——《一封信》。这篇课文通过露西给在国外的父亲写信的故事,展现了她的成长和情感变化。 在描述中,强调了...

    二年级给最爱的老师一封信主题班会.doc

    今天,他们即将参与一个特别的班会活动——给最爱的老师写一封信。这个活动不仅是一个简单的情感交流,更是一个融合教育技术、儿童心理学以及信息传递等多个现代IT教育元素的实践活动。 随着《上学歌》的旋律响起,...

    我有一封信精选.doc

    首先映入眼帘的,是写给童年自己的那封信。孩提时代的我们,无忧无虑,心中充满了对世界的好奇与想象。然而随着岁月的流逝,我们逐渐长成,童年的纯真也随之褪去。在这封信中,作者以一种既幽默又带有自省的笔触,...

    李开复给中国学生的一封信

    尤其对于即将踏入社会的中国学生来说,明确未来方向、树立正确价值观至关重要。李开复博士深谙此道,在其给中国学生的信中,他以过来人的身份,深刻阐述了个人品质、职业道德、表达能力、团队协作等对于成功的重要性...

    程序员在囧途 高清完整.pdf版

    【写给程序员看的书,满是辛酸满是泪,是苦也是甜!最真实的草根程序员的创业之路】《程序员在囧途》通过幽默有趣的故事,潜移默化地把技术...本书可供即将踏入IT行业的大学生、身在囧途中的程序员以及IT管理者阅读。

    2022年JAVA程序员求职信.docx

    Java 程序员求职信写作指南 在这篇文章中,我们将讨论 Java 程序员求职信的写作指南。这篇文章将从三个方面入手:自我介绍、技能展示和职业目标。 首先,自我介绍是求职信的开篇部分,目的是让雇主了解我们是谁、...

    2021秋二年级语文上册课文26一封信品读释疑课件新人教版

    在2021年秋季新学期的二年级语文课上,学生们接触到了一篇特殊的课文——《一封信品读释疑课件新人教版》。这篇课文不仅是一段动人的故事,也是一堂生动的语言实践课,旨在引导学生深入理解文章内容,体验人物情感,...

    给毛老师的一封信作文.doc

    通过这封信,我想告诉您,您的付出和教育,我都铭记在心。感谢您五年来对我的教诲与关怀,您的形象将永远留在我心中,成为我人生旅途中宝贵的财富。 尽管我们即将毕业,各奔东西,但我相信,您对我的影响将伴随我...

    程序员开发手册.pdf

    1. 当表达式超出或即将超出规定的列宽,一行被分为几行时,通过将串联运算符放在每一行的末尾而不是开头,清楚地表示没有后面的行是不完整的。 Stri ng querySql = “ SELECT ProjectId ” + “ ,ProjectTitle ” + ...

Global site tag (gtag.js) - Google Analytics