① 避免迷茫跳槽,程序员有哪些发展路径
程序员一般的发展方向主要包括:技术专家,架构师,技术管理,管理,产品。接下来通过例子和大家分享以下四种不同的发展路径及适合走这四类路径的人群的三个关键词
我之前的一位候选人Z先生,他12年从湖北工业大学毕业,而后去了搜狗担任工程师,做了两年后,跳到了另一家公司叫小麦公社,是当时一家风头正劲的创业公司,担任B端高级开发,后来去到了因果树担任B端的技术资深开发,在今年2月份入职了杭州阿里巴巴,同样是负责B端商家后台部门,担任技术专家,他职业规划最大的亮点是找到自己想要专注的领域并且一直坚持至今。
也是之前100offer的一个用户,H先生,他11年北航毕业,而后选择创业做SAAS平台当时担任前端负责人,两年后选择加入搜狗成为一名高级前端工程师,后来去到了音悦台担任架构师,目前在一家创业公司担任前端架构师,他职业规划的最大亮点是在前端领域各个方向都深入见解,而后负责多条产品线的架构设计。
那以上两种技术路线有什么不同呢,应该如何选择呢?
技术专家,是偏理论研究的,对某个或某些相关的专业领域深入了解,能直接或通过提供思路间接解决这些领域的各种问题;架构师,是偏工程实践的,与技术专家的区别在于它需要一专多能,提供方案解决问题已经不是它最重要的价值,它的价值体现在选择性价比最高的方案。
说我们100offer的一位用户Q先生吧,他在30岁就成为了某知名共享单车公司的CTO,说一下他的职业规划,09年首都经理贸易大学毕业加入一家创业公司担任开发移动端工程师,两年后加入360担任资深研发工程师,而后加入新浪微博担任移动端部门的技术负责人,而后加入了宜信担任技术总监,在去年7月加入共享单车公司担任CTO。他职业规划的最大亮点是一直在核心业务上往技术管理进阶,最终成为一名优秀的管理者。
谈到这类管理路径,必须要说明下技术管理和管理的区别,技术管理是事情为中心,管理是以人为中心,技术管理主要工作是保证事情能按时按质完成,管理需要考虑团队的士气和稳定性、阶梯性。
X先生是100offer的一位深度用户,也带来一个海龟码农成功转行产品经理的故事,09年毕业于美国工程类名校普渡大学,而后回国在一家外企担任开发工程师,一做就是5年,14年一个幸运的机会加入了腾讯,当时腾讯面试了7轮,拿到了T1-2,月薪1W2的工程师offer,基本是刚毕业一年左右应届生的水平。在腾讯主要做手机QQ红点系统,做了两年,他从未抱怨。他也给我们展示了所谓"红点",其实就是手机QQ上不同接口旁的红点引流。手机QQ流量日活上亿,但是会点击那些游戏、商城、音乐等接口的用户大概只有1%,红点主要就是吸引那些有强迫症的用户点进去引流。从最开始的红点数量的改进,到后面根据不同属性用户设置不同红点,再到后来和其他产品合作比如京东商场,搞红点的竞价排名...就这么一个小功能腾讯专门养了一个团队去做,对于BAT这种大公司来说,一个小的模块和功能的改进能带来很大的利润,很多人常年都在做很小一个模块的重复工作,很难独立完整去做项目,里面闲人很多。
所以工作两年后,许宁也想做点商业化的东西了,给部门老大反馈了想法没得到支持,在内部其他部门也争取了问了一圈没能成功转岗,于是就想出来,不想继续在腾讯里面慢慢熬晋升了,从腾讯出来是那年是2016年3月,T2-3。而后在100offer上入职了一家投资公司,以产品经理的身份加入,两年过去了,目前已经成为了一名高级产品经理。他职业规划的最大亮点是深思熟虑后立刻决定和行动,没有犹豫,而机会往往更容易留给有准备和有勇气的人。
(资料来源:100offer网)
② Java的职业发展是怎么样的
1、软件设计师
其实很多程序员走到这个阶段已经在做软件设计师工作了,这是绝大多数程序员发展的必经之路。
程序员在编程序的时候,一方面会实现设计的功能,另一方面也在对设计有一个理解、认识、熟知的过程,进而慢慢地从学习别人设计,转向到自己参与或独立设计。
如果这个程序员真的非常非常喜欢程序员这个职业,则可以转向软件设计师。这个转变很大程度是程序员意识的转变,就是说要把编程的时间,逐步分摊到软件设计上,要把重点从编程实现转变到项目的功能设计上。
我这里强调的是“逐步”的一个过程,程序员要逐步减少编程的时间,增加设计的时间,要克服编程的强大吸引力,要主动地攀上设计这个台阶。很难有一个设计师是完全不编程的,而且我认为,会编程的设计师才是真正的设计师,一般这种转变需要花上一到两年时间。
2、 项目经理
也有一些程序员工作机遇比较好,不但负责了项目的设计工作,而且负责了项目管理工作,对项目经理这个工作有了一定的尝试。因此,这类程序员可以审视一下自己,是否合适这项工作,如果自己对这种工作比较满意,而且具备项目经理的要求,则可以向项目经理这个方向发展。
项目经理承担着项目管理的职责,对项目负主要责任。它和程序员的作用也不相同,项目经理的重点已经从编程转移到对人、对技术、对进度、对项目的管理。由于软件的项目经理与软件项目的相关性太大,因此,他必须要了解软件开发的各个环节、了解开发的各种技术和运用、了解开发队伍人员的水平和特点,所以他依旧和程序员脱不了干系。
从程序员到项目经理可以使得项目经理更好地理解程序员在项目中的地位和作用,了解软件开发的各种规律性的东西,从而保证项目的正常完成。
而且,项目经理的收入在公司中的地位也是比较高的。因此,我认为走向项目经理是程序员的另一个发展空间。
我想提醒一下,程序员在担任项目经理之前最好要把软件设计工作做好,这样在做项目经理的时候,就会有很好的基础。
3、 管理者
很多程序员希望自己能成为公司中的主管、经理、老总、老板,这样无论是收入和在公司的地位都相对比较高一些。另外,一方面程序员可能厌倦了年复一年的编程工作,对工作产生了抵触情绪,希望能摆脱这种步步紧逼的工作状态。
走向管理者其实要求程序员要比一般人做更多的准备,要做更多的转型工作,并不是想当管理者 就能成为管理者的。但是,如果程序员有这个志向和爱好,有积累了这方面的工作经验,自己也感觉在这个方面能够发展,更重要的是有这样的机会,走向管理者也 是可能的。
由于软件公司的管理者毕竟不同于一般公司的管理者,专业能力越强,管理起来就越得心应手的,没有专业能力的管理,遇到的问题很多,也很难解决。
因此,我的建议程序员最好要把编程、项目设计、项目管理等基础打打好,这样转型到管理者成功率就会高一些。
4、 软件营销
我一直说,程序员最大的缺点之一,就是眼光只盯在技术上,在入门阶段和成长阶段,这种情况还是属于正常的。但是,到了成熟阶段这种缺点将会严重影响程序员的发展。
程序员在工作中不免会接触到用户,不免会了解到用户的需求。从而了解到软件实际发挥的作用,进而了解了自身的工作价值所在。有的程序员则固步自封,不愿意和外界打交道,从内心里坚守技术底线。而有的程序员则喜欢和外人交流,喜欢把自己的软件推荐给用户,而且用户也乐意接受这种专业的介绍,用户的接受是程序员价值的直接实现,程序员因此获得了工作成就感。
这类的程序员可以将自己的专业知识和产品营销结合在一起,推动软件的销售和服务,转向软件营销职业。这个职业将是一个比程序员更有发展的职业,它可以直接反应程序员的工作能力和工作成果,程序员的收入和销售会直接挂钩。
因此,可以让有销售才华的程序员获得更高的收入,接触到更大的软件市场,看到更广的个人发展空间。
5、 原地发展
当然也有一些程序员惰性比较大,满足于现状,享受着眼前的胜利果实,这也无可非议。对待这些程序员,我们不要强求他们改变自己的想法,我建议是原地发展,把本职工作做得更好,把自己的技术水平往上再提高一步。
在这个过程中他们的能力和自信心都会得到提高,他们的想法不会一直一成不变的。磨刀不误砍柴功,刀快了自然会去砍柴的。
不管做哪一行,都该尽早做好职业规划,人都是需要有一个目标去激励自己,Java程序员更是如此。朝着一个目标逐步提升自身实力总会比原地打转好,相信聪明的你该知道怎么做。
③ 程序员转行有哪些方向
考虑学个网管,起薪低点,不用编程
④ 学生从初级进阶为高级程序员需要经历什么
程序员从初级到高级要经历什么
01 初级程序员
初级程序员一般是刚刚入行不久,工作经验只有一年及以下的同学,对干技能要求,需要他们:
1.可以完成简单模块和项目的开发工作
2.熟悉HTML、JS、CSS等基础知识
3.能够使用一门MVVM框架进行简单的业务开发
02 中级程序员
中级程序员要拥有3年及以上的工作经验,具有能够独立负责一个子模块的能力,以及能够负责一个项目的具体任务。
具体的技能要求有:
1.熟练掌握工作中使用的术栈开发业务。
2.了解一个需求从开发到上线的整个生命周期,并对各个环节负责。
3.具备基本的逻辑分析、问题分解、归纳总结等能力。
4.了解基本的数据结构和算法,写代码较熟练。
03 高级程序员
行业不缺程序员,但缺少能够同时兼具资深经验和技能优秀的高级程序员,高级程序员不但具有丰富的项目经验,且技能扎实,并能够持续保持新知识新技术的输入,才能被称之高级程序员。
技能要求:
1.具备独当一面的能力,能够带领团队展开工作。
2.针对一个需求能够从开发到上线的整个生命周期中找到痛点与漏洞,并能运用技术的手段解决。
3.能对问题和需求做出分析和拆解,做出改进、实现方案。
4.有优秀的技术选型能力。
5.熟练掌握各种技术体系。
初级,高级如何实现升阶?
第一,练习代码,学习模仿。
俗话说熟能生巧,写代码也是一样。如果本职工作的强度不算大,建议可以私下接一些小项目练手,多尝试不同的业务。写代码可以参考大佬的编码风格,学习对方的思路。如果公司有代码规范,跟随着公司的代码规范走,如果没有,参考业界规范。
第二,熟悉工作流程
也不要光埋头写代码,学着多参与进项目,去熟悉一个需求提出-开发-联调-测试一上线的整个工作环节,理解开发逻辑尝试想象自己有一个项目,该如何开展工作。第三,基础知识不能落下
知识就像棉被,需要时不时拿出来翻新、加固。基础类:JS、CSS、HTML反复学习
了解一些广度知识:HTTP、正则表达式、Web安全、性能优化、设计模式,数据结构和算法
02 中级一高级
第一,业务全局思考能力成为高级程序员,就需要具有项目全局思考能力。首先,要明白业务和公司的目标,参与到需求的早期阶段中;而后要多思考,是否可以通过技术手段提升业务价值。
第二,学习优化工作流程初级程序要要熟悉从需求-开发-联调-测试-上线的每个工作环节,高级程序员则要多思考每个环节有没有可以优化提升的地方,比如上线过程能否自动化、能否小流量上线等。
⑤ php程序员前途发展方向
PHP程序员前途发展方向
首先你要明白,PHP程序员前途有两条进阶路线。一条是技术路线,由程序员,经系统分析师、系统设计师直到架构设计师为归宿。而另一条php程序员发展方向是领导路线,由程序员,经开发小组负责人、工程负责人,奋斗到项目经理。
如果你还不是一名程序员,你是否在为是否从事程序员工作而挣扎呢?
如果你已经是一名程序员,你是否在为程序员的前途而感到迷茫呢?
如果是,我可以告诉你,做程序员是有前途的!
从程序员的角度,可以发现更好的方向,IT(IT教育 IT培训 )业不断有新东西出现。用J系列语言比用C系列语言更时尚,用面向对象(或构件)的方法比面向过程的方法更先进,还有Delphi、.NET(.NET培训 )、eLearning等开发工具,更有ERP(企业资源计划(ERP)培训 )(企业资源计划)、CRM(客户关系管理)、SCM(供应链管理)、CPC(协同产品商务)、BIS(商业智能系统)、EAI(企业应用集成)、EIP(企业信息门户)等层出不穷的新概念。如果你能不断与时俱进,追着新东西走,可以极大的'锻炼你的学习能力,分析问题的能力和解决问题的能力。
从社会的角度来讲,社会对程序员的定位是满足技术需求,程序员自身所受的教育和积累的经验也使自主前程意识局限于技术路线。实际上,我们所看到的在技术方面有建树的前辈多是综合型的人才,单纯局限于技术思维的多有行为局限,也难看出自身的幸福感。其实,人有多方面的属性,除非你是极少数的天才,在某一方面特别突出(相应地在其它方面就很脆弱),大多数人是多种属性综合发展,而且各属性间相互促进。所以,在考虑程序员的前程时,有必要分析程序员的主要属性及其可能产生的影响。
当你把程序当作异物看待时,编程是一种负担,是劳累的事儿,是极其厌恶的事。如果能把编程当成一种兴趣,一种爱好。这样你就会不断努力,不断学习新知识,把程序作为人生奋进的载体,创造性地使用程序,并且能影响到其它领域。
php程序员前途很大,做程序员最需要的就是熬得住找准php程序员发展方向,有时候你努力了很长一段时间可能一点好的结果都没有这是很正常的。所以就看你的耐心怎么样。如果你仅仅是有激情,想进入这个行业尝试,那做为前辈来说我还是奉劝你打消这个念头,到IT里面做程序设计是很辛苦的,很多时候你脑子里想的只有代码,其他的都不记得了。生活不规律,睡眠不足这些都是家常便饭。所以,如果你想进来,那请你做好充分的思想准备,很多只有激情的年轻人,最后都是以放弃告终的,千万要想好,半途而废只会浪费光阴。最后,做程序员是有前途的,这个前途不是停止在程序员上,而是不断的往上走,比如成为工程师、架构师、分析师等,这些才是更高的你需要去奋斗的目标,千万不要只做底层的程序员,不然就停止进步了。
;
⑥ 程序员工作到底能干多久程序员的前途如何
千千万万的程序员们一直困惑程序员的前途如何、程序员工作到底能干多久的问题。目前比较普遍的认识,程序员的职业通道有两条进阶路线。一条 是技术路线,即由程序员、高级程序员、系统分析师,到架构设计师。在这条路线上,立足于从业务模型到计算机软件模型的转换,成为高端的软件技术工作者。另 一条是管理路线,即由程序员,经开发小组负责人、项目经理,再到企业中高层管理者。程序员加强自己管理意识的培养,多站在组织的角度来分析问题和解决问 题,成为优秀的管理者,甚至职业经理人。 近年来,产品管理成为企业多产品经营形势下一个越来越受重视的管理课题。特别是知识经济环境下,诸如互联网与软件、创意、传媒等现代新型产业链中, 其几乎可以忽略不计的复制成本,有竞争力的产品与优秀的产品管理成为了制胜的关键。基于产品的商业化运营,在越来越具聚合效应的网络时代,扁平经营、草根 聚合、精准营销、直通车服务等全新的经营环境常常造就了赢者通吃的局面,以产品为中心的企业管理逐渐形成独立的产品管理体系,被众多企业所关注和采用。 在软件企业中,随着产品管理的兴起,可以说,走向产品,是程序员在技术与管理之外的第三条职业通道。越来越多的程序员开始转型做产品工作,特别是对 那些具有创业意识的程序员而言,走向产品是一条必经之路。腾讯的马化腾和360的周鸿祎,他们都是由程序员做起,然后开创自已的产品和事业。 产品管理的兴起,产生了以产品经理为中心的产品工作职业方向。产品职业方向可以从产品系列的职务与岗位两个维度来观察。职务上,有首席产品官 (CPO)、产品总监、产品经理、产品专员、产品助理,其中尤以产品经理一职最为中心;岗位上,有产品竞争分析与用户需求管理、产品创意与策划、产品原型 设计、产品运营规划、产品实现过程跟踪、产品商品化实施、产品运营、产品经营成果分析与跟踪、产品升级维护管理、产品管理体系与制度建设、产品人员技能培 养等。这些基于产品而设计的岗位以有效满足用户需求为中心,它不同于其它以专业技术和职能效率为中心的因职能分工而产生的岗位。 产品管理是近些年随着IT和互联网的快速兴起而被各企业所重视,而现在的各大院校并没有产品管理相关的专业,各类培训机构也少有类似培训课程,从事 产品工作的人员大多是从不同专业、不同岗位转型过来的。相比较而言,程序员有着营销、测试、客服等岗位走向产品的人员所难以比拟的优势。有些公司甚至做出 了规定,欲从事产品工作,必须要有多年的软件开发经验。程序员转型从事产品工作所具有的独特优势主要包括以下几点: 第一,程序员能够更好地理解产品的实现方案,所策划的产品更具可行性。做产品策划工作,也许缺的不是点子或创意,而是有效可行的方案。多年的程序员 工作经验,对软件技术和软件实现方案的判断,可以规避那些天马行空的产品想法,工作更有成效。比如在整理用户需求时,程序员的前期有效判断和可行性辨别, 会大大提高产品的策划质量与速度。程序员出身的产品人员可以和研发人员进行无隙的沟通,用更便于研发人员理解的语言和思路来进行产品方案的解读和跟进。 第二,程序员的软件开发工作,与其说是代码的编写,不如说是逻辑语句的组织。程序员一般都具备严密的逻辑思维能力,这是进行纷繁而杂乱的需求分析和 产品概念设计必备的优势,更有利于从中分门别类理清脉络关系,转换为产品功能规划,把产品做成精品。例如需要往U盘写文件,产品人员可能只想到正常的操作 逻辑,但程序员可能会想到更多异常情况,如:U盘损坏、传输过程中拔出、断电、传输的文件损坏、U盘写保护、重复文件、焦点位置、空间不足等等。再有,好 的用户体验的产品,在本质上,就是产品功能的逻辑展示,或者说用户操作的逻辑引导。 第三,程序员往系统分析的技术方向发展,从本质上来说,同往产品策划方向发展是相通的,都需要对真实世界本质关系有着充分的理解与把握。能够走向系 统分析员的优秀程序员,完全有可能成为一个优秀的产品策划人员。差别在于系统分析员的工作成果是面向程序员、面向计算机,而产品策划是面向用户、面向市 场。每一名程序员也必定是某个软件产品开发工具的使用者,有深厚的软件产品使用体验,具有从用户出发来表述问题的基础。 第四,程序员一般都具有快速学习能力,保持对计算机相关行业动态和技术革新的观察与思考,这在一定程度上会培养对行业与技术的洞察力。产品策划和设 计工作,最后能否获得市场的成功,考验的正是这种洞察力。因为产品工作是时时围绕解决的是什么人的什么问题来开展,也就是始终围绕做正确的事。只 有对行业与技术有洞察力的人,才能够站在用户需求的角度来理解与体验,激发创意,做出好产品来。 当然,程序员虽具备上述独特优势,并不等于程序员转做产品工作,就一定能够成功。要策划出好的产品,要成为一名优秀的产品经理,他们也面临着各种挑战: 第一,创新和结构化思维的冲突。 结构化思维可以说是程序员的典型标志,这种思维模式对于把一件事情做好是很重要的,但它往往也会是创新思维的天敌。创新却是产品工作的灵魂,程序员需要不断打破常规激发灵感才能做好产品工作,就必须克服已经形成的思维定势。 第二,团队协作与英雄主义的矛盾。 程序员往往习惯于单打独斗的工作方式,崇尚技术牛人,缺少团队协作意识和与人沟通的技能。产品工作则需要大量的沟通协调,甚至组织领导工作,强调的是团队作战。在合作精神方面,想要转向产品工作的程序员的确亟待加强。 第三,商业意识和市场运营知识匮乏。 特别是在全面产品管理思想下,产品人员需要有很强的市场营销方面的知识和商业化运作的策划与分析能力,仅仅把产 品做出来是不够的,卖得掉才是硬道理。产品策划的环节,面临着营销模式、目标用户、渠道选择、竞争策略等的选择与设计,这也是摆在技术出身的程序员面前的 重要课程。 每个企业,都会根据自身所在行业特点和本企业的资源优势,来部署不同形式的产品管理机制。程序员针对自己的性格特点和能力特征,抓住产品管理这一方兴未艾的职业机遇,走向产品,以优秀产品经理的能力模型培养来规划学习道路与职业生涯,是值得重视的一个职业方向。 ------------------------------------------------------------------------------ 安徽高新专修学院
⑦ 菜鸟程序员如何快速进阶成为编程老司机
要从菜鸟程序员成长为编程老司机,关键在于不断学习和实践。积极利用谷歌等搜索引擎,有效组织关键词进行问题解决。拥抱变化,持续学习新技能,即使遇到困难也不气馁。重视细节,无论是变量命名还是工具选择,都影响项目成功。
学会快速删除冗余代码,拒绝浪费时间在不必要的问题上。面对错误,要深入分析其背后的意义,将其作为指引解决方案的线索。理解代码优化的时机,知道何时需要使用高效但可能更复杂的代码。
熟练使用Vim或其他高效编辑器,进行代码编辑。自己接私活,提升项目管理和时间评估能力。学会接受批评,并理性应对代码反馈。结对编程能迅速提高技能,自己做代码审查,培养专业眼光。
不要过分纠结于工作时间,而是专注于深度工作。发现并解决更广泛的问题,深入了解大型开源项目,为自己的项目寻找更高效的方法。编写“烂代码”时,要学会灵活运用技巧,知道何时走捷径,何时深入细节。多实践,将最佳实践融入日常,持续提升编程水平。
⑧ 瀛︾敓蹇呯湅绋嫔簭锻桦垎姘村箔楂树竴绾у埆涓嶅悓浜虹敓
绋嫔簭锻桦叓涓娈典綅绛夌骇浣犵殑绛夌骇?
1銆佽彍楦
杩堣繘杩椤眰妤肩殑闂ㄦ涙槸寰堜绠镄勚傚熀链涓婃哕璁$畻链虹殑锘烘湰镎崭綔锛屼简瑙h$畻链轰笓涓氱殑涓浜涘熀纭鐭ヨ瘑锛屾帉鎻′竴闂ㄥ熀链镄勭紪绋嬭瑷濡侰/C++锛屾垨钥匤ava锛屾垨钥匤avaScript锛...锛屽潎鍙鍏ラ棬杩堣繘杩椤眰銆傚傝$畻链轰笓涓氭瘯涓氱敓锛屽ぇ閲忕殑阃氢俊銆佽嚜锷ㄥ寲銆佹暟瀛︾瓑鐩稿叧涓扑笟镄勮浆琛屼汉澹銆
杩欑被浜哄憳涓岖℃槸涓嶆槸璁$畻链虹戠彮鍑鸿韩锛屽熀纭濡备綍锛屼粬浠瀵圭紪绋嬫湁镌鐗规畩镄勭埍濂斤纴浠栦滑鍙鑳戒细鏄涓浜涘緢链夊墠阃旂殑瀛︾敓鎴栧疄涔犵敓
浠栦滑瀹屽叏鏄闱犵儹𨱍呭拰镓胯烘潵缂栫▼銆傚叴瓒f案杩沧槸链濂界殑钥佸笀锛屼篃鏄链濂界殑涓浠朵簨锛屽洜涓哄叴瓒h屽紩鍙戠殑鐑𨱍呴氩父浼氲╄繖浜涚▼搴忓憳鎴愪负钬滈ㄥ共绋嫔簭锻樷
2銆佸ぇ铏
浠庣1灞傜埇鍒扮2灞傜浉瀵瑰规槗涓浜涳纴浠C/C++绋嫔簭锻树负渚嬶纴鍙瑕佺啛缁冩帉鎻C/C++缂栫▼璇瑷锛屾帉鎻C镙囧嗳搴揿拰甯哥敤镄勫悇绉嶆暟鎹缁撴瀯绠楁硶锛屾帉鎻STL镄勫熀链瀹炵幇鍜屼娇鐢ㄦ柟娉曪纴鎺屾彙澶氱嚎绋嬬紪绋嫔熀纭鐭ヨ瘑锛屾帉鎻′竴绉嶅紑鍙戠幆澧冿纴鍐嶅瑰悇绉嶆搷浣灭郴缁熺殑API閮藉幓浣跨敤涓涓嬶纴鎼炵绣缁灭紪绋嬬殑褰撶劧瀵箂ocket缂栫▼瑕佸ソ濂芥帉鎻′竴涓嬶纴铹跺悗鍐嶅︿範涓浜涢溃钖戝硅薄镄勮捐$煡璇嗗拰璁捐℃ā寮忕瓑锛屽︿範涓浜涙祴璇曘佽蒋浠跺伐绋嫔拰璐ㄩ噺鎺у埗镄勫熀链鐭ヨ瘑锛屽ぇ閮ㄥ垎浜虹粡杩2~3骞寸殑锷锷涳纴閮藉彲浠ョ埇鍒扮2灞傦纴鏅嫔崌涓"澶ц栌钬
3銆佺墰浜
鐢卞共"澶ц栌"浠缁忓父琚涓浜涚枒闅鹃梾棰樼粰鍗′綇锛屼粬浠鍙濂界户缁瀛︿範锛屽皢铡熸潵镓瀛︾殑鐭ヨ瘑杩涗竴姝ョ啛缁冩帉鎻°备互杞浠惰捐℃潵璇达纴鍏夋哕缁撴瀯鍖栬捐°侀溃钖戝硅薄璁捐″拰涓浜涜捐℃ā寮忔槸涓嶅熺殑锛岃缮瑕佷简瑙h蒋浠舵灦鏋勮捐°佷氦浜掕捐°侀溃钖戞柟闱㈢殑璁捐°侀溃钖戜娇鐢ㄧ殑璁捐°侀溃钖戞暟鎹缁撴瀯绠楁硶镄勮捐°佹儏镒熷寲璁捐$瓑锛屽惁鍒欐槸寰堥毦杩涘埌杩欎釜妤煎眰镄勚傚綋铹堕櫎浜嗕笂闱㈣寸殑鐭ヨ瘑澶栵纴澶ц栌浠杩橀渶瑕佸幓瀛︿範钖勭岖粡楠屽拰鎶宸с
4銆佸ぇ鐗
浠庣墰浜鸿繘阒舵垚涓哄ぇ鐗涘苟涓嶅规槗锛屽氨镀忔槸锏惧垎鍒讹纴鍒板强镙肩嚎姣旇缉杞绘涧锛屼絾鏄60鍒嗗埌80鍒嗗氨浼氭洿闅句简銆傝佹垚涓哄ぇ鐗涚殑璇濓纴浣犲繀椤昏佽兘锅氱墰浜轰滑锅氢笉浜嗙殑浜嬫儏锛岃В鍐崇墰浜轰滑瑙e喅涓崭简闂棰樸傛瘆濡傜墰浜轰滑阃氩父閮戒笉镍傚啓镎崭綔绯荤粺锛屼笉浼氩啓缂栬疟鍣锛屼笉镍傚缑TCP/IP鍗忚镄勫簳灞傚疄鐜帮纴濡傛灉浣犳湁鑳藉姏灏嗗叾涓镄勪换浣曚竴涓瀹炵幇寰楄薄妯¤薄镙风殑璇濓纴闾d箞浣犲氨浠庣墰浜哄崌绾т负"澶х墰"浜嗐傝佹垚涓"澶х墰"骞朵笉鏄涓浠剁亩鍗旷殑浜嬫儏锛岄渶瑕佷粯鍑烘瘆鐗涗汉浠澶氩缑澶氱殑锷锷涳纴涓鑸𨱒ヨ达纴镊冲皯瑕佺湅杩200~400链宸﹀彸镄勪笓涓氢功绫嶅苟濂藉ソ鎺屾彙瀹冿纴闄ゆや箣澶栵纴杩桦缑缁忓父鍏虫敞缃戠粶鍜屾湡鍒婃潅蹇椾笂镄勫悇绉嶆渶鏂颁俊鎭銆
5銆佷笓瀹
褰揿ぇ鐗涗滑鐪熸e姩镓嫔仛涓涓镎崭綔绯荤粺鎴栬呯被浼肩殑鍏朵粬杞浠舵椂锛屼粬浠灏变细鍙戠幇镊宸辩殑锘烘湰锷熶粛铹舵湁寰埚氱殑涓嶈冻銆傝繖涓镞跺椤氨瑕佹眰浠栦滑浼氲繘琛屽熀纭镰旂┒锛屼富瑕佺殑鍐呭瑰氨鏄镰旂┒闱炴暟鍊"璁$畻"銆
闱炴暟鍊艰$畻鍙鏄涓涓闱炲父搴炲ぇ镄勯嗗烟锛屼笉浠呮椂涓嬬儹闂ㄧ殑"澶氭牳璁$畻"涓"浜戣$畻"灞炰簬闱炴暟鍊艰$畻锣幂暣锛屽氨鏄杞浠堕渶姹伞佽捐°佹祴璇曘佽皟璇曘佽瘎浼般佽川閲忔带鍒躲佽蒋浠跺伐绋嬬瓑链璐ㄤ笂涔熷睘骞查潪鏁板艰$畻镄勮寖鐣达纴鐢氲呖鑺鐗囩‖浠惰捐′篃钖屾牱鐗垫秹鍒伴潪鏁板艰$畻銆傚傛灉浣犺缮娌℃湁鐪熸i嗘偀"璁$畻"浜屽瓧镄勫惈涔夛纴闾d箞浣犲氨娌℃湁链轰细杩涘埌杩椤眰妤兼潵銆
6銆佸﹁
褰"涓揿"浠𨱍崇户缁寰涓娄竴灞傛ゼ鐖镞讹纴浠栦滑浼氩彂鐜颁笓涓氭х殑瀛︿範瀵逛簬浠栦滑𨱒ヨ存槸寰堢亩鍗旷殑锛屾嫤璺铏庢槸钬滃垱鏂扳濄傚儚涓婇溃鎻愬埌镄勶纴𨱍宠佸湪涓揿剁殑锘虹涓婃洿杩-姝ワ纴灏遍渶瑕佷骇鐢熻嚜宸辩殑鐭ヨ瘑鍜屾濇兂銆
浣嗗︿範镄勯兘鏄涓镙风殑涓滆タ锛屾庝箞铡诲垱鏂板憿?鍙や汉链変竴鍙ヨ瘽钬沧俯鏁呰岀煡鏂扳濓纴涔熷氨鏄宸ヤ綔褰扑腑璇村埌镄勨滃嶈厫浠ユ煡镓句负渚嬶纴骞朵笉鏄铡诲ぉ澶╃洴镌闾d簺澶嶆潅镄勬煡镓剧粨鏋勫拰绠楁硶杩涜岀爷绌讹纴浣犻渶瑕佸仛镄勬槸灏嗕簩鍒嗘煡镓俱佸搱甯屾煡镓俱佹櫘阃氢簩鍙夋爲镆ユ垒绛夊熀纭镐х殑鐭ヨ瘑濂藉ソ鍦板崭範鍑犻亶銆
7銆佸ぇ甯
鎴愪负澶у笀蹇呴’瑕佹湁杈冨ぇ镄勮础鐚銆傞栧厛瑙e喅闂棰桦繀椤绘槸姣旇缉閲嶈佺殑锛屽叾娆′綘瑕佹瘆鍓嶈緢浠鍦ㄦ煇鏂归溃链変竴涓杈冨ぇ镄勬彁楂桡纴鎴栬呬綘瑙e喅镄勬槸涓涓鍏ㄦ柊镄勪互鍓嶆病链夎В鍐宠繃镄勯梾棰:链閲嶈佺殑鏄锛屼富瑕佺殑镐濊矾鍜屾柟娉曞繀椤绘槸浣犺嚜宸辨彁渚涚殑锛屼笉鍐嶆槸鍦ㄥ埆浜虹殑镐濊矾锘虹涓婅繘琛岀殑浼桦寲鍜屾敼杩涖
濡傦纴镀廐oare涓镙疯捐″嚭涓涓蹇阃熸帓搴忕殑绠楁硶;鎴栬呭儚Eugene W.Myers涓镙疯捐″嚭浜嗕竴涓鐢ㄧ紪杈戝浘镄勬渶鐭璺寰勬ā鍨嬫潵瑙e喅diff闂棰樼殑绠楁硶:鎴栬呭儚MJ.DPowell涓镙锋彁鍑轰简涓涓鑳藉熷勭悊闱炵嚎镐ц勫垝闂棰樼殑SQP鏂规硶:鐢氲呖璁捐″嚭涓涓镀廋++鎴朖ava涓镙风殑璇瑷......
8銆佺戝﹀
绉戝﹀跺悜𨱒ラ兘鏄涓涓绁炲湥镄勭О鍙凤纴瑕佹垚涓虹戝﹀讹纴浣犵殑璐$尞蹇呴’瓒呰秺澶у笀锛屼笉濡ㄤ妇涓浜涗緥瀛愩傚侱iikstra璁捐′简ALGOL璇瑷锛屾彁鍑轰简绋嫔簭璁捐$殑涓夌嶅熀链缁撴瀯:椤哄簭銆侀夋嫨銆佸惊鐜锛屼粬鏄鍙浠ヨ绉颁负绉戝﹀剁殑銆傜被浼肩殑杩樻湁:
Don Knuth锛屽犲畾鏁版嵁缁撴瀯涓庣畻娉曡繖闂ㄥ︾戠殑锘虹:宸寸戞柉锛屽彂鏄峄ortran璇瑷锛屾彁鍑轰简宸寸戞柉锣冨纺锛屽归珮绾х▼搴忚瑷镄勫彂灞曡捣浜嗛吨瑕佷綔鐢;