顶级程序员的学习过程解析

合集下载

程序员的学习方法与职业进阶

程序员的学习方法与职业进阶

程序员的学习方法与职业进阶作为一名程序员,学习从来都不是一件容易的事情。

在这个日新月异的科技时代,学习的速度比之前更快,技术的积累也更快,职业进阶也更快。

那么,我们应该如何学习,如何进阶呢?一、自我学习自我学习是每个程序员必须要付出的功夫。

要想达到不断学习的状态,首先必须建立好自我学习的习惯。

程序员没有人监督,自主学习能力非常重要。

比如,要养成阅读官方文档习惯、查看开源代码习惯、维护自己的代码库习惯。

每个程序员都应该建立自己的代码集合,便于日后参考和学习。

二、学习效率1、寻找合适的方式学习一项新技术或者语言的时候,我们需要寻找合适的方式,因为每个人的学习喜好不同,适合自己的学习方式比别人推荐的方式对于我们来说更有效。

比如,写卡片、看视频、听播客、写代码等等。

寻找最适合自己的学习方式是提高学习效率的途径之一。

2、保持动力再好的学习方法也需要动力来支撑。

因此,我们需要一直激励自己,不断地寻找学习兴趣点,让自己对学习的内容保持热情。

即使是枯燥无味的技术细节,也可以想方设法乐在其中,比如给自己设定学习目标,完成一个马拉松式的准备,打破自己的记录等等。

3、交流与分享学习是一条孤独的路,但是与同事和同行交流、分享自己的学习经验和困难,或者在社区中寻找讨论和参与,也是一种提高自己学习效率的方式。

与人交流,不仅给自己带来灵感,也可以让自己的知识体系更加完整,不断扩充自己的思维和视野。

三、职业进阶1、走深还是走宽职业进阶有两种路线:走深和走宽。

走深意味着专注于某种技术,不断提高自己对于这个技术的理解和运用,打造出自己的知识体系。

走宽则意味着要丰富自己的技术背景,不断学习新的技能,拓展自己的职业发展路线。

在职业发展过程中,我们需要不断地思考自己要走深还是走宽,并找到对自己来说更适合的发展方向。

2、寻求创新与挑战职业发展的另一重要方面是寻求创新与挑战。

可以通过参加一些Hackathon、业内Meetup或者编程比赛等形式的活动来挑战自己。

七个让你成为编程专家的关键步骤

七个让你成为编程专家的关键步骤

七个让你成为编程专家的关键步骤随着信息技术的高速发展,编程技能成为了当今社会中一项非常重要的能力。

无论是在科技行业还是其他行业,掌握编程技术都能够为个人带来更多的机会和突破口。

然而,成为一个优秀的编程专家并不是一件容易的事情。

下面将为大家介绍七个关键步骤,帮助你在编程领域成为真正的专家。

第一步:学习编程基础知识要想成为一个优秀的编程专家,首要的一步就是掌握编程的基础知识。

这包括编程语言的语法、数据结构与算法、面向对象编程等方面的内容。

学习基础知识可以通过阅读相关书籍、参加在线课程或者报名参加编程培训班等方式进行。

掌握编程基础知识是打下坚实基础的关键。

第二步:选择合适的编程语言编程语言是编程的工具,不同的编程语言在不同的领域有不同的应用。

选择合适的编程语言对于成为编程专家非常重要。

根据自己的兴趣和职业规划,选择一种主流的编程语言进行深入学习和实践。

比如,Python在人工智能和数据科学领域有广泛的应用,Java在企业级开发和Android应用开发领域有较高的需求。

第三步:进行项目实践理论学习只是为了打下基础,真正的能力是通过实践中获得的。

选择一个具体的项目进行实践,可以是一个小的应用程序或者一个开源项目,通过实践来巩固自己的编程技能并丰富自己的项目经验。

在实践中遇到问题时,要善于查找资料和与他人交流,不断提升自己的解决问题的能力。

第四步:参与编程社区编程社区是一个非常重要的资源和学习平台,可以结识到来自世界各地的编程专家和爱好者。

参与编程社区可以通过加入在线编程交流群、参与开源项目的贡献、参加编程竞赛等方式进行。

在编程社区中,可以与其他人分享自己的学习心得和经验,并从其他人那里学习到更多有价值的知识。

第五步:持续学习与更新知识编程是一个不断学习和更新知识的过程。

随着技术的不断发展和变化,编程语言和工具也在不断更新和演进。

作为一个编程专家,要时刻保持对最新技术的关注,并学习和尝试新的编程语言和工具。

程序员阿斌笔记

程序员阿斌笔记

程序员阿斌笔记引言概述:程序员阿斌是一位经验丰富的软件开发人员,他在多年的工作中积累了大量的经验和知识。

本文将从五个大点出发,详细阐述阿斌的一些经验和心得,帮助读者更好地理解和应用软件开发的相关知识。

正文内容:1. 项目管理1.1 项目需求分析1.2 任务分配和时间规划1.3 团队协作与沟通1.4 项目风险评估1.5 项目进度控制2. 编码技巧2.1 代码规范与命名规则2.2 模块化与可重用性2.3 异常处理与错误日志2.4 单元测试与代码调试2.5 代码版本管理与协同开发3. 性能优化3.1 程序性能分析与瓶颈定位3.2 数据库优化与索引设计3.3 缓存技术与数据预加载3.4 并发控制与资源管理3.5 网络传输与数据压缩4. 安全防护4.1 用户身份认证与权限控制4.2 数据加密与防止SQL注入4.3 防止跨站脚本攻击(XSS)4.4 防止跨站请求伪造(CSRF)4.5 安全漏洞扫描与修复5. 技术学习与个人成长5.1 持续学习与技术追踪5.2 参与开源项目与技术社区5.3 阅读技术书籍与博客5.4 参加技术研讨会与培训课程5.5 分享与交流经验与心得总结:通过阿斌的经验分享,我们可以看到一个优秀程序员在项目管理、编码技巧、性能优化、安全防护以及技术学习与个人成长等方面的重要性。

良好的项目管理能够提高工作效率和质量,合理的编码技巧能够提高代码的可读性和可维护性,性能优化能够提升系统的响应速度和用户体验,安全防护能够保护用户数据的安全,而技术学习与个人成长则是保持竞争力和不断进步的关键。

作为一名程序员,我们应该不断学习和实践,提升自己的技术水平和综合能力,为软件开发领域的发展贡献自己的力量。

从小白到大牛五个层次提升编程专业性

从小白到大牛五个层次提升编程专业性

从小白到大牛五个层次提升编程专业性在当今数码化时代,编程作为一项重要的技能被越来越多的人所重视。

无论你是打算成为专业的软件工程师,还是希望运用编程解决日常问题,提升编程专业性都是一个不可或缺的过程。

本文将介绍五个层次,帮助你从小白逐步提升至大牛,实现编程专业性的提升。

第一层次:学习编程基础知识在起步阶段,你需要学习编程的基础知识。

掌握编程语言的语法规则、变量与数据类型、条件语句和循环结构等基础概念是必要的。

你可以选择一门适合初学者的编程语言,例如Python,它具有简洁的语法和广泛的应用领域。

通过学习基础知识,你将能够理解编程的基本原理和逻辑思维方式。

第二层次:深入学习数据结构与算法在掌握了基础知识后,你应该进一步学习数据结构与算法。

数据结构是组织和存储数据的方式,算法是解决问题的步骤和方法。

了解不同的数据结构和算法可以帮助你提升编程效率和代码质量。

你可以学习数组、链表、栈、队列等基本数据结构,以及排序算法、查找算法等常用算法。

通过实践和练习,你将逐渐掌握选择最优解决方案的能力。

第三层次:参与开源项目或实际项目开发学习编程的过程中,参与开源项目或实际项目开发是一个重要的阶段。

通过与他人合作,在实践中应用所学知识,你将能够更好地理解软件开发的流程和团队协作。

参与开源项目可以提供实际的编码经验,并且你能够从其他优秀的开发者中学习到先进的编程技巧和实践经验。

同时,实际项目开发也锻炼了你解决问题和处理项目复杂性的能力。

第四层次:持续学习和自我提升编程是一个不断发展和更新的领域,因此持续学习和自我提升是非常重要的。

订阅技术博客、参加技术论坛和社区讨论,阅读相关书籍和论文,参加培训课程或线上学习平台等都是提升编程专业性的有效途径。

通过学习最新的技术趋势和工具,你可以不断更新自己的知识储备,并应用到实际项目中。

第五层次:拓展领域知识和专业化在成为一个大牛之前,你可以进一步拓展自己的领域知识和专业化。

根据个人的兴趣和职业规划,你可以选择深入学习某个特定领域,例如人工智能、大数据、前端开发等。

程序员技术练级攻略——程序员大牛进阶之路!

程序员技术练级攻略——程序员大牛进阶之路!

程序员技术练级攻略——程序员大牛进阶之路!你是否觉得自己从学校毕业的时候只做过小玩具一样的程序?走入职场后哪怕没有什么经验也可以把以下这些课外练习走一遍(朋友的抱怨:学校课程总是从理论出发,作业项目都看不出有什么实际作用,不如从工作中的需求出发)建议:不要乱买书,不要乱追新技术新名词,基础的东西经过很长时间积累而且还会在未来至少10年通用。

回顾一下历史,看看历史上时间线上技术的发展,你才能明白明天会是什么样。

一定要动手,例子不管多么简单,建议至少自己手敲一遍看看是否理解了里头的细枝末节。

一定要学会思考,思考为什么要这样,而不是那样。

还要举一反三地思考。

注:你也许会很奇怪为什么下面的东西很偏Unix/Linux,这是因为我觉得Windows下的编程可能会在未来很没有前途,原因如下:现在的用户界面几乎被两个东西主宰了,1)Web,2)移动设备iOS或Android。

Windows的图形界面不吃香了。

越来越多的企业在用成本低性能高的Linux和各种开源技术来构架其系统,Windows的成本太高了。

微软的东西变得太快了,很不持久,他们完全是在玩弄程序员。

详情参见《Windows编程革命史》所以,我个人认为以后的趋势是前端是Web+移动,后端是Linux+开源。

开发这边基本上没Windows什么事。

1、学习一门脚本语言,例如Python/Ruby可以让你摆脱对底层语言的恐惧感,脚本语言可以让你很快开发出能用得上的小程序。

实践项目:处理文本文件,或者csv (关键词python csv, python open, python sys) 读一个本地文件,逐行处理(例如 word count,或者处理log)遍历本地文件系统 (sys, os, path),例如写一个程序统计一个目录下所有文件大小并按各种条件排序并保存结果跟数据库打交道(python sqlite),写一个小脚本统计数据库里条目数量学会用各种print之类简单粗暴的方式进行调试学会用Google (phrase, domain, use reader to follow tech blogs)为什么要学脚本语言,因为他们实在是太方便了,很多时候我们需要写点小工具或是脚本来帮我们解决问题,你就会发现正规的编程语言太难用了。

成为计算机软件操作专家的学习路径

成为计算机软件操作专家的学习路径

成为计算机软件操作专家的学习路径第一章:选择适合的学习路径在成为计算机软件操作专家的学习路径上,第一步是选择适合自己的学习路径。

计算机软件操作专家可以从多个角度进行学习,例如操作系统、编程语言、数据库管理等。

初学者应根据自己的兴趣和职业目标选择合适的学习路径。

第二章:学习基础知识在计算机软件操作专家的学习过程中,基础知识是至关重要的。

学习者应该掌握计算机的基本原理和操作方法,包括硬件结构、操作系统、网络配置等。

此外,了解常见的软件和工具的使用方法也是必要的。

第三章:掌握编程语言成为计算机软件操作专家,掌握一门或多门编程语言是重要的技能之一。

常见的编程语言包括Java、C++、Python等。

学习者可以选择一门主流的编程语言作为起点,并深入学习其语法、数据结构、算法等相关知识。

第四章:熟悉操作系统对于计算机软件操作专家来说,熟悉不同操作系统的使用和管理是必不可少的。

常见的操作系统包括Windows、Mac OS、Linux等。

学习者应该熟悉这些操作系统的功能和特点,并掌握文件管理、网络配置、系统调优等操作技巧。

第五章:了解数据库管理计算机软件操作专家通常需要处理大量的数据,因此了解数据库管理是必不可少的技能之一。

学习者应该熟悉常用的数据库管理系统(如MySQL、Oracle)的使用方法,了解数据库设计、查询优化、备份恢复等方面的知识。

第六章:深入学习开发工具和框架在成为计算机软件操作专家的学习路径中,学习和使用开发工具和框架是非常重要的。

学习者可以选择掌握一些常见的开发工具,如IDE,以提高开发效率。

此外,了解流行的开发框架,如Spring、Django等,可以帮助学习者更好地完成软件开发任务。

第七章:实践项目开发理论知识的学习只是成为计算机软件操作专家的第一步,实践项目开发才是真正锻炼和展示自己的机会。

学习者应该积极参与各种项目,提升自己的实际操作能力。

通过实践项目开发,学习者可以深入了解软件开发的流程、方法和技巧,并在实践中不断提高自己的操作技能。

成为顶级程序员的秘诀持续学习与不断实践

成为顶级程序员的秘诀持续学习与不断实践

成为顶级程序员的秘诀持续学习与不断实践成为顶级程序员的秘诀:持续学习与不断实践在当今快速发展的互联网时代,程序员已经成为了一个备受瞩目的职业。

与此同时,成为一名顶级程序员也成为了许多人的梦想。

成为顶级程序员不仅需要扎实的技术基础,还需要持续不断的学习和实践。

本文将介绍一些成为顶级程序员的秘诀,帮助你在这个竞争激烈的行业中脱颖而出。

一、掌握核心语言和技术作为一名程序员,首先需要掌握核心的编程语言和相关技术。

无论是Java、Python、C++还是JavaScript,你需要深入了解这些语言的特性、语法和用法,并能够熟练地运用于项目开发中。

此外,掌握常用的前端和后端开发技术也是必不可少的。

例如,对于前端开发来说,HTML、CSS、JavaScript和各种前端框架都是必备的技能。

二、深入理解数据结构和算法在程序开发过程中,数据结构和算法是非常重要的基础知识。

掌握不同数据结构的特点和适用场景,能够合理选择和应用算法,可以提升代码的效率和质量。

因此,学习和理解数据结构和算法是成为顶级程序员的必备技能之一。

三、不断学习新技术和工具技术的更新换代速度非常快,作为程序员,需要时刻关注行业的动态,主动学习新技术和工具,并且能够灵活运用到项目中。

参加行业内的培训、研讨会和技术交流活动是有效的学习途径之一,同时,还可以通过阅读技术博客、书籍和参与开源项目来不断扩展自己的技术视野。

四、积极参与项目实践无论你在学习中掌握了多少理论知识,只有在实践中才能真正提升自己。

通过积极参与项目实践,面对真实的开发需求和问题,你将更深入地理解技术和业务,并能够根据实际情况做出合理的决策。

此外,通过与其他开发人员合作,你还能够学习到各种工作方法和技巧,提高自己的团队合作能力。

五、持续构建自己的项目和作品集在成为顶级程序员的道路上,你需要不断展示自己的技术能力和成果。

构建自己的项目和作品集,能够向他人展示你的编码风格、解决问题的能力和创新思维。

软件开发工程师之路从入门到精通的必经之路

软件开发工程师之路从入门到精通的必经之路

软件开发工程师之路从入门到精通的必经之路随着信息技术的快速发展,软件开发工程师逐渐成为许多求职者眼中的“香饽饽”。

然而,要成为一名优秀的软件开发工程师并不是一件容易的事情。

本文将为您介绍软件开发工程师之路从入门到精通的必经之路。

第一阶段:入门知识储备作为一名刚入门的软件开发工程师,你需要掌握一些基础的编程语言和开发工具。

首先,你可以选择一门热门的编程语言,如Java或Python,并通过阅读相关的教材和参与在线学习课程来学习它。

此外,掌握基本的算法和数据结构也非常重要,因为它们是解决问题的基础。

除了编程语言和算法,你还需要熟悉一些常用的开发工具和平台,如Git和Linux。

学习如何使用这些工具可以提高你的工作效率,并且帮助你更好地与团队协作。

第二阶段:扩展知识面与实践项目一旦你掌握了基础知识,你可以开始扩展自己的知识面并通过实践项目来提升技能。

你可以选择学习更多的编程语言,如C++或Ruby,以便能够处理更广泛的项目。

此外,学习前端开发和数据库管理等相关领域的知识也是一个不错的选择。

在这个阶段,你可以参与一些开源项目或者自己独立完成一些小型的项目。

通过实践,你可以更深入地了解软件开发的各个方面,并且提高自己解决问题的能力。

第三阶段:深入学习和专业化当你已经具备了一定的实践经验后,你可以选择一个特定的领域进行深入学习和专业化。

你可以选择移动应用开发、大数据处理、人工智能等领域,并学习相关的技术和工具。

这将帮助你在市场上脱颖而出,并提供更广阔的职业发展空间。

此外,参与相关的社区和行业会议也是一个很好的学习和交流机会。

通过与行业内的专业人士交流和分享经验,你可以拓宽自己的视野,并获取更多的学习资源和机会。

第四阶段:终身学习和持续进步要成为一名真正的软件开发工程师,在工作中持续学习和进步是至关重要的。

由于技术的不断更新和演进,你需要与时俱进,并持续学习新的技术和工具。

参加培训课程、阅读相关的书籍和技术博客,以及参与在线学习社区都是不错的方法。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

本篇文章是作者多年来的一些感受, 主要写给那些想学习程序设计而又很迷惘的朋友, 希望可以带来一点帮助。

我第一次接触电脑是在小学二年级的时候。

那时纯粹是因为喜欢打电子游戏, 听别人说电脑上的游戏十分好玩, 于是就漫漫开始与之接触了。

在三年级时父母出于我对计算机浓厚的兴趣送我去了一个 BASIC 编程学习班,从那时起我才真正开始走上编程这条不归之路。

虽然说现在程序设计这门专业在社会上很热, 竞争十分激烈, 但是这只是学习编程的人比较多而已。

真正能够掌握以至于精通的人实际上很少, 毕竟中国的软件业才刚刚起步不久。

现在社会对优秀的程序设计人员的需求量还是相当大的, 但是前提是必须要优秀。

我自己虽然也谈不上优秀, 但多少还是有些感触。

在这里想讲述自己对于一般程序员和优秀程序员之间在技术上的一些认识(什么敬业精神生活态度我就不多说了 :
首先作为一个优秀的程序员, 数学是十分重要的。

数学是自然科学的基础, 计算机科学实际上是数学的一个分支。

数学主要能让人懂得一种分析问题的方法, 然后再通过编程去实现它。

计算机内部的许多原理也都牵涉到比较复杂的数学知识。

它是我们用来解决现实问题的最高效的工具。

很多学习编程的朋友对数学觉得不屑一顾, 觉得对于编程没有什么关系。

实际上优秀程序员和一般程序员拉开档次很大一个程度上就是取决于对数学的能力。

一些项目有时需要很复杂的数学建模和利用数学对于系统效率进行分析, 而这些项目对于一般的程序员是很困难的。

正确应用数学知识有时候能使你的程序的效率产生质的飞跃。

现在的程序员在数学上普遍是薄弱环节, 这点是大家应该引起足够重视的。

当别人对于这些项目感到无从下手, 而你却能够完成, 这个时候你的价值也就表现出来了。

真正优秀的程序员是能够最基本的一点就是要能够通过自己的知识来解决一般程序员所无法完成的问题。

而数学能力就是一个很重要的环节。

其次就是要对数据结构引起足够的重视。

如果说计算机专业的学生与非计算机专业的最根本的差别绝对是数据结构(数学大家都一样学了,主要看你自己学得好坏。

对数据结构的掌握与运用能力是衡量你编程能力的一个很重要的指标。

有的人对于看了链表,栈, 树,广义表这些东西就头痛。

然而这些东西往往能使你的程序
的效率比别人高出百倍。

由于一直搞信息学竞赛,到了大学又搞 ACM ,所以我对数学和数据结构都掌握得相对较好。

这使我在应聘与工作中明显感到胜人一酬。

记得自己大学时去一家公司应聘的经历, 当时去应凭的还有 3个人,有 2个大学毕业,有个也工作了一段时间了。

他们几个都在大讲自己的能力如何之强,会使用的语言及编程工具如何之多, 经验如何之丰富。

按理说我应该是资质最浅的。

当时也是初生牛 X 不怕虎,也就硬着头皮去了。

当时面试的题目是一个公司的资金管理项目的一个问题, 要求每个人都在思考后给出自己的设计方案。

其中比较核心的一个问题就是要计算一个资金最小波动值的问题, 给出的数据量相当大, 对效率要求很高。

对于整个程序的面向对象化的分析我们几个都是差不多的, 毕竟这些东西在学校里是很重视的, 而且不是真正的难点。

然而到了最关键的问题时其余的人都卡壳了, 有两个是用简单的双重循环, 时间复杂度 (N^2,惨不忍睹。

还有一个在冥思苦想了好一阵以后说用树,具体技术细节又讲不清楚,效率分析也很马虎。

只有我当时很快就给出了采取 A VL 树的方案,并且利用高等数学推导作出了很详细的效率分析和时空换算, 并提出了引入汇编的方法。

很自然的我得到了这分工作。

在这里大家显然可以看到数学和数据结构对于一个优秀程序员是多么重要, 它们是和一般的程序员打开档次的最关键的地方。

这样向“ 枣子” 碰到的那种情况应该很轻松的就可以想到。

如果你是一位想学习编程的朋友, 我经过多年的学习总结出来了一个学习的线路希望对你有
所帮助。

要学习编程是要有很大恒心和毅力的, 首先你要明确自己的目标, 想好自己编程是为了干什么。

如果你学习仅仅只是一时想编出 QUAKE 和成为比尔盖次的冲动, 那么我劝你还是应该还是不要开始学习, 应为这样的目标很难支持你日后大量的学习。

而且你的年龄不能太大(最好是中学或者大学生。

如果你想好目标并决定开始奋斗,那就让我们开始吧。

如果你一开始对电脑一无所知, 那么你应该先熟悉一些电脑的一些最基本的原理和操作, 这个不需要特别细致的学习, 只要大概知道二进制和一些基本操作就可以了。

接下来你应该先学习 BASIC 语言,这个语言并不会耽误你太多的时间,学习它完全是为了入门,让你对电脑编程有一个比
较初步的认识。

这时候你应该多编一些小的程序, 知道一些最基本每条语句的功能, 搞清楚一些基本的数据结构 (尤其是数组对于一些其余用途的函数最好不要做任
何学习, 因为这样只会分散你的注意力。

当你能够可以熟练的运用 BASIC 编出猴
子选大王, 以及电脑出题考试之类的程序时, 你就可以开始后面的学习了。

接下来
如果觉得自己接受能力强的话就可以开始学 C 了 (注意不是 C++ , 如果感觉有困难也可以先学 Pascal 过度一下。

还有很重要的一点就是千万不要一开始就学 VB , DELPHI , VC 之类的东西,这些东西在一开始学会对你造成很坏的影响。

有可能会把你引入另外一个错误的学习方向而忽略了真正应该掌握的东西。

学 C 主要是学过程话的程序设计,学会把自己的程序分成许多的函数(或过程 ,养成良好的编程习惯。

这时可以多看一下高人的程序,不一定要懂意思,主要是学会别人程序的格式(比如变量如何起名,怎么划分函数。

除开掌握基本的控制流语句外, 应该学习一些
很简单的 I/O函数和数学函数。

C 的学习主要是你舍弃原来 BASIC 程序那种把所有语句积成一大堆的风格, 要学会使用函数, 提高代码重用性。

对于指针之类的东
西如果实在看不懂可以先不去管,到后面会有办法。

当你能够比较自如的用 C 编写一些小的计算程序时, 你就可以开始你的数据结构的学习了 (数学的学习主要是在
学校, 自己要多用心。

数据结构你可以一点一点漫漫看, 并不需要专门空出一段时间来专门研究, 这样的目的是让你能够很好的掌握它,要学会用数据结构的知识来规范自己的程序设计和提高程序的效率。

学完 C 我认为接着最好学习汇编。

这个或许有许多人都会反对,然而我个人认为这样是很好的。

从最基本的 DOS 汇编开始,
买本《 IBM PC汇编程序设计》 (清华黄皮一定要一点一点吃透, 实在看不懂就跳,反复的严读是一定可以看懂的。

汇编是一定要掌握的,因为它涉及到很多最基本的知识。

掌握了汇编和对 I/O有了个很彻底的认识后, 应该去学编译原理。

这个东西并不要精通, 但是一定要知道, 在大脑里要有一个这样的概念, 这对你对程序语言的控制能力都有很大的帮助。

这样最基本的学习就算完成了。

一般智力正常的人前一段东西应该都是可以掌握的。

接着后面的学习就要看你自身的造化了。

这个时候你应该研究一下数据结构,不要分散自己学习的注意力,要知道数据结构是异常重要的(相信我,绝对没错如果你觉得自己已经对于树, 连表, 堆栈之类的东西和排序,
递归之类的算法已经十分清楚, 就可以开始学习 C++了。

学习前一定要有个正确的
认识,那就是 C 和 C++是两个不同的东西。

学习 C++是为了学习面向对象的程序设计, 这个时候你对于指针应该也能够掌握了 (有汇编的基础 , 主要抓住 C++和 C 相比的一些新特性, 对于多态之类的特性要注意理解掌握, 如果没有搞懂就坚决不要往下学习。

一些基本的概念掌握以后可以看一些别人设计的程序, 学习别人怎么利用面向对象的方法来设计程序的。

这个东西也是人之间拉开档次的一个环节,可以和数据结构放在同等重要的地位。

我就见过有的人都大学毕业了还搞不懂 virtual 到底是怎么一回事情。

其实我认为学到这里你已经为你成为一个优秀的程序员打下了很好的基础, 你已经能够应用 C++, 懂得面向对象程序设计, 对数据结构掌握很好, 掌握汇编和编译原理。

接下来的学习就是基于操作平台的了,一般是先学windows (Microsoft 毕竟是老大 ,先学 win32 api,搞请 windows 基本消息机制和原理,有汇编基础基本上不会碰到什么困难。

其实只要会了 API ,其余什么 MFC , VCL 都是囊中之物了,都不过是对于 API 的封装而已。

VC , C++Builder都可轻松拿
下 , 这只是开发工具的问题。

以后的
OLE(ActiveX, .NET ,数据库就要看自己的发展方向而定了。

我在这里强调的是前面的基本能力的学习, 后面操作平台虽然知识体系庞大, 然而毕竟比较死,更好掌握。

最后编程能力的高低主要还是有以下几点决定:1。

编程的习惯 2。

数学能力(包括逻辑思维,分析问题的能力 3。

对数据结构的认识能力 4。

经验的多少(包括多使用语言的掌握能力。

相关文档
最新文档