导航:首页 > 程序命令 > 全球最年长的程序员

全球最年长的程序员

发布时间:2022-07-30 03:05:23

1. 目前国内外年龄最大的程序员有多少岁了

误传1:年长程序员比新手要价更高,因而年轻的开发人员更受欢迎。
事实:有经验的开发人员之所以被打上“昂贵”的标签,是因为在任何软件公司里员工的薪水永远是最大的支出。事实上,年轻就意味着廉价。但是,尽管年轻但没有什么经验的开发人员能够帮你节省掉一些预算,但是如果你的团队里只有年轻人长远来看你要付出的会更多。年轻的开发人员并没有经历过失败的历练。他们甚至还没有足够的时间来经历失败。猜猜他们会用谁的钱来教学费?你的。错过截止时间并且交付没有完工的项目会给你带来多大的损失?请再好好想想吧。
的确,年长程序员比年轻人的工资要高一些。但是你多花的钱究竟花到哪里了呢?一个经验丰富的软件开发人员,你付出的薪水买到的是他从过去项目开发中学到的经验与教训。这些就是在你成为他的经理期间需要付出的昂贵的学费。但是如果你招入一名有经验的工人,你就不会重复项目管理和软件开发过程中常犯的错误。也就意味着在年底的考核中你会因为雇佣了会做事的员工而得到良好的评价。
误传2:年长程序员受到他们已有知识的限制,灵活性和学习新技术的能力不及年轻的开发人员。
事实:事实上正是因为他们过去的经验,年长程序员能够在更深入的层次转向新技术、框架以及系统。例如,如果了解 C/C++编写的GUI框架,你会对消息传递、事件处理、MVC模式有概念,而这些知识能够帮助你在设计系统时把表示层和底层的逻辑进行分离。当你第一次接触GUI框架的时候,除了学习代码的文法,你还需要掌握示例以及相关的代码库,不仅如此,与之相关的所有概念也都需要了解。当第二次、第三次或者以后的更多次实现GUI框架时,你会发现在代码文法之外更深的地方它们有着相似之处。你甚至可能会注意到,新的GUI框架会克服以前你花费很大力气才能解决的潜在限制。这些领悟会以你不能直接衡量的方式提高生产率。
误传3:年长程序员有家庭以及其他因素的影响,因此不能承担艰苦的软件开发任务(解读:长时间、艰苦地工作),而年轻人没有这些负担。
事实: 公平地讲,有经验的软件开发人员较少会长时间、艰苦地工作,因为他们从实践(失败)中学到连续数月每周工作80个小时最终会到达生产率的极限。这种情况会让你精疲力尽,我敢打赌任何曾经历过这种情况的人都不想再尝试。即使有这样的倾向,所谓的“家庭负担” 是不存在的。有经验的高效的软件工程师是无情的时间管理者,那些已经有家庭的工程师会更积极地在分配的时间内完成工作。他们也许会参加舞会或者足球赛,但是他们会把这些时间安排在业余时间,在每个礼拜的40个小时工作中他们会高度专注在自己的工作上。已经成家的优秀软件工程师必须高效地管理自己的私人时间,否则他们很快就会被蜂拥而来的工作埋掉。
传说4:年长程序员不如年轻人思路敏捷。
事实:时光的确会对大脑产生影响,有很多证据显示年长的工人在思考速度上会稍逊一筹。但是思路敏捷只是判断标准的一部分。思考得更快并不总是代表考虑得更好。对于判断力情况又是如何呢?有句老话:好的判断来自经验,而经验则是从错误的判断得来。想想他们具备比年轻人更多的见识、完成的工作以及经历的成功和失败,就知道以思维不再敏捷作为不雇佣年长的软件工程师是一个糟糕的借口。有经验的开发人员可以从大量的项目中汲取经验来为今天的项目避免错误的决定。年轻的开发人员有很多重要的新点子,但是却没有经过测试和验证。同时具备这两个方面会给你的团队带来巨大的价值。

2. 史上最厉害的黑客是谁

李纳斯·托沃兹(Linus Torvalds)
当今世界最着名的电脑程序员、黑客。linux内核的发明人及该计划的合作者。托瓦兹利用个人时间及器材创造出了这套当今全球最流行的操作系统内核之一。使自由软件从产业思想运动演变成为市场商业运动,从此改变了软件产业,乃至IT产业的面貌。

乍得·斯托曼

个人简介:

圈内头衔:无 (毫不隐藏!)

主要成就:老牌黑客。1971年,斯托曼在街上找到一份MIT的人工智能实验室的工作。当时他是哈佛大学的一名本科生。后来,斯托曼创立了自由软件基金,打破了软件是私有财产的概念。

第一次接触计算机:1969年在IBM 纽约科学中心,时值16岁。

自己独特的黑客工具:在上世纪 80年代, 斯托曼不拿MIT的薪水但继续在其中的一个办公室工作。在那里他创造了一个新的操作系统GNU--GNU是"GNU's Not Unix"的缩写。

鲜为人知的事实:曾获得麦克阿瑟基金24万美元天才奖。

五短身材,不修边幅,过肩长发,连鬓胡子,时髦的半袖沙滩上装,一副披头士的打扮。看起来象现代都市里的野人。 如果他将一件"麻布僧袍"穿在身上,又戴上一顶圆形宽边帽子,有如绘画作品中环绕圣像头上的光环。一眨眼的功夫,他又变成圣经中的耶稣基督的样子,散发着先知般的威严和力量。野人与基督,恰恰就是自由软件的精神领袖理乍得·斯托尔曼的双重属性:他既是当今专有(私有)商业软件领域野蛮的颠覆者,又是无数程序员和用户心目中神圣的自由之神。

3. 为什么都称程序员为程序猿反映了这个工种的哪些特质

我上班第一天我的老板让我做的第一件事
看两篇文章:
程序员随想
雷军
我不是天生的程序员,也并非天生就喜欢电脑,上高中时也没有想过将来会当程序员,接触电脑纯属偶然--小时候的一个好朋友上大学时选择了电脑专业,为了和这个朋友有更多的“共同语言”我便选择了计算机系。在大学,我略窥电脑世界,开始为之“发烧”;毕业后,开始了一个程序员的职业生涯。
从开始写程序到现在快十年了,写过的程序不少。从这些年的风风雨雨中走过来,不能不有些体会。说到体会,最大的体会就是这条路太漫长。
一、一辈子有你 苦一点也愿意
我没有奢望大家把写程序和文学创作相提并论,但其中的苦楚却不是一个普通用户能够体味的。为了写好一个程序,我们度过太多不眠之夜。有个朋友如此评价道,“写程序简直是在自杀,巨费精力巨费脑子巨累”。但还是有许多人不畏其苦,前仆后继。
我刚接触到电脑就发现电脑的妙处:电脑远没有人那么复杂,如果你的程序写得好,你就可以和电脑有着非常融洽的关系,就可以指挥电脑干你想干的事,这个时候,你是十足的主宰。每每坐在电脑面前,你就如同在一个王国里巡行。
电脑里的世界很大,程序员是活在自己想象的王国里。你可以细微到电脑里的每一个字节、每一个比特的东西。
这样的日子简直就是天堂般的日子,很多人都爱上了这样的日子。
不少人认为程序员最多干到三十五岁就可以收山,脑子也差不多该歇歇了,并认为写程序是年轻人的事情,到了一定年龄,估计没什么人再当程序员。
我刚毕业时,意气风发,也想先吃点苦,到了三十岁就不干了。年长一点后就发现了自己的无知。一个人大学毕业就二十一二岁,技术成熟一点后可能二十五,接着就是票子、妻子和房子等等诸多忙不完的事情。一切搞掂的时候,也许就是三十五岁。如果三十五岁就放弃的话,我们就不用选择程序员的道路。
电脑进入我国时间不短,但真正大规模开始用,还是八五年PC登陆我国时候的事。因此国内真正写电脑程序的人最长也就写了十几年(不知道是否还有这样的人)。由于电脑应用在国内时间比较短,国内程序开发的主力以三十五岁以下的年轻人为主,但这并不表示程序员如同红粉佳人般的容易衰老。美国和台湾地区的开发者以三四十岁的人为主。开始写程序的时候,我们觉得没有什么不能做的(现在还能听到这样的豪言壮语),而且更要命的是,好象我们特别聪明,特别适合开发软件,比老外强得多。当我们真正接触那些杰出的国外开发人员的时候,发现他们太厉害了,都有十多年的开发经验,绝对多数的产品出自这些有丰富开发经验的程序员之手。
毕业后,编程不仅仅是爱好,而且成了一辈子的工作,可以肯定会干一辈子,虽然我没有打算一生只干这一件事。用一生来编程是一件既容易又困难的事。如果碌碌无为,为交差写点程序,这样写两辈子的人都有。但如果想全身心地写程序,写十年都不是一件容易的事。现在我的不少朋友都洗手了,有时我也有这种想法,但一旦面对电脑,立刻顿悟:电脑还是自己最擅长干的事,也是最顺手的事。
二、我的未来不是梦
有的人刻苦学习编程技术,努力提高编程水平,并把高级程序员作为追求的目标,甚至是终身的奋斗目标。后来参与了真正的商品化软件开发后,感到非常困惑和茫然。
当我上大学的时候,高级程序员也曾是我的目标。当时,我通过等级考试获得了高级程序员证书,并在自己的名片上印上“高级程序员”的字样。后来,我的水平提高了,似乎也成了大家认可的好程序员了。这个时候我却开始茫然。我希望我的技术能得到别人的承认,当得到别人的承认后,我又能如何呢?后来我发现,无论成为多么高级的程序员都没用,关键是是否能够出想法、出产品,你的劳动是否能被社会承认,是否能为社会创造财富。
我的未来是明确的,开发出高质量的适用社会的产品,为社会创造财富。
三、每一个程序都是艺术品
有人认为程序员没有什么了不起,不过是一种熟练工种而已;也有人把编程说成是艺术创作,捧上天。这两种意见争论比较激烈,甚至可以说针锋相对。
我们换个工种来看,石匠应该是熟练工种,跟艺术似乎沾不上边。;但正是这些石匠,给我们留下了数不胜数的文物古迹,如乐山大佛、莫高窟等等。应该说这此石匠给我们留下了无穷的文化财富。我认为编程的工作和石匠比较相似,是技术,也是艺术。
现代软件工业已具相当规模,很多软件的完成需要的是大兵团作战。一名精通程序员接受编写某一块的任务后,往往只是写代码,发挥的余地很小。在大项目中,很多程序员只能了解到和自己所编模块相关的很局部的细节,另外还受到开发环境的限制,真的很难体会到自己在从事“艺术”创造,更多的时候是感到自己在从事重体力劳动。有的时候还担心自己苦苦参与的这个项目究竟有没有意义,是不是在同类产品中有竞争力,会不会开发出来以后就因为硬件的发展、操作系统的换代而过时......
编程是技术活,才有可能大规模进行,才会有软件工程的理论。也正是编程具备艺术创作的特点,我们的生活才会有如此多的好软件产品。写一个程序需要付出脑力和体力,当我—我们—某个群体完成一个程序之后,在我们的眼里,每一个程序就都是艺术品。

程序员应具备的素质
前言
程序员是一种技术工作,在IT的发展中有相当重要的地位,从底层硬件通讯协议的建立, 到数据传输层的处理,到操作系统的建设,到数据库平台的建设,一直到应用层上各种数 据营销平台的搭建,程序员在里面都扮演着举足轻重的角色并为IT事业的发展做出了巨大 的贡献。

中国有很多精于编码的人,但是中国软件行业,尤其是网络应用开发方面误区很大,很难形成有规模的软件开发力量和产品能力,不但比美国差距甚远,和印度相比也是颇有不 如。这些问题不是在于中国程序员的智商和工作努力状况,也不是在于国家和民间对开发 的投入程度,而是很大程度上,有一些对技术,对程序开发,对项目设计方面的思想误 区,这些误区,导致了软件行业的产品化能力不足,缺乏规模化和大型复用系统研发能 力,可以说,改变认识误区,是解决软件行业小作坊模式和个体英雄模式所带来的局限性 的重要工作。

中国有很多小朋友,他们18,9岁或21,2岁,通过自学也写了不少代码,他们有的代码写的很漂亮,一些技术细节相当出众,也很有钻研精神,但是他们被一些错误的认识和观点左右,缺乏对系统,对程序的整体理解能力,这些人,一个网上的朋友说得很好,他们实际 上只是一些Coding fans,压根没有资格称为程序员,但是据我所知,不少小网络公司的 CTO就是这样的coding fans,拿着吓人的工资,做着吓人的项目,项目的结局通常也很吓人。

一、程序员基本素质
作一个真正合格的程序员,或者说就是可以真正合格完成一些代码工作的程序员,应该具有的素质。
1:团队精神和协作能力
把它作为基本素质,并不是不重要,恰恰相反,这是程序员应该具备的最基本的,也是最 重要的安身立命之本。把高水平程序员说成独行侠的都是在呓语,任何个人的力量都是有 限的,即便如linus这样的天才,也需要通过组成强大的团队来创造奇迹,那些遍布全球 的为linux写核心的高手们,没有协作精神是不可想象的。独行侠可以作一些赚钱的小软 件发点小财,但是一旦进入一些大系统的研发团队,进入商业化和产品化的开发任务,缺 乏这种素质的人就完全不合格了。
2:文档习惯
说高水平程序员从来不写文档的肯定是乳臭未干的毛孩子,良好的文档是正规研发流程中 非常重要的环节,作为代码程序员,30%的工作时间写技术文档是很正常的,而作为高级 程序员和系统分析员,这个比例还要高很多。
缺乏文档,一个软件系统就缺乏生命力,在未来的查错,升级以及模块的复用时就都会遇 到极大的麻烦。

3:规范化,标准化的代码编写习惯
作为一些外国知名软件公司的规矩,代码的变量命名,代码内注释格式,甚至嵌套中行缩 进的长度和函数间的空行数字都有明确规定,良好的编写习惯,不但有助于代码的移植和 纠错,也有助于不同技术人员之间的协作。
有些coding fans叫嚣高水平程序员写的代码旁人从来看不懂,这种叫嚣只能证明他们自 己压根不配自称程序员。代码具有良好的可读性,是程序员基本的素质需求。
再看看整个linux的搭建,没有规范化和标准化的代码习惯,全球的研发协作是绝对不可 想象的。

4:需求理解能力
程序员需要理解一个模块的需求,很多小朋友写程序往往只关注一个功能需求,他们把性 能指标全部归结到硬件,操作系统和开发环境上,而忽视了本身代码的性能考虑,有人曾 经放言说写一个广告交换程序很简单,这种人从来不知道在百万甚至千万数量级的访问情 况下的性能指标是如何实现的,对于这样的程序员,你给他深蓝那套系统,他也做不出太 极链的并访能力。性能需求指标中,稳定性,并访支撑能力以及安全性都很重要,作为程 序员需要评估该模块在系统运营中所处的环境,将要受到的负荷压力以及各种潜在的危险 和恶意攻击的可能性。就这一点,一个成熟的程序员至少需要2到3年的项目研发和跟踪经 验才有可能有心得。
5:复用性,模块化思维能力
经常可以听到一些程序员有这样的抱怨,写了几年程序,变成了熟练工,每天都是重复写 一些没有任何新意的代码,这其实是中国软件人才最大浪费的地方,一些重复性工作变成 了熟练程序员的主要工作,而这些,其实是完全可以避免的。

复用性设计,模块化思维就是要程序员在完成任何一个功能模块或函数的时候,要多想一 些,不要局限在完成当前任务的简单思路上,想想看该模块是否可以脱离这个系统存在, 是否可以通过简单的修改参数的方式在其他系统和应用环境下直接引用,这样就能极大避 免重复性的开发工作,如果一个软件研发单位和工作组能够在每一次研发过程中都考虑到 这些问题,那么程序员就不会在重复性的工作中耽误太多时间,就会有更多时间和精力投 入到创新的代码工作中去。

一些好的程序模块代码,即便是70年代写成的,拿到现在放到一些系统里面作为功能模块 都能适合的很好,而现在我看到的是,很多小公司软件一升级或改进就动辄全部代码重 写,大部分重复性工作无谓的浪费了时间和精力。
6:测试习惯
作为一些商业化正规化的开发而言,专职的测试工程师是不可少的,但是并不是说有了专 职的测试工程师程序员就可以不进行自测;软件研发作为一项工程而言,一个很重要的特 点就是问题发现的越早,解决的代价就越低,程序员在每段代码,每个子模块完成后进行 认真的测试,就可以尽量将一些潜在的问题最早的发现和解决,这样对整体系统建设的效 率和可靠性就有了最大的保证。

测试工作实际上需要考虑两方面,一方面是正常调用的测试,也就是看程序是否能在正常 调用下完成基本功能,这是最基本的测试职责,可惜在很多公司这成了唯一的测试任务, 实际上还差的远那;第二方面就是异常调用的测试,比如高压力负荷下的稳定性测试,用 户潜在的异常输入情况下的测试,整体系统局部故障情况下该模块受影响状况的测试,频 发的异常请求阻塞资源时的模块稳定测试等等。当然并不是程序员要对自己的每段代码都 需要进行这种完整测试,但是程序员必须清醒认识自己的代码任务在整体项目中的地位和 各种性能需求,有针对性的进行相关测试并尽早发现和解决问题,当然这需要上面提到的 需求理解能力。
7:学习和总结的能力
程序员是人才很容易被淘汰,很容易落伍的职业,因为一种技术可能仅仅在三两年内具有 领先性,程序员如果想安身立命,就必须不断跟进新的技术,学习新的技能。
善于学习,对于任何职业而言,都是前进所必需的动力,对于程序员,这种要求就更加高 了。
但是学习也要找对目标,一些小coding fans们,他们也津津乐道于他们的学习能力,一 会学会了asp,一会儿学会了php,一会儿学会了jsp,他们把这个作为炫耀的资本,盲目 的追逐一些肤浅的,表面的东西和名词,做网络程序不懂通讯传输协议,做应用程序不懂 中断向量处理,这样的技术人员,不管掌握了多少所谓的新语言,永远不会有质的提 高。
善于总结,也是学习能力的一种体现,每次完成一个研发任务,完成一段代码,都应当有 目的的跟踪该程序的应用状况和用户反馈,随时总结,找到自己的不足,这样逐步提高, 一个程序员才可能成长起来。
一个不具备成长性的程序员,即便眼前看是个高手,建议也不要选用,因为他落伍的时候 马上就到了。
具备以上全部素质的人,应当说是够格的程序员了,请注意以上的各种素质都不是由IQ决 定的,也不是大学某些课本里可以学习到的,需要的仅仅是程序员对自己工作的认识,是一种意识上的问题。

二、高级程序员/项目设计者还需具备的素质
那么作为高级程序员,以至于系统分析员,也就是对于一个程序项目的设计者而言,除了应该具备上述全部素质之外,还需要具备以下素质:
第一,需求分析能力
对于程序员而言,理解需求就可以完成合格的代码,但是对于研发项目的组织和管理者, 他们不但要理解客户需求,更多时候还要自行制定一些需求,为什么这么说呢?
一般而言,进行研发任务,也许是客户提出需求,也许是市场和营销部门提出的需求,这 时候对于研发部门,他们看到的不是一个完整的需求,通常而言,该需求仅仅是一些功能 上的要求,或者更正规些,可能获得一个完整的用户视图;但是这都不够,因为客户由于 非技术因素多一些,他们可能很难提出完整和清晰,或者说专业性的性能需求,但是对于 项目组织者和规划者,他必须能够清醒认识到这些需求的存在并在完成需求分析报告的时 候适当的提出,同时要完整和清晰的体现在设计说明书里面,以便于程序员编码时不会失 去这些准则。
程序设计者必须正确理解用户需求所处的环境,并针对性做出需求的分析,举例而言,同 样一个软件通过ASP租用方式发布和通过License方式发布,性能需求可能就是有区别的, 前者强调的是更好的支撑能力和稳定性,而后者则可能更强调在各种平台下的普适性和安 装使用的简捷性。
第二,项目设计方法和流程处理能力
程序设计者必须能够掌握不少于两到三种的项目设计方法(比如自顶至下的设计方法,比如快速原型法等等),并能够根据项目需求和资源搭配来选择合适的设计方法进行项目的 整体设计。
设计方法上选择不当,就会耽误研发周期,浪费研发资源,甚至影响研发效果。
一个程序设计者还需要把很多功夫用在流程图的设计和处理上,他需要做数据流图以确立 数据词典;他需要加工逻辑流图以形成整体的系统处理流程。
一个流程有问题的系统,就算代码多漂亮,每个模块多精致,也不会成为一个好的系统。 当然,做好流程分析并选择好项目设计方法,都需要在需求分析能力上具有足够的把 握。
第三,复用设计和模块化分解能力
这个似乎又是老调重谈,前面基本素质上不是已经说明了这个问题吗?
作为一个从事模块任务的程序员,他需要对他所面对的特定功能模块的复用性进行考虑, 而作为一个系统分析人员,他要面对的问题复杂的多,需要对整体系统按照一种模块化的 分析能力分解为很多可复用的功能模块和函数,并针对每一模块形成一个独立的设计需 求。举个例子,好比是汽车生产,最早每辆汽车都是独立安装的,每个部件都是量身定做 的,但是后来不一样了,机器化大生产了,一个汽车厂开始通过流水线来生产汽车,独立 部件开始具有一定的复用性,在后来标准化成为大趋势,不同型号,品牌甚至不同厂商的 汽车部件也可以进行方便的换装和升级,这时候,汽车生产的效率达到最大化。软件工程 也是同样的道理,一个成熟的软件行业,在一些相关项目和系统中,不同的部件是可以随 意换装的,比如微软的许多桌面软件,在很多操作模块(如打开文件,保存文件等等)都 是复用的同一套功能模块,而这些接口又通过一些类库提供给了桌面应用程序开发者方便 挂接,这就是复用化的模块设计明显的一个佐证。

将一个大型的,错综复杂的应用系统分解成一些相对独立的,具有高度复用性的,并能仅 仅依靠几个参数完成数据联系的模块组合,是作为高级程序员和系统分析员一项最重要的 工作,合适的项目设计方法,清晰的流程图,是实现这一目标的重要保证。
第四,整体项目评估能力
作为系统设计人员,必须能够从全局出发,对项目又整体的清醒认识,比如公司的资源配 置是否合理和到位,比如工程进度安排是否能最大化体现效率又不至于无法按期完成。评 估项目整体和各个模块的工作量,评估项目所需的资源,评估项目可能遇到的困难,都需 要大量的经验积累,换言之,这是一种不断总结的累计才能达到的境界。在西方一些软件 系统设计的带头人都是很年长的,比如4,50岁,甚至更老,他们在编码方面已经远远不 如年轻人那样活络,但是就项目评估而言,他们几十年的经验积累就是最重要和宝贵的财 富。中国缺这么一代程序员,主要还不是缺那种年纪的程序员,而是那种年纪的程序员基 本上都是研究单位作出来的,都不是从专业的产品化软件研发作出来的,他们没有能积累 那种产品化研发的经验,这也是没有办法的事情。
第五,团队组织管理能力
完成一个项目工程,需要团队的齐心协力,作为项目设计者或研发的主管人,就应当有能 力最大化发挥团队的整体力量,技术管理由于其专业性质,不大同于一般的人事管理,因为这里面设计了一些技术性的指标和因素。
首先是工作的量化,没有量化就很难做到合适的绩效考核,而程序量化又不是简单的代码 行数可以计算的,因此要求技术管理人员需要能真正评估一个模块的复杂性和工作量。
其次是对团队协作模式的调整,一般而言,程序开发的协作通常分为小组进行,小组有主 程序员方式的,也有民主方式的,根据程序员之间的能力水平差距,以及根据项目研发的 需求,选择合适的组队方式,并能将责权和成员的工作任务紧密结合,这样才能最大发挥 组队的效率。
一个代码水平高的人,未必能成为一个合格的项目研发主管,这方面的能力欠缺往往是容 易被忽视的。

综上可以看到,作为一个主管研发的负责人,一个项目设计者,所需要具备的素质和能力 并不是程序代码编写的能力,当然一般情况下,一个程序员通过不断的总结提高达到了这种素质的时候,他所具有的代码编写能力也已经相当不简单了,但是请注意这里面的因果 关系,一个高水平的项目设计者通常已经是代码编写相当优秀的人了,但是并不是一个代 码相当优秀的程序员就可以胜任项目设计的工作,这里面存在的也不是智商和课本的问 题,还是在于一个程序员在积累经验,逐步提升的时候没有意识到应当思考哪方面的东 西,没有有意识的就项目的组织和复用设计进行揣摩,没有经常性的文档习惯和总结习 惯,不改变这些,我们的合格的项目设计者还是非常欠缺。

另外,为防止有无聊的人和我较真,补充一点,本文针对目标是作商业化的软件项目和工程,那些科研机构的编程高手,比如算法高手,比如图象处理高手,他们的工作是研究课题而非直接完成商业软件(当然最终间接成为商业产品,比如微软研究院在作的研究课 题),因此他们强调的素质可能是另外的东西,这些人(专家),并不能说是程序员,不能用程序员的标准去衡量。

三、软件项目研发的设计流程
最后补充一点东西,一个软件项目研发的设计流程是怎样的呢?以通常标准的设计方法为例,(不过笔者喜欢快速原型法)。
第一个步骤是市场调研
技术和市场要结合才能体现最大价值。

第二个步骤是需求分析
这个阶段需要出三样东西,用户视图,数据词典和用户操作手册。
用户视图是该软件用户(包括终端用户和管理用户)所能看到的页面样式,这里面包含了 很多操作方面的流程和条件。

数据词典是指明数据逻辑关系并加以整理的东东,完成了数据词典,数据库的设计就完成 了一半多。
用户操作手册是指明了操作流程的说明书。
请注意,用户操作流程和用户视图是由需求决定的,因此应该在软件设计之前完成,完成 这些,就为程序研发提供了约束和准绳,很遗憾太多公司都不是这样做的,因果颠倒,顺 序不分,开发工作和实际需求往往因此产生隔阂脱节的现象。
需求分析,除了以上工作,笔者以为作为项目设计者应当完整的做出项目的性能需求说明 书,因为往往性能需求只有懂技术的人才可能理解,这就需要技术专家和需求方(客户或 公司市场部门)能够有真正的沟通和了解。
第三个步骤是概要设计
将系统功能模块初步划分,并给出合理的研发流程和资源要求。 作为快速原型设计方法,完成概要设计就可以进入编码阶段了,通常采用这种方法是因为 涉及的研发任务属于新领域,技术主管人员一上来无法给出明确的详细设计说明书,但是 并不是说详细设计说明书不重要,事实上快速原型法在完成原型代码后,根据评测结果和 经验教训的总结,还要重新进行详细设计的步骤。

第四个步骤是详细设计
这是考验技术专家设计思维的重要关卡,详细设计说明书应当把 具体的模块以最’干净’的方式(黑箱结构)提供给编码者,使得系统整体模块化达到最 大;一份好的详细设计说明书,可以使编码的复杂性减低到最低,实际上,严格的讲详细 设计说明书应当把每个函数的每个参数的定义都精精细细的提供出来,从需求分析到概要 设计到完成详细设计说明书,一个软件项目就应当说完成了一半了。换言之,一个大型软 件系统在完成了一半的时候,其实还没有开始一行代码工作。
那些把作软件的程序员简单理解为写代码的,就从根子上犯了错误了。

第五个步骤是编码
在规范化的研发流程中,编码工作在整个项目流程里最多不会超过1/ 2,通常在1/3的时间,所谓磨刀不误砍柴功,设计过程完成的好,编码效率就会极大提 高,编码时不同模块之间的进度协调和协作是最需要小心的,也许一个小模块的问题就可 能影响了整体进度,让很多程序员因此被迫停下工作等待,这种问题在很多研发过程中都 出现过。编码时的相互沟通和应急的解决手段都是相当重要的,对于程序员而言,bug永 远存在,你必须永远面对这个问题,大名鼎鼎的微软,可曾有连续三个月不发补丁的时候 吗?从来没有!
第六个步骤是测试
测试有很多种:
按照测试执行方,可以分为内部测试和外部测试
按照测试范围,可以分为模块测试和整体联调
按照测试条件,可以分为正常操作情况测试和异常情况测试
按照测试的输入范围,可以分为全覆盖测试和抽样测试
以上都很好理解,不再解释。

总之,测试同样是项目研发中一个相当重要的步骤,对于一个大型软件,3个月到1年的外 部测试都是正常的,因为永远都会又不可预料的问题存在。

完成测试后,完成验收并完成最后的一些帮助文档,整体项目才算告一段落,当然日后少 不了升级,修补等等工作,只要不是想通过一锤子买卖骗钱,就要不停的跟踪软件的运营 状况并持续修补升级,知道这个软件被彻底淘汰为止。

写这些步骤算不上卖弄什么,因为实话讲我手边是一本《软件工程》,在大学里这是计算 机专业的必修课程,但是我知道很多程序员似乎从来都只是热衷于什么《30天精通VC》之 类的,他们有些和我一样游击队出身,没有正规学过这个专业,还有一些则早就在混够学 分后就把这些真正有用的东西还给了老师。
网上现在也很浮躁,一些coding fans乱嚷嚷,混淆视听,实际上真正的技术专家很少在 网上乱发帖子的,如笔者这样不知天高地厚的,其实实在是算不上什么高手,只不过看不 惯这种对技术,对程序员的误解和胡说,只好挺身而出,做拨乱反正之言,也希望那些还 沉迷于一些错误人士的coding fans们能认真想想,走到正途上,毕竟那些聪明的头脑还 远远没有发挥应有的价值。

4. 黑客的着名人物

1.Kevin Mitnick
凯文·米特尼克(Kevin David Mitnick,1964年美国洛杉矶出生),有评论称他为世界上“头号电脑骇客”。这位“着名人物”现年不过50岁,但其传奇的黑客经历足以令全世界为之震惊。

2.Adrian Lamo
艾德里安·拉莫(Adrian Lamo)
Adrian Lamo:历史上五大最着名的黑客之一。Lamo专门找大的组织下手,例如破解进入微软和《纽约时报》。Lamo喜欢使用咖啡店、Kinko店或者图书馆的网络来进行他的黑客行为,因此得了一个诨号:不回家的黑客。Lamo经常发现安全漏洞,并加以利用。通常他会告知企业相关的漏洞。
3.Jonathan James
乔纳森·詹姆斯(Jonathan James),历史上五大最着名的黑客之一。
16岁的时候James就已经恶名远播,因为他成为了第一个因为黑客行径被捕入狱的未成年人。他稍后承认自己喜欢开玩笑、四处闲逛和迎接挑战。
4.Robert Tappan Morrisgeek.
Robert Tappan Morrisgeek.美国历史上五大最着名的黑客之一。
Morris的父亲是前美国国家安全局的一名科学家,叫做Robert Morris。Robert是Morris蠕虫病毒的创造者,这一病毒被认为是首个通过互联网传播的蠕虫病毒。也正是如此,他成为了首个被以1986年电脑欺骗和滥用法案起诉的人。
5.Kevin Poulsen
凯文·普尔森,全名凯文·李·普尔森(Kevin Lee Poulsen),1965年出生于美国的Pasadena。他常使用马甲“Dark Dante(黑暗但丁)”作案,因攻击进入洛杉矶电台的KIIS-FM电话线而出名,这也为他赢得了一辆保时捷。 Richard Stallman--传统型大黑客,Stallman在1971年受聘成为美国麻省理工学院人工智能实验室程序员。
Ken Thompson和Dennis Ritchie--贝尔实验室的电脑科学操作组程序员。两人在1969年发明了Unix操作系统。
John Draper(以咔嚓船长,Captain Crunch闻名)--发明了用一个塑料哨子打免费电话
Mark Abene(以Phiber Optik而闻名)--鼓舞了全美无数青少年“学习”美国内部电话系统是如何运作的
Robert Morris--康奈尔大学毕业生,在1988年不小心散布了第一只互联网病毒“蠕虫”
2002年,对于曾经臭名昭着的计算机黑客凯文·米特尼克来说,圣诞节提前来到了。这一年,的确是Kevin Mitnick快乐的一年。不但是获得了彻底的自由(从此可以自由上网,不能上网对于黑客来说,就是另一种监狱生活)。而且,他还推出了一本刚刚完成的畅销书《欺骗的艺术》(The Art of Deception: Controlling the Human Element of Security)。此书大获成功,成为Kevin Mitnick重新引起人们关注的第一炮。
Jargon File中对“黑客”一词给出了很多个定义,大部分定义都涉及高超的编程技术,强烈的解决问题和克服限制的欲望。如果你想知道如何成为一名黑客,那么好,只有两方面是重要的。(态度和技术)

5. 全球范围之内程序员的数量大概有多少

埃文斯数据公司(Evans Data Corporation) 2019最新的统计数据(原文)显示,2018年全球共有2300万软件开发人员,预计到2019年底这个数字将达到2640万,到2023年达到2770万。
而来自IDC的统计数据显示,2018年全球软件开发人员数量增长到2230万,而2014年只有1850万程序员。

6. 对于一个职场新人来讲,他真的只有把生活也牺牲给工作了吗

不必要的 ,以下给你一点建议

尽早确定你想做的事情

一个人的职业生涯总是包含很多阶段,而每个阶段又是环环相扣,互为因果的。因此,我们总是能够看到一群同时毕业的人,经过10年后,各自的发展却迥然不同,有些人总能快人一步,提前到达职涯的新高,而有些人却慢人半拍,逐渐掉队。这其中,一定有运气等其他客观因素的影响,但仔细观察,我们会发现那些成功的人,往往是那些有着坚定目标,并持续努力的人。

因此,尽早确定你想做的事情——你的职业目标,意味着你可以获得比其他人更多的时间去努力。我们中绝大多数都不是天才,因此所能达到的成就,也就往往与你为达成这一目标所付出的时间成正比了。

作为一名技术人员,在我呆过的每个公司,都会有同事因为待遇或其他原因,放弃技术路线,转而成为一名业务人员。而我由于对技术的热爱,始终坚持从事技术相关的工作,随着经验与能力的累积,我成了公司的技术专家,反而获得了更好的升职机会。现在再回过头来看,正是由于我比较早地确定了自己的职业方向,并坚持下来,才在某些领域获得了比较优势,并取得现有成绩的。

10,000小时定律

我曾看过一本书,名叫《异类 不一样的成功启示录》,作者对社会中那些成功人士进行了分析,书中那些被称为异类的 计算机天才,杰出的棒球手,演奏家,无一例外都是经过了超过10,000小时的练习才达到了超乎常人的技能。

而另一个我最喜欢故事,是关于一位做寿司的日本老人的,他便是被誉为寿司之神的小野二郎,他的寿司店数寄屋桥次郎(Sukiyabashi Jiro)被《米其林美食指南》评为三颗星的美食店,被公认为拥有世界上最好的寿司服务。而他作为全球最年长的米其林三星寿司大厨在88岁高龄仍然在不断探索寿司制作之道,当然他花在寿司制作上的时间,也远远超过了10,000小时。

我使用上面两个例子,是希望告诉你,无论你在哪个领域,只要能坚持为同一目标持续不断地努力,花费超过10,000小时进行练习和钻研,那么你也一定能够成为该领域杰出的人才,并成为他人眼中的异类。

提高工作效率

在工作中,我们经常会看到这样的场景,甲,乙两个员工,领导布置了类似的工作,甲员工非常努力,加班加点按时交付了领导布置的工作,而乙员工做得很快,在很短时间内便完成了,一到下班就回家去了。那么作为老板,会如何评价这两位员工呢?我想他一定会认为 甲是一个好员工,但乙员工的潜力更大,值得花更大的力气去培养。

我们做得更快,也就意味着我们可以做得更多,为公司或团体创造更大的利益。这同样能给我们自己带来更多的机会。因此,你应该尽可能地提高自己的工作效率。

对于提升工作效率,我有两点建议

7. 世界最着名的黑客

李纳斯·托沃兹(Linus Torvalds)
当今世界最着名的电脑程序员、黑客。Linux内核的发明人及该计划的合作者。托瓦兹利用个人时间及器材创造出了这套当今全球最流行的操作系统内核之一。使自由软件从产业思想运动演变成为市场商业运动,从此改变了软件产业,乃至IT产业的面貌。

乍得·斯托曼

个人简介:

圈内头衔:无 (毫不隐藏!)

主要成就:老牌黑客。1971年,斯托曼在街上找到一份MIT的人工智能实验室的工作。当时他是哈佛大学的一名本科生。后来,斯托曼创立了自由软件基金,打破了软件是私有财产的概念。

第一次接触计算机:1969年在IBM 纽约科学中心,时值16岁。

自己独特的黑客工具:在上世纪 80年代, 斯托曼不拿MIT的薪水但继续在其中的一个办公室工作。在那里他创造了一个新的操作系统GNU--GNU是"GNU's Not Unix"的缩写。

鲜为人知的事实:曾获得麦克阿瑟基金24万美元天才奖。

五短身材,不修边幅,过肩长发,连鬓胡子,时髦的半袖沙滩上装,一副披头士的打扮。看起来象现代都市里的野人。 如果他将一件"麻布僧袍"穿在身上,又戴上一顶圆形宽边帽子,有如绘画作品中环绕圣像头上的光环。一眨眼的功夫,他又变成圣经中的耶稣基督的样子,散发着先知般的威严和力量。野人与基督,恰恰就是自由软件的精神领袖理乍得·斯托尔曼的双重属性:他既是当今专有(私有)商业软件领域野蛮的颠覆者,又是无数程序员和用户心目中神圣的自由之神。

在他的理论下,用户彼此拷贝软件不但不是"盗版",而是体现了人类天性的互助美德。对斯托尔曼来说,自由是根本,用户可自由共享软件成果,随便拷贝和修改代码。他说:"想想看,如果有人同你说:'只要你保证不拷贝给其他人用的话,我就把这些宝贝拷贝给你。'其实,这样的人才是魔鬼;而诱人当魔鬼的,则是卖高价软件的人。"可以断定,进入世纪末,软件业发生的最大变革就是自由软件的全面复兴。在自由软件的浪潮下,软件业的商业模式将脱胎换骨,从卖程序代码为中心,转化为以服务为中心。

作为今天的一名电脑用户,如果你的朋友希望你能为他复制一份受版权保护的程序,你不应当拒绝,合作精神比版权更重要。而且,这种合作不应只在地下进行,每个人都应该以此为荣,公开自己的诚实生活,对所有私有软件说"不"。

你应该可以公开、自由地与其他软件使用者合作,你有权了解软件的工作原理,并将其传授给你的学生,当软件发生问题时你完全可以雇用你所喜爱的程序员对它进行修改。你理应得到自由的软件。"

有人说,斯托尔曼应该算是世界上最伟大,软件写得最多的程序设计师。但是,斯托尔曼真正的力量,还是他的思想。因此,他最欣赏的英雄是南非的曼德拉。

约翰·德拉浦
圈内头衔: Cap'n Crunch(嘎吱上尉)

主要成就:发现了使用("嘎吱嘎吱船长"牌的)麦片盒里作为奖品的哨子(向电话话筒吹声)可以免费打(长途)电话。Cap'n Crunch 给几代黑客引入了"盗用电话线路"打(长途)电话的辉煌思想。

第一次接触计算机:青少年时期,试图使投币式公用电话确信得到他的硬币和接通他的电话。

自己独特的工具: 嘎吱嘎吱船长牌的麦片盒里的玩具口哨,能够产生2600 赫兹的音调,这是(让电话系统)开启一个(电话)呼出的蓝匣子(用这种装置侵入电话系统),用户就也可以免费地打(长途)电话。 (随后的奥斯卡梅耶韦纳Oscar Meyer weiner口哨也曾一度获得电话飞客们的青睐)

1943年出生于美国乡村的德拉浦,从小就表现出了极强的反叛性格,这样的性格决定了日后他那特立独行的骇客面目。不过尽管他的个性孤辟,但是他却拥有了一个异常发达的大脑,这使他常常可以比别人更快地获得新的知识。上世纪60年代初期,德拉浦开始接触到计算机这个新生的事物,尽管当时的计算机还只是个庞大、繁杂、呆板的家伙,但是这已经足以令德拉浦迷恋得如痴如醉了。

1968年正在服兵役的德拉浦参加了着名的越南战争,由于他与众不同的性格及糟糕的表现,他在越南战场仅执行一次任务后就被美国空军体面地开除。但是这样的结果却使他及时地从越南战场上返回了美国,使他能够继续投身到他自己感兴趣的事物之中。

回到国内之后他很快就陷入到了一个深渊之中,这就是对当时的电话系统疯狂地钻研。当时AT&T(美国电话电报公司)实现了一项被称为"长途直拨"(DDD,Direct Long Distance Dialing)的革命性的新设想。DDD允许用户不经帮助就能在家庭电话机上拨打一组数字来连接遥远的城市或大陆,一连串快速的、可听见的音调向系统发出交换信息和费用信息,从而可以自动产生连接而无需接线员的介入。德拉浦对此表现出来了极大的兴趣,甚至可以说是达到了疯狂的程度。

埃里克·雷蒙德

任何一场革命或者运动都需要一个理论家,需要一份纲领性的文献,起到真正的"画龙点睛"的神效。除了架构极具思辩力和逻辑性的理论体系,更需要激发起人们对美好理想的向往,为同行者的士气传递极具煽动性的烈焰。目前,这场正在颠覆软件业传统商业模式的自由软件运动也不例外。自由软件精神领袖当然是理乍得·斯托尔曼(Richard Stallman),但他太超凡脱俗,而且,除了提出核心理念外,斯托尔曼缺乏着书立作的能力。这些局限,使得埃里克·雷蒙德(Eric S. Raymond)脱颖而出,担当了这个角色。如今,他已经成为开放源代码运动(脱胎于自由软件运动)和黑客文化的第一理论家,不可动摇。

在自由软件启蒙阶段,埃里克·雷蒙德以如椽之笔呼啸而出,其核心着作被业界成为"五部曲":《黑客道简史》(A Brief History of Hackerdom)、 《大教堂和市集》(The Cathedral and the Bazaar)、《如何成为一名黑客》(How To Become A Hacker)、《开拓智域》(Homesteading the Noosphere)、《魔法大锅炉》(The Magic Cauldron)。其中最着名的当然还是《大教堂和市集》,它在自由软件运动中的地位相当于基督教的《圣经》。而用黑客们的话说,这是"黑客藏经阁"的第一个收藏。

1957年,雷蒙德出生于美国马萨诸塞州的波士顿,正好就是黑客文化发源地MIT的所在,也是斯托尔曼发动自由软件运动的大本营。但雷蒙德从小就跟随父母在世界各地东奔西走,13岁之前已经忘掉了两种语言。1971年,他回到美国宾夕法尼亚州,1976年起开始接触黑客文化,1982年完成第一个开放源代码软件项目。雷蒙德不是光说不练的笔杆子,他INTERCAL编程语言的主要创作者之一,曾经为EMACS编辑器作出贡献。雷蒙德还是着名的Fetchmail程序的作者。

1990年,他编辑了《新黑客字典》。从此对黑客文化着迷,成为黑客部落的历史学家和黑客文化的学者,1996年写成了《黑客道简史》。他开始把自己定位于人类学家:"人类学家的工作就是研究人的行为及整个社会,研究人类文化的形成、文化的作用方式、文化如何随时间变化而变化,以及人类如何适应不同的文化环境等。我考虑最多的是有关计算机黑客的文化,更多地集中于从社会的角度分析,而不是他们的高超技术和程序。"

他以他姓名的缩写,ESR作为黑客代号。

雷蒙管理着30多个开源软件以及10多个主要的FAQ。他还是重要的作家和weblogger。他是INTERCAL编程语言的主要创作者之一,还曾经为EMACS编辑器的发展作出贡献。雷蒙还是Fetchmail程序的作者。

雷蒙的名言,“足够多的眼睛,就可让所有问题浮现。”(Given enough eyeballs, all bugs are shallow),对开放源代码运动影响很大,这亦即是着名的林纳斯定律。

1997年以后,雷蒙成为了开放源代码运动的主要理论家,以及开放源代码促进会(Open Source Initiative)的主要创办人之一。他还担任了开放源代码运动对媒体、商界以及主流文化的形象大使。他是一名优秀的演说家,并曾经到过六大洲的15个国家进行演说。他的话经常被主流媒体所引用,并是所有黑客中曝光率最高的。

雷蒙的策略获得了很大的成功。一般认为,1998年Mozilla的发布主要归功于他。大多数黑客和主流观察家也同意,正是雷蒙将开放源代码的理念成功地带到了华尔街。但是也有批评他的声音:有一些黑客认为他利用这些机会为自己打广告,而他对理乍得·斯托曼和自由软件基金会的理想主义所进行的批评,以及所采取的更务实、更符合市场口味的线路,也曾经在黑客社群里掀起了不小的政治对立。

雷蒙是一个彻头彻尾的自由主义者。他对科幻小说十分感兴趣,是一名出色的业余音乐家,还是空手道黑带选手。他坚持美国宪法修正案第二条中关于公民持枪械的自由,并因此遭到很多黑客的反对,但他自己却十分喜欢和人争辩该议题。

埃里克·雷蒙德

任何一场革命或者运动都需要一个理论家,需要一份纲领性的文献,起到真正的"画龙点睛"的神效。除了架构极具思辩力和逻辑性的理论体系,更需要激发起人们对美好理想的向往,为同行者的士气传递极具煽动性的烈焰。目前,这场正在颠覆软件业传统商业模式的自由软件运动也不例外。自由软件精神领袖当然是理乍得·斯托尔曼(Richard Stallman),但他太超凡脱俗,而且,除了提出核心理念外,斯托尔曼缺乏着书立作的能力。这些局限,使得埃里克·雷蒙德(Eric S. Raymond)脱颖而出,担当了这个角色。如今,他已经成为开放源代码运动(脱胎于自由软件运动)和黑客文化的第一理论家,不可动摇。

在自由软件启蒙阶段,埃里克·雷蒙德以如椽之笔呼啸而出,其核心着作被业界成为"五部曲":《黑客道简史》(A Brief History of Hackerdom)、 《大教堂和市集》(The Cathedral and the Bazaar)、《如何成为一名黑客》(How To Become A Hacker)、《开拓智域》(Homesteading the Noosphere)、《魔法大锅炉》(The Magic Cauldron)。其中最着名的当然还是《大教堂和市集》,它在自由软件运动中的地位相当于基督教的《圣经》。而用黑客们的话说,这是"黑客藏经阁"的第一个收藏。

1957年,雷蒙德出生于美国马萨诸塞州的波士顿,正好就是黑客文化发源地MIT的所在,也是斯托尔曼发动自由软件运动的大本营。但雷蒙德从小就跟随父母在世界各地东奔西走,13岁之前已经忘掉了两种语言。1971年,他回到美国宾夕法尼亚州,1976年起开始接触黑客文化,1982年完成第一个开放源代码软件项目。雷蒙德不是光说不练的笔杆子,他INTERCAL编程语言的主要创作者之一,曾经为EMACS编辑器作出贡献。雷蒙德还是着名的Fetchmail程序的作者。

1990年,他编辑了《新黑客字典》。从此对黑客文化着迷,成为黑客部落的历史学家和黑客文化的学者,1996年写成了《黑客道简史》。他开始把自己定位于人类学家:"人类学家的工作就是研究人的行为及整个社会,研究人类文化的形成、文化的作用方式、文化如何随时间变化而变化,以及人类如何适应不同的文化环境等。我考虑最多的是有关计算机黑客的文化,更多地集中于从社会的角度分析,而不是他们的高超技术和程序。"

他以他姓名的缩写,ESR作为黑客代号。

雷蒙管理着30多个开源软件以及10多个主要的FAQ。他还是重要的作家和weblogger。他是INTERCAL编程语言的主要创作者之一,还曾经为EMACS编辑器的发展作出贡献。雷蒙还是Fetchmail程序的作者。

雷蒙的名言,“足够多的眼睛,就可让所有问题浮现。”(Given enough eyeballs, all bugs are shallow),对开放源代码运动影响很大,这亦即是着名的林纳斯定律。

1997年以后,雷蒙成为了开放源代码运动的主要理论家,以及开放源代码促进会(Open Source Initiative)的主要创办人之一。他还担任了开放源代码运动对媒体、商界以及主流文化的形象大使。他是一名优秀的演说家,并曾经到过六大洲的15个国家进行演说。他的话经常被主流媒体所引用,并是所有黑客中曝光率最高的。

雷蒙的策略获得了很大的成功。一般认为,1998年Mozilla的发布主要归功于他。大多数黑客和主流观察家也同意,正是雷蒙将开放源代码的理念成功地带到了华尔街。但是也有批评他的声音:有一些黑客认为他利用这些机会为自己打广告,而他对理乍得·斯托曼和自由软件基金会的理想主义所进行的批评,以及所采取的更务实、更符合市场口味的线路,也曾经在黑客社群里掀起了不小的政治对立。

雷蒙是一个彻头彻尾的自由主义者。他对科幻小说十分感兴趣,是一名出色的业余音乐家,还是空手道黑带选手。他坚持美国宪法修正案第二条中关于公民持枪械的自由,并因此遭到很多黑客的反对,但他自己却十分喜欢和人争辩该议题。

埃里克·雷蒙德

任何一场革命或者运动都需要一个理论家,需要一份纲领性的文献,起到真正的"画龙点睛"的神效。除了架构极具思辩力和逻辑性的理论体系,更需要激发起人们对美好理想的向往,为同行者的士气传递极具煽动性的烈焰。目前,这场正在颠覆软件业传统商业模式的自由软件运动也不例外。自由软件精神领袖当然是理乍得·斯托尔曼(Richard Stallman),但他太超凡脱俗,而且,除了提出核心理念外,斯托尔曼缺乏着书立作的能力。这些局限,使得埃里克·雷蒙德(Eric S. Raymond)脱颖而出,担当了这个角色。如今,他已经成为开放源代码运动(脱胎于自由软件运动)和黑客文化的第一理论家,不可动摇。

在自由软件启蒙阶段,埃里克·雷蒙德以如椽之笔呼啸而出,其核心着作被业界成为"五部曲":《黑客道简史》(A Brief History of Hackerdom)、 《大教堂和市集》(The Cathedral and the Bazaar)、《如何成为一名黑客》(How To Become A Hacker)、《开拓智域》(Homesteading the Noosphere)、《魔法大锅炉》(The Magic Cauldron)。其中最着名的当然还是《大教堂和市集》,它在自由软件运动中的地位相当于基督教的《圣经》。而用黑客们的话说,这是"黑客藏经阁"的第一个收藏。

1957年,雷蒙德出生于美国马萨诸塞州的波士顿,正好就是黑客文化发源地MIT的所在,也是斯托尔曼发动自由软件运动的大本营。但雷蒙德从小就跟随父母在世界各地东奔西走,13岁之前已经忘掉了两种语言。1971年,他回到美国宾夕法尼亚州,1976年起开始接触黑客文化,1982年完成第一个开放源代码软件项目。雷蒙德不是光说不练的笔杆子,他INTERCAL编程语言的主要创作者之一,曾经为EMACS编辑器作出贡献。雷蒙德还是着名的Fetchmail程序的作者。

1990年,他编辑了《新黑客字典》。从此对黑客文化着迷,成为黑客部落的历史学家和黑客文化的学者,1996年写成了《黑客道简史》。他开始把自己定位于人类学家:"人类学家的工作就是研究人的行为及整个社会,研究人类文化的形成、文化的作用方式、文化如何随时间变化而变化,以及人类如何适应不同的文化环境等。我考虑最多的是有关计算机黑客的文化,更多地集中于从社会的角度分析,而不是他们的高超技术和程序。"

他以他姓名的缩写,ESR作为黑客代号。

雷蒙管理着30多个开源软件以及10多个主要的FAQ。他还是重要的作家和weblogger。他是INTERCAL编程语言的主要创作者之一,还曾经为EMACS编辑器的发展作出贡献。雷蒙还是Fetchmail程序的作者。

雷蒙的名言,“足够多的眼睛,就可让所有问题浮现。”(Given enough eyeballs, all bugs are shallow),对开放源代码运动影响很大,这亦即是着名的林纳斯定律。

1997年以后,雷蒙成为了开放源代码运动的主要理论家,以及开放源代码促进会(Open Source Initiative)的主要创办人之一。他还担任了开放源代码运动对媒体、商界以及主流文化的形象大使。他是一名优秀的演说家,并曾经到过六大洲的15个国家进行演说。他的话经常被主流媒体所引用,并是所有黑客中曝光率最高的。

雷蒙的策略获得了很大的成功。一般认为,1998年Mozilla的发布主要归功于他。大多数黑客和主流观察家也同意,正是雷蒙将开放源代码的理念成功地带到了华尔街。但是也有批评他的声音:有一些黑客认为他利用这些机会为自己打广告,而他对理乍得·斯托曼和自由软件基金会的理想主义所进行的批评,以及所采取的更务实、更符合市场口味的线路,也曾经在黑客社群里掀起了不小的政治对立。

雷蒙是一个彻头彻尾的自由主义者。他对科幻小说十分感兴趣,是一名出色的业余音乐家,还是空手道黑带选手。他坚持美国宪法修正案第二条中关于公民持枪械的自由,并因此遭到很多黑客的反对,但他自己却十分喜欢和人争辩该议题。

8. 全球十大编程语言排行榜:C最古老,JavaScript第一

在软件开发行业,新技术正以快节奏的方式出现。程序员在选择编程语言时也应该顺应行业和时代的发展趋势,以保持他们在技术市场的领先优势。许多编程语言中哪一种是你最喜欢的?
最近,GitHub作为编程界的“脸谱”,列出了世界上十种最流行的编程语言。它们都在使用吗?让我们看看。
世界十大编程语言列表
10、C
C是最常用和最古老的编程语言之一,创建于20世纪70年代初。1978年,贝尔实验室正式发布了C语言,并出版了一本名为《The C Programming Language》的书,该书被用作对C语言的非正式标准解释。
9、Go
Go最初是由谷歌设计的,旨在为全球最繁忙的搜索引擎谷歌提供一个巨大的多处理器系统。如今,用围棋语言编译的程序已经可以与C9和C9的速度相匹配,并且更加安全,已经成为开发人员的热门选择。微软也开发了
8、C#
语言,发音为“C-夏普”。它是Java的竞争对手,主要用于开发商业软件和系统级应用程序。
7、CSS
层叠样式表(CSS)是一种广泛使用的网站设计和基于浏览器的编程语言。
6、C++
C是创建于1983年的C编程语言的一个分支。我们可以在桌面网络应用程序或服务器框架中找到它。
5、PHP
PHP被广泛使用。我们包括雅虎!脸谱网和其他使用PHP作为网站代码的大型网络公司。PHP是C语言、JAVA语言和PERL语言的混合。它可以将程序嵌入html中执行。
4、Ruby
Ruby因其易于阅读和书写而赢得了许多赞誉。Ruby可以使构建网络应用程序变得容易。这种语言的座右铭是“程序员最好的朋友”,这也被许多老程序员称为最易读的语言。
3、Java
Java最初是由太阳微系统公司在1991年创建的。Java吸收了C语言的优点,具有功能强大、使用方便的特点。甲骨文在2009年收购太阳后,爪哇已经成为一个强大的制造商。JAVA是安卓应用程序中最常见的语言。自2007年3月以来,世界各地的人们都可以修改JAVA源代码。
2、Python
Python可追溯到1989年,由荷兰吉多·范·罗苏姆发明。由于其可读性很强的代码,它很受程序员的欢迎,许多程序员认为这是最容易上手的语言。
1、JavaScript
尽管它们的名字与Java非常相似,但JavaScript实际上与JAVA没什么关系。它在客户端的脚本语言中被广泛使用,最初是在html网页上,但它也会减慢浏览器速度,有时会使用户暴露在安全漏洞中。
但是与此同时,我们可以发现几乎所有的网页现在都有了阴影。
除了全球十大编程语言之外,GitHub流行的编程语言列表还包括TypeScript、Shell、Swift、Scala和Objective-C.
以下是全球十大编程语言的完整投票表:8、Ruby
7、CSS
6、C
5、C#
4、PHP
3、Python
2、Java
1、JavaScript

9. 老程序员都到哪儿去了--寻找40岁之后软件开发者的象冢

老程序员都到哪儿去了? --寻找40岁之后软件开发者的象冢 人们都认为软件开发是年轻人的游戏。当年轻自信的程序员获得优厚的待遇并向管理层晋升的时候,老程序员们甚至找工作都困难。真的如此吗?在最近的一篇文章中,加州大学戴维斯分校的计算机科学教授Norman Matloff认为“软件工程是职业生涯的死胡同”。他写到:“很多程序员发现,大约从35岁起他们的就业能力就开始走下坡路了。”如果这要是在广播上的话,我会选择跳过这段录音。35岁?我还以为我们要讨论年纪更大些的程序员呢。从什么时候起35岁就算是“老人”了?Matloff继续说:“统计表明,大多数软件开发者40岁之前会离开编程领域。”看到这儿我的眉毛开始挑起来了。大多数程序员?还他们中的绝大多数?离开?(Matloff拒绝说明他从哪里看到的统计数字。)如果这是真的,那些老程序员都去哪儿了?是否真有这样的地方,让我们把疲倦衰弱的、不适合再做程序员的人送去,使他们远离年轻程序员的视线,优雅的死去?或者说他们拿到了不动产执照? 还是去开剪贴簿商店了?我有点怀疑。天真的要塌了? 好了,我并不是走极端说软件开发中不存在年龄歧视。这种现象可能在技术领域比其他行业更普遍。但我不得不说,当我读到Matloff令人震惊的言论时,我的直觉反应是我不买账。首先,可以举一些经验证据:我认识相当多的人,我的社交圈里基本每个人都超过或者马上就到40岁了,里面有很多是软件开发者。这怎么解释?难道我的每个程序员朋友都碰巧是统计的离群值吗?除了统计之外,像Matloff的这种恐慌性文章还通过选择性地援引一些技术明星的话来作为支持。Matloff引用Intel前CEO Craig Barrett的话说,“软件工程师或硬件工程师的半衰期只有几年”。此外,他说,Mark Zuckerberg……,唉,我们就别替他操心了。尽管Gordon Moore的一些随便的评论已经成了“定律”,我不会因为他们都曾是Intel的CEO而给Craig Barrett相同的特权。简单的引用几句话很容易,真正的研究下不是更好吗?这些程序员到底去哪里了呢,我在猜测,而且有点眉目了。坚守下去 首先,很多人并未离去。他们在某个领域、行业、工具或者公司变得非常专业化,他们开拓商机并坚持做到最好。有的程序员在大的技术公司成为杰出工程师。他们也是Matloff统计数据的离群值吧,所以让我们忘了他们吧。其他一些程序员肯定会晋升到管理岗位。我知道你肯定在翻白眼,也许你会说“软件开发经验并不能使你成为一个好的管理者”。你知道吗?其实管理培训课程也未必能。重点在于,晋升会带来新的头衔。告诉别人你的新头衔是宣告你进入了一个更高位置的最好方式。当下一次有调查让你填工作角色时,你可能选择“项目经理”而非“软件开发者”,即使你仍然直接参与软件设计、规范、开发、测试和部署过程的每一步。晋升是留住雇员的一种方式。但不管相信与否,进入软件开发团队的管理位置并不意味着你已经放弃了程序员的工作。然而,看起来统计也是没有包括这部分人的。低调神秘,开启职业新篇章 尽管其他开发者不再从事原来的工作,但并未离开这个领域。他们继续创业,角色可能转变成为负责人或CTO。一般职业调查是不包括企业家的,这些人同样没在统计之中。职业调查可能也漏掉了独立承包人。对于软件开发者而言,咨询业也是个商机,它非常青睐这些成熟的、有丰富行业经验的程序员们。显然,如果你并不打算找一个全职工作,他们就无法估算你找一个全职工作要花多长时间。你是否注意到国家失业统计数字并不包括那些不找工作的人?承包人同样影响职业统计。沿着这些思路,我们来检查下Matloff引用的统计信息。他说,研究表明,“超过40岁的工作人员失业之后再找工作要多花23.4%的时间”。真有意思,但是研究没有分析为什么——可能他们将时间花在了咨询上呢。还有一点是,成熟的程序员们已经为错误交过学费了。他们可能曾经犯过错误,干过不好的工作,并习惯于某种生活标准。他们并不会感到很大压力非要在第一份工作来的时候就抓住,特别是当他们过去几年过着六位数收入的舒适生活时。有经验的程序员找新工作花的时间更长,可能因为他们要求的标准更高呢?综合信息但是谁真正在乎Matloff说的那些话呢,是吧?统计,所有这一切,都是谎言,可恶的谎言。不管这些灾难预言者怎么说,年长的技术人员很可能对自己在职业生涯中的位置有一个公正的认识。我真正担心的是,Matloff的文章传达给年轻一代(特别是那些马上进入这个工作领域的人)的信息。一方面,高科技看来仍然是美国为数不多的真正繁荣的行业之一。公司说他们找不到足够多的合格人选。政治家和教育家们绞尽脑汁要燃起年轻人对计算技术的兴趣。并且,一年年的,软件开发一直栖身于最好的工作之列。另一方面,我们却有像Matloff写的这样的文章,认为编程工作是个死胡同,当其他领域的人员正处于职业生涯巅峰时,程序员只能寄望于被送到制胶厂。

阅读全文

与全球最年长的程序员相关的资料

热点内容
堵车如何缓解压力 浏览:15
喜鹊快贷app怎么了 浏览:263
海龟编辑器积木编程怎么安装 浏览:185
程序员理发店生意怎么样 浏览:603
程序员罗技 浏览:180
软考初级程序员课程2021下载 浏览:491
杭州程序员奶奶 浏览:880
不听命令造成错误 浏览:981
kool系统源码 浏览:610
流氓app在哪里看 浏览:98
域名购买了怎么指向服务器 浏览:121
安卓手机如何让照片颜色反转 浏览:859
怎么下载卓睿安手机版 浏览:514
h3crange命令 浏览:468
php前景和python 浏览:338
php压缩图片内存大小 浏览:495
在哪里可以查看云服务器的信息 浏览:70
python读取非txt文件 浏览:799
艾莫迅用什么编程软件好 浏览:227
android文件存储读取 浏览:214