常识——《程序员》2010年第1期卷首语

原创 2009年12月24日 17:13:00

 

最近我们行业连续发生了一系列事故,频度之高,可以说前所未有。

 

首先是12月11日著名技术博客www.CodingHorror.com因为托管服务器出现常规硬盘故障而导致大量数据丢失,悲剧的是,博客主人、著名.NET技术专家Jeff Atwood自己近期没有做备份

 

接着,12月14日,由红杉资本等投资的知名社交应用网RockYou数据库被黑客攻击,有3200多万用户的MySpace等网站和邮箱等的账户和密码泄漏。有分析指出,RockYou足以作为安全的典型反面教材。攻击者仅仅采用早已写入安全教科书的SQL注入就轻松实现入侵,而且发现开发者以明文将这些机密信息保存在数据库中。不仅如此,RockYou的注册密码默认只需5位,且不能用特殊字符,用户忘记密码要求取回时,他们以明文直接把密码写在邮件发给你……更可恨的是,他们在得知泄密之后还按下不报,敷衍用户,直至黑客将自己的部分战果公开。

 

同一天,加拿大微博服务公司Plurk在官网声明,指责微软MSN中国合资公司推出的聚酷“整个设计和界面”都严重抄袭Plurk,“有80%客户端的程序代码,完完全全是从噗浪中‘复制’”。16日,微软发表声明承认抄袭代码是外包公司所为,已经无限期推迟聚酷的服务,并做出道歉。

 

12月17日,全球最大的微博Twitter被号称“伊朗网络部队”的黑客攻击,对首页和主要应用服务页面的访问都被重定向到一个反美网页,基本功能全面瘫痪数小时。原来,黑客得到了Twitter的DNS托管账户密码,修改了DNS记录。实际上,Twitter出现这种严重安全问题今年至少已经是第四次了。年初就有黑客攻入其内部管理工具,将包括美国总统奥巴马在内的几十个著名微博账户挟持,发出各种千奇百怪的消息。5月份的一次更离谱,黑客获取了Twitter员工的各种密码,包括Gmail,获得大量Twitter内部文档,包括公司所有员工的名单、信用卡号、工资表、电话、与诺基亚和微软等公司的机密合同、各种机密商务会议的报告等等。这些资料被媒体有选择地公开,使Twitter的许多秘密商务计划暴露在光天化日之下。

 

最近一次是12月22日,人民网微博上线后不到两个小时就告关闭,被网友称为寒冬里的一幕滑稽剧。这个微博产品不仅只支持IE一种浏览器发言,而且没有审核机制和敏感词过滤,更可笑的是,微博的输入居然允许JavaScript脚本!结果出现了网页上有无数形形色色消息框漫天飞舞的奇观。

 

一个个令人触目惊心的低级错误接踵而至,而且出事的都不是无名之辈,实在值得我们深思。

 

软件业几十年的历史告诉我们,软件研发并非易事,对从业人员的综合素质要求很高,这不仅包括硬性的技术能力,也需要软技能(参见本期的特别策划)、较为完备的知识体系,甚至包括各行各业、各个领域中的常识。别的不说,Joel Spolsky建议计算机系大学生毕业之前应该练好写作、善于与人交流思想、学好C语言、学好微观经济学、多学其他非计算机专业知识、培养自信心(参见本期“给计算机系学生的7个建议”),我们现在都做到了吗?

 

 

云计算的大背景下,软件将承担更为关键和核心的社会责任,而这种重大责任最终将主要落在研发人员的肩上。上面的例子中,一个软件漏洞就可能影响数以千万甚至数以亿计的用户,代码侵权或者程序中的低级错误会给公司乃至国家的名誉造成难以估计的损失。而Google的一次搜索据说要耗费数瓦电能,如果因为代码或者算法的原因,每次搜索增加一瓦两瓦,对全球的环境又会带来什么影响?

 

但是,与其他许多成熟的工程学科相比,由于软件产业发展时间比较短,发展速度却非常快,积累、沉淀和总结又跟不上,因此教育培训和规范标准等方面都存在较多的不足。加上技术变革日新月异,平台和角色分得越来越细,我们的软件开发从业人员背景复杂,很多是非科班出身,科班出身的学校教育质量又很难满足需要,最后导致的结果,就是常识缺乏成为了一种普遍现象

 

我本人这半年来主持的两次面试也印证了这一点。面试者既有多年经验的开发人员甚至项目经理,也有名牌大学的计算机专业研究生,其中有很大比例的显得知识面很窄,不知道非常基本的技术和业界常识,甚至稍微复杂一点的SQL语句都写不出来,对社会和领域知识、现代软件研发实践也知之甚少。至于表达能力、解决问题的能力等等软技能,就更是难如人意了。

 

前几天在Twitter上讨论到buffer和cache的区别。有同学说得很极端,认为如果是计算机科班出身连这都不知道,还不如去死。可是事实上,真能马上答出来的人我看不多。

 

缺乏常识其实可以分为三种情况:一是不知道自己不知道;二是不知道自己应该知道;三是好像知道,实则一知半解、似是而非。而问题的解决之道,主要在于行业标准和教育培训。

 

新的一年,我们希望与业界共同推动软件研发知识体系等规范的建设和推广,提高教育培训的水平,最终改善从业人员的综合素质,实现全行业的整体提升。

 

新的一年,让我们首先从寻找常识、补习常识开始。

 

黑马程序员.Net培训第一期2012年2~6月(珍藏版黑马.NET第1期)

以前在大学的时候,浑浑噩噩,在学习C#的时候,无意间获得了这套教程,开始了我编程的起步。...
  • u012371146
  • u012371146
  • 2017年03月13日 18:39
  • 177

程序员的知识结构

在过去5年中,我面试了数百名IT工程师,我认为很值得把我的面试IT工程师的经验同大家分享。这能够: ●帮助人们为他们的下一个面试准备 ●帮助IT工程师找到合适的工作。 ●帮助IT工程师创造更好的环境...
  • greenapple_shan
  • greenapple_shan
  • 2014年01月12日 14:54
  • 770

经典散文集锦:读者杂志卷首语大荟萃

1.             还生命以过程 余秋雨   不能设想,古罗马的角斗场需要重建,庞贝古城需要重建,柬埔寨的吴哥窟需要重建,玛雅文化遗址需要重建。这就像不能设想,远年的古铜器需要抛光,出...
  • ZYHYALI
  • ZYHYALI
  • 2017年01月19日 17:51
  • 400

一个程序员应该具备的基础知识和概念

1、计算机是有什么组成的,CPU是什么东西,其工作原理是什么。(对于这些以及下面将要提到的概念我不会告诉你什么答案,你可以看相应的教材,关于教材我会在下一部分详述,记住理解最重要!)  2、机器语言...
  • w1158384189
  • w1158384189
  • 2014年01月20日 20:06
  • 795

程序员也要了解经济学——经济学的基本知识总结

之前看了李文龙写得《漫画经济学》,虽然有了一些总结,但是多是基于问题的解答,为了进一步将这些基础也普及给广大网友,因此,将我之前的笔记重新整理了一下发布网上,这一篇重点关注如基础知识,如果需要的话,请...
  • a1456123a
  • a1456123a
  • 2017年04月13日 14:45
  • 276

《管理的常识》第三章<什么是组织结构>读书笔记

组织结构就是让权力和责任的关系匹配。         组织结构两个特性:一是要保持稳定,稳定的结构才能产生效率;二是要保持变化,变化的结构才能带来发展。 一、组织结构是自我约定的关系       ...
  • charleslei
  • charleslei
  • 2015年04月06日 16:16
  • 541

文化网,武汉文化网,湖北文化网——体制文化常识

人类创造的全部知识财富从哪里取得呢?很显然,学习历史,正确地吸收祖国丰富的历史遗产,是一条不可缺少的重要途径。我们旨在使千百万读者获得知识,为现代人打开一扇百科常识快捷获益的窗扉。综合文化常识和文学文...
  • a1079540945
  • a1079540945
  • 2014年10月20日 09:47
  • 1502

《管理的常识》第四章<什么是领导>读书笔记

一、领导的理解        领导就是指影响别人,以达到群体目标的过程。        领导特性:作为管理职能,领导借助于影响力发挥作用而非职位。        影响力=权力+魅力        1、...
  • charleslei
  • charleslei
  • 2015年04月06日 19:05
  • 686

Hadoop集群(第1期)_CentOS安装配置

1、准备安装   1.1 系统简介   CentOS 是什么?     CentOS是一个基于Red Hat 企业级 Linux 提供的可自由使用的源代码企业级的 L...
  • u014677702
  • u014677702
  • 2016年11月22日 21:39
  • 268

浙大计算机研究生复试上机考试2010年----最短路径问题

这道题是增加了一个花费的数据。。不过也不是大问题。。 不过大问题是、这题的最坑爹之处。默认的测试数据里包含两个城市间有多条路径的情况。啊啊啊。。 这TM的研究生复试上机考试,会坑死一群奋斗了一年的倒霉...
  • guodongxiaren
  • guodongxiaren
  • 2013年08月05日 17:40
  • 1153
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:常识——《程序员》2010年第1期卷首语
举报原因:
原因补充:

(最多只允许输入30个字)