相关的问题

学校里的课程没用吗/strong>


答:肯定有用。
计算机专业的经典理论课,意义非凡:计算机组成原理、计算机体系结构、操作系统、编译原理、数据结构。操作系统中的内存管理算法、进程调度算法、并发控制算法,都是非常经典的,你会在很多其它地方发现这些算法的应用或者变体。编译原理有助于我们理解编程语言是如何工作的,如何用范式来表达复杂的语法,编译原理中的状态机相关知识,也是开发者手中的强大武器。数据结构就更不用说了,List,Map,Tree,是编程中广泛使用的。

 

快餐式软件开发培训的问题何在/strong>

一个典型的快餐式培训班,先教java语言,然后教SSH,然后给个千篇一律的虚拟项目做一下,最后号称培养出来一批“WEB开发”程序员。我觉得,如果之前没有任何基础,仅靠这样的培训,那么出来真的只能做非常程式化的工作。我一直提倡稳扎稳打,从下向上学起这样的方式,缺点是不如容易出效果。所以从两个方向入手,一边学基础,一边学应用,互相印证,也是不错的学习路径。

软件开发的门槛在提高吗br>我觉得是的,当然,我说的不包括hello world这样的示例程序的开发。虽然现在程序语言比十年前强大很多,工具要好用很多,但要想写出一个有点意义的软件,需要了解的知识多了很多,需要配置的环境复杂了很多。看看有多少初学者被java的ClassPath所困扰,您就明白我说的意思了。

开发不仅仅是学一门语言!
开发的本质是用程序控制计算机做一件事。基本上,任何有价值的程序都有内政和外交。内政就是程序的处理流程、数据加工算法、并发控制。外交就是网络通信、IO、数据库访问,以及通过各种协议和其它系统进行交互。很多知识,尤其是外交相关的知识,仅仅学习一门语言是不够的。

误区:很多人花大量精力关注最上层,比如:新的框架、新的工具、各种处理问题的技巧等等。但偏偏这一部分的变化最快,您在这上面投入的精力保值能力最差。技术有很强的相似性,比如,如果您真正掌握了javascript,那么掌握Ext或者JQuery只是熟悉对方的编程习惯和API而已,没必要为了这些新名词而疲于奔命。

一家之言,欢迎拍砖或者交流。

 

—-

答问:
不好。不知道各种通信协议在什么地方。为什么要把tcp/ip单独拿出来量意识显得很突兀,和整体没有关系。虽然它很重要。什么是框架应该在哪里想LZ没有仔细推敲过。

 

答:
知识体系中,越是向上,则越是偏向应用层的东西。“各类协议”,只是一个泛指,协议太多了,在一个人的知识结构中,只学习跟自己工作和兴趣需要的即可,比如,如果你做网管,可以关心SNMP,JMX;如果你做WEB开发,可以关心SOAP,AJAX;如果你做SP,可以关注各类短信网关的协议等等。TCP/IP之所以要单拿出来,那绝对是有道理的,TCP/IP是一个协议栈,我觉得只要你想做网络方面的开发,那是必须要学习的,TCP/IP已经是一种不可替代的标准了。
“框架”和刚才对“各类协议”的解释是一样的,并不特指哪种框架,而是一个统称,是根据需要去学习的,比如:SSH,比如:JQUERY,比如:EXT,比如:Reason等等。

 

 质量意识你觉得突兀吗觉得它就应该贯穿软件开发的方方面面,它并不是一项具体的技术,但却要时时刻刻挂在心中。
这个模型很不错。我想在补充几个: 1、领域知识。 2、软件工程。 3、算法,数据库,网络基础应该放在下面。 4、质量意识换成软件工程。

答:
您补充的挺好,领域知识,或者说业务知识,的确很重要。
关于“软件工程”,如果代替“质量意识”,这个我觉得值得商榷,因为我觉得软件工程并不能代表高质量软件的全部,你觉得呢。
算法,我个人的意见认为,并不能作为一个底层的东西,对于多数人来说,应该算是可选项,对于某些特殊软件开发,比如视频编解码、搜索引擎等等,可能算法是必须的基础,可能连数学都要算上。
而 网络 和 数据库,按我的原意,应该是程序语言、数据库、网络作为三个并列的知识领域,为了图的紧凑型,所以把数据库和网络竖起来了,但我觉得数据库和网络并不是构成软件开发的必要基础,可以选修。

文章知识点与官方知识档案匹配,可进一步学习相关知识算法技能树首页概览34070 人正在系统学习中

来源:sbshi007

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2009年9月4日
下一篇 2009年9月4日

相关推荐