`

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

阅读更多

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


  首先,欢迎来到程序员的世界。在这个世界上,不是有很多人想创造软件并解决问题。你是一名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!

分享到:
评论

相关推荐

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

    "写给即将入行的程序员的一封信" 该文档提供了 Akash 对程序员的建议,旨在帮助新手程序员快速入门。以下是该文档中的重要知识点: 1. 不要等待,马上开始编程。编程经验是最重要的,不要等待学习完所有知识再开始...

    给舅舅的一封信作文.docx

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

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

    "写给即将毕业的电子信息工程专业一封信" 这封信是写给即将毕业的电子信息工程专业学生的一封信,内容涵盖了毕业后该如何选择继续深造还是找工作、如何准备找工作等问题。信中首先提到了两条路:继续深造和找工作。...

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

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

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

    这封信对于正在经历大学生活或即将步入大学的学子来说,无疑是一份宝贵的指南。通过阅读《给中国学生的第四封信:大学四年应是这样度过.doc》这份文档,可以更深入地理解李开复的建议,从中汲取灵感和动力,规划出更...

    google李开复给大学生的信

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

    给老师一封信500字优秀

    【给老师的一封信500字优秀】的标签表明这是一个关于师生关系的课件,内容主要是学生们写给老师的信件,表达了对老师的感激和怀念之情。这些信件揭示了教育的重要性和教师对学生深远的影响。 在第一封信中,学生向...

    《Java程序员》

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

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

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

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

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

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

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

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

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

    2022年JAVA程序员求职信.docx

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

    父母给成年孩子写的一封信精选.doc

    部分内容展示了两篇不同的父母给孩子写的信,表达了父母对孩子的关爱、期许以及对生活哲理的传授。 在这封信中,父母们传达了以下几个关键知识点: 1. **成长与转变**:成年对孩子和父母而言都是一个重要阶段,...

    程序员开发手册.pdf

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

    苏教语文六年级下册习作给老师的一封信PPT学习教案.pptx

    1. 书信写作:本资料是关于苏教语文六年级下册的一次习作教学,主题是写给老师的一封信。书信是一种常见的书面表达形式,要求学生掌握书信的基本结构和写作技巧。 2. 习作要求:小学六年级学生在即将结束学习生活...

    给我孙子的一封信.doc

    首先,爷爷在这封信里要祝贺你生日快乐!看着你一天天长大,爷爷心中充满了喜悦和期待。转眼间,你已经度过了十个年头,从懵懂无知的孩童成长为即将踏入青少年阶段的少年。这第一个十年,是人生中最无忧无虑的时光,...

    给爷爷奶奶的一封信作文.doc

    这封信虽然是一篇作文,但从中我们可以提炼出一些关于学习和教育的知识点,特别是对于孩子们的成长和进步: 1. **学习进步与自我评估**:作者提到他在学习上的进步,语文、数学和英语的成绩都有显著提高,并且意识...

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

    6. **感恩教育**:这封信是一个生动的感恩教育实例,学生通过写信表达对老师的感谢,强化了感恩的价值观,也提醒我们要时刻感激那些在我们成长道路上给予帮助的人。 7. **离别与怀念**:尽管即将毕业分离,学生表示...

Global site tag (gtag.js) - Google Analytics