http://www.cnblogs.com/xyz98/archive/2009/03/11/1408998.html

1.1开班发言——程序员的四层境界

授人以鱼不如授人以渔                                                                ——古语

 

关键词:程序员,学习,知识,思想,精神

摘要:对程序员的一些忠告和建议

 

预览

·           学会不如会学,会学不如会用,会用不如被用

·           如果知识是水,我们要挖掘最先涌动的泉眼

·           如果知识是火,我们要捕捉起初点燃的火花

·           如果知识是树,其树大根深,不究立固之本则无以知过去;其枝繁叶茂,不握支撑之干则无以知当下;其蓬勃旺盛,不察生长之点则无以知将来

·           越是喧嚣的世界,越需要宁静的思考,让躁动的心灵得以平息,让蕴藏的灵性得以释放

·           知识之上是思想,思想之上是精神

提问 

  • 软件开发者的成长需要经历有哪些阶段?
  • 要想在IT业中生存与发展,传统的学习方式是否够用?
  • 优秀程序员应该具备哪些素质?

讲解

冒号开了个程序员提高班,今天迎来了首期学员,他们是问号、句号、逗号、引号和叹号,皆为IT业的新兵。望着台下洋溢着青春与渴望的脸庞,冒号开始了他的开班发言——

大家好!先自我介绍一下,本人姓冒名号字解之。诸位不必叫我老师,就叫老冒好了。比在座各位痴长几岁,“老”是担得的,“师”却不敢妄言。在下编程多年,自觉小有所成,不敢专藏,特开此班与众共享。虽系一家之言、一孔之见,若能抛砖引玉,又何惧方家之哂?疏谬之处,还望海涵斧正,不致自误误人。

客套已毕,言归正传。本班主要采取讨论的形式,只要是软件开发中值得讨论的,但凡本人力之所及,均可共同探讨。

本班的宗旨是:学会不如会学,会学不如会用,会用不如被用。对于一个软件开发者来说,这意味着四个阶段:

学会(知其所然)——掌握一些具体编程知识的初级程序员

会学知所以然)——能快速而深刻地理解技术并举一反三的程序员

会用人为我用)——能将所学灵活运用到实际编程设计之中的高级程序员

被用我为人用)——能设计出广为人用的应用程序(application)、库(library)、工具包(toolkit)、框架(framework)等的系统分析师和架构师

至于被用的更高层次,如发明出主流的设计模式、算法、语言乃至理论等,则可称得上计算机专家了。本班的目的,正是为各位向更高阶段的提升助一臂之力。

大家可能都习惯了在小学、中学和大学里的课堂,那里的知识大多是系统而完备且貌似终极的,那里的学习大多是单向而被动的。但习惯并不意味着享受,更多的是因为别无选择。你们曾被引入一座座知识殿堂,被告知它们如何美轮美奂、巧夺天工,尽管很多时候你们或不以为然、或不解其妙,但还是不得不记下每一处被指点的细微结构。很少有人带你们看看当初为建造这些殿堂而打下的地基、搭设的脚手架,哪怕只是上漆前的模样也好,更遑论一瞻数易其稿的设计图纸了。那些与殿堂相比显得有些原始、甚至丑陋的东西,被有意无意地挡在视线之外。可没有那些,你们将来如何为这些宫殿添砖加瓦,又如何另起楼阁呢?

中国学生恐怕是世界上最擅长考试、最习惯考试、也最厌倦考试的群体了。你们告别了学生生涯,踏上了职业之旅。首先我要恭喜你们,脱离苦海了!同时也要悲告你们,掉进火坑了!危言耸听吗?如果你选择了做程序员,你时时都得学习,没有手把手教你的老师,没有指定的教科书和参考书,有的是层出不穷令人眼花缭乱的新概念、新技术、新问题,好不容易学到一些皮毛,有的已成明日黄花。你时时都得考试,每提交一段代码就是上交一份答卷,你不知道什么时候、什么人会批改,直到——开发组同事发现你的代码难以看懂,系统分析员指出你的程序不符合规范,测试工程师检验到你的软件有缺陷,客户抱怨你的产品太慢太难用,最后老板倒可能告诉你一个好消息:明天起放长假!

其实,又有哪行哪业的人不需要学习和考试呢?IT业只是相对更激烈、更富挑战性而已。在这个瞬息万变、适者生存的时代,如果还沿用封闭、被动的学习方式,恐有淘汰之虞。有鉴于此,本班的风格与你们习惯的课堂有所不同:这里的知识不一定是系统或完备的,但一定是生动鲜活的。如果知识是水,我们要挖掘最先涌动的泉眼;如果知识是火,我们要捕捉起初点燃的火花;如果知识是树,其树大根深,不究立固之本则无以知过去;其枝繁叶茂,不握支撑之干则无以知当下;其蓬勃旺盛,不察生长之点则无以知将来。这里的问题不一定是预设的,结论不一定是终极的,甚至不一定是正确的,但一定是有的放矢、发人深思的。由此决定了这里的学习方式将是开放多元、双向互动的。

越是喧嚣的世界,越需要宁静的思考,让躁动的心灵得以平息,让蕴藏的灵性得以释放。学习编程没有速成大法、没有必杀之技、没有锦囊秘笈、没有终南捷径,只有思考、实践、再思考、再实践。中国的IT界乃至整个学术界过于浮躁和急功近利了,既盲从又自大,缺乏务实精神与研究精神、独立精神与合作精神、批判精神与自省精神。如果一个程序员沾染这种风气,哪怕有再好的学习方法和学习能力,他都注定与“优秀”绝缘。这就是本班极力倡导并将贯穿始终的理念——知识之上是思想,思想之上是精神

我的开场白到此为止,现在把话语权交给你们,大家自由发问吧。

总结

  • 软件开发者的成长阶段:学会->会学->会用->被用。

这是一个从“知其所然”到“知所以然”、从“人为我用”到“我为人用”的历程。

  • 传统的学习方式大多有如下特征:

封闭——系统完备的终极式知识

单向——师教生学的单向式传输知识

被动——师命生从的被动式接受知识

静态——只注重知识的现状,忽略知识的起源、历程和未来趋势

继续沿袭这种学习方式,是很难在竞争日趋激烈、技术日新月异的IT业中求生存、谋发展的。开放多元、双向互动的现代课堂乃大势所趋。

  • “知识之上是思想,思想之上是精神。”

一个优秀的程序员,除了要迅速掌握知识、善于领悟思想外,还必须具备务实与研究精神、独立与合作精神、批判与自省精神。

转载于:https://www.cnblogs.com/feng9exe/p/6776249.html

冒号课堂:知识之上是思想,思想之上是精神相关推荐

  1. 冒号课堂 编程范式与OOP思想

    上篇:编程范式与编程语言 第1课 开班导言 第2课 重要范式 第3课 常用范式 第4课 重温范式 第5课 语言小谈 第6课 语言简评 下篇:抽象机制与对象范式 第7课 抽象封装 第8课 抽象接口 第9 ...

  2. 《冒号课堂》精彩书评集萃

    冒号课堂--将我带入编程的第三层境界 看山是山,看水是水. 看山不是山,看水不是水. 看山还是山,看水还是水,但是山更绿,水更清. 人生有三层境界,编程境界也和人生境界惊人的相似. 从大学期间接触编程 ...

  3. 《冒号课堂》连载之七——声明范式:目标决定行动

    <冒号课堂>连载之七--声明范式:目标决定行动 2.2  声明范式--目标决定行动 给我一个支点,我能挪动地球. --阿基米德 关键词:编程范式:命令式编程:声明式编程:函数式编程:逻辑式 ...

  4. 《冒号课堂》连载之十七——逻辑范式

    <冒号课堂>连载之十七--逻辑范式 4.2  逻辑范式--当算法失去了控制 道常无为而无不为. --<老子·道经> 关键词:编程范式:逻辑式编程:Prolog:算法:逻辑:控制 ...

  5. 冒号课堂§10.2:抽象类型

    冒号课堂 第十课 多态机制(2) 抽象类型--实中之虚 郑晖 摘要 介绍抽象类型的种类.意义及其用法 目录 !预览 ?提问 :讲解 ,插语 .总结 ""参考 有无相生,难易相成 - ...

  6. java 语法 冒号_冒号课堂 - 冒号专栏 - BlogJava

    冒号课堂 新版<冒号和他的学生们> 抽象类型--实中之虚(介绍抽象类型的种类.意义及其用法) •浅显的比方只是门槛前的台阶,借之或可拾级入门,却无法登堂入室 •具体类型是创建对象的模板,抽 ...

  7. 冒号课堂§4.3:汇总范式

      冒号课堂 第四课 重温范式(3)   4.3汇总范式--一张五味俱全的大烙饼 形者神之质,神者形之用                                               - ...

  8. 冒号课堂§2.4:并发范式

    冒号课堂 第二课 重要范式(4) 2.4并发范式--合作与竞争 在合作中竞争,在竞争中合作                                            --<竞合> ...

  9. (附源码)ssm微课堂知识考核系统 毕业设计 141147

    微课堂知识考核系统的设计与实现 摘 要 信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为难以攻克的 ...

最新文章

  1. 数据库设计中的范式形式
  2. CF1010F Tree
  3. jQuery Easing 动画效果扩展--使用Easing插件,让你的动画更具美感。
  4. 【Linux】一步一步学Linux——users命令(101)
  5. 微信浏览器不支持下载文件或应用解决方案
  6. [python 练习] 计算个税
  7. 一行代码让你的python运行速度提高100倍
  8. 统一建模语言(UML) 版本 2.0
  9. 三维数据平滑处理_关于CAD三维对象建模
  10. nginx 反向代理 502 错误的解决
  11. mysql8.0.11密码_mysql8.0.11安装和修改密码(转载)
  12. 大数据概览以及当下实用的主流开发
  13. java 中鼠标事件_Java中的鼠标事件
  14. java web象棋教程_【Java学习笔记】实战——网络象棋
  15. 网站友情链接交换的方法
  16. VMware15Pro进入MacOS10.14恢复模式(Recovery)
  17. 利用HTML完成用户注册界面设计,以及性别复选框、按钮链接跳转的实现
  18. 支付宝第三方支付接口java调用详细文档
  19. TAGS::Vim进阶索引[7]
  20. 转:任正非寄语2010:开放、妥协与灰度

热门文章

  1. 【Telegram】开启允许权限让你的TG可以实现bot直接监控频道
  2. 区块链书单:8位区块链专家向你推荐10本藏书
  3. python Tk 登录
  4. 品牌统一化vs多元化:美团与滴滴为何选择了不同道路?
  5. 脑洞|滴滴美团大战后,「滴滴修车」还有多远?
  6. 一文掌握FastDeploy Serving服务化部署(打造线上证件照制作系统,含完整代码)
  7. Get、Put、Post、Delete 含义与区别
  8. ASCII 、GB2312、GBK、GB18030、unicode、UTF-8字符集编码详解
  9. 【已解决】关于python中“morphology”包的调用的问题
  10. 编程方法分享-删除WorkNC编程时不想要的刀路