|
我非常不同意这篇文章原作者的部分观点。他认为计算机的课程变得简单,语言变得容易,这是一种危险的现象,这个观点是站不住脚的。
早期的计算机技术相当复杂和繁琐,我是从Fortran77正式开始我的职业生涯的(如果在大学实验室里的有报酬的工作也算职业的话),那时候我常常费劲脑力,整日整夜的和程序纠缠,为此不得不学习大量的计算机理论,是图书馆的常客。以后,当我开始从事企业级应用开发的时候,编程变的越来越简单,但是,在另一个方面,我需要学习更多编程以外的东西,这些理论和实践,不见得比指针和数据结构算法编译原理这些东西更简单更容易对付。
如今,我已经用Java开发7年了,我工作中最有价值最有难度的,并不是Java编程,而是思考架构,模式,工具,模板,总而言之,就是思考方式方法。在Java的领域有很多先进的思维,比如ORM, IOC, AOP, DI,有很多先进的框架如Maven, Spring, Hibernate, Struts,有很多先进的工具如Eclipse,这些东西不是单纯的工具,而是真正无数常年从事企业级开发的人员在经验积累和反思之后协力做出的精华。企业软件系统的开发,必须朝着低成本,低风险,高效率,高灵活性,高质量的方向发展。是采用一套安全有效容易学习的架构,还是一套需要从业人员花大量时间才能驾驭的,有难度,淘汰率高的架构?如果这篇文章的作者能把他立论的范围再说的清楚一点那还差不多,就是操作系统级的平台工具类软件,还是需要开发者有深厚的基础。对于大量企业应用(CRM, ERP, Portal, B2B, B2C),还是应该采用易学易用的语言和技术,降低人员雇佣成本,提高系统可维护性。
因此,我认为,第一,开发者的培训,应该主要朝着简单易学的方向发展。第二,真正对指针感兴趣的人仍然可以自由的发展。但是,从比例上来说,开发者的主体,还是在已经完善的操作系统,网络,之上进行着以业务逻辑为主的开发。以我所了解的上海一些主要跨国软件公司为例,大部分公司的采用的架构,就是让开发者可以不需要关心非业务逻辑之外的编程和控制(例如日志,网络连接,事务,安全),从而专注于业务逻辑,提高工作效率。然而,这不代表软件开发就变得越来越简单,因为在大部分开发者背后,有一群经验丰富的专家在思考高屋建瓴的问题,在解决那些重复出现的问题,这些问题往往需要一大群专家用长年的集体智慧不断改进和反思才能解决,最重要的问题,这些问题直接关系到企业开发的经济性和成败。
拓展出去,所有的工程学科,都应该变得更容易学更容易使用,因为技术在进步,我们站在前人的肩膀上,我们有更多有力的工具,更丰富的文献资源,更广泛的实践经验。 |
评分
-
查看全部评分
|