Tag Archives: 名词

开发人员、程序员与计算机科学家的区别

  我经常使用这三个几乎可以互换的词,是的,甚至包括计算机科学家。毕竟,我们中的大多数人都拥有计算机科学学位,那这三者有什么不同呢?然而,最近我发现这三者的特点在我脑海中愈发泾谓分明。当我一想到那些我认识或者从事这个行业的人时,便能马上将他们归为这三种之一。不是说一个人不能同时拥有这三者的全部特点,但无论如何,他们总会更倾向类一种,那么我便把他们归属到那一类,程序员、开发人员或者计算机科学家。

  其实很难对这三者下定义(相比严格的描述,这更靠直觉而定)。虽然它们非常相似(确实如此),但我还是尽力分辨,因为我是个不怕吃苦的人。 :)

  计算机科学家

  他们写代码(是的,我知道这有点让人吃惊)。他们所写的代码,也许不是最漂亮或者构造最好的代码,但是能完成任务。这跟代码设计或者“良好”习惯没有关系,只是用来证明他们要去证明的东西。计算机科学家不仅是技术专家,而且还是数学家(他们有31337种数学技巧),他们不仅要知道代码是有效的,还必须对其作出证明。沟通和人际交往能力是理想的品质,但不是必须的。这些人掌握了他们整个研究领域足够的基础知识,但他们会专攻其中一点或者几个狭小的领域。在这些领域中,他们是世界级的专家。他们在私人时间里做着和他们研究相关的工作。

  程序员

  程序员编写非常棒的代码。代码简化,构造优良并且要没有错误(error free),这些非常重要,但是他(她)们不能以无法完成任务为代价。在他们的领域中,全是关于了解“优秀代码”的含义。他们需要掌握一些数学技巧,但这不是最重要的。他们需要清楚好(最好)的问题解决方案,但不必加以证明该方案是最佳的。对他们而言,必须掌握足够广泛的算法,并且在专业知识方面掌握有熟练的技巧,在相关领域也具备相当优秀的知识。沟通和人际交往能力是理想的品质,但不是必须的。软件开发过程和团队活力是理想的品质,也不是必须的。他们在不上班的时候,做个人软件项目,以寻找乐趣。

  开发人员

  他们写代码。优化和简化代码固然重要,但通常会优先考虑其它因素。数学技能不是必须具备的,但有助于了解与他们所在领域相关的常见问题及解决方案。沟通和人际交往能力是最重要的。软件开发过程和团队活力是赖以生存的技能。他们是不依赖任何真正专业技术的全才。他们擅长绕过问题,集成组件,从而满足一系列要求。在个人时间里,他们不是在尽力构建下一个Facebook,就是参加与编程、开发或者计算机科学无关的活动。

  (编注:Alan曾撰文讨论开发人员和数学之间的关系,他认为:成为优秀的开发人员,可以没有数学技能,但成为卓越的开发人员,不能没有。详情请参阅《数学是成就卓越开发人员的必备技能》一文。)

* 一定程度上,开发人员就是程序员。
* 一定程度上,计算机科学家就是程序员。
* 企业软件属于开发人员的领域。
* 谷歌和微软是程序员缔造的(包括小部分计算机科学家)。那里的开发人员最终成为了产品经理。
* RnD(研发)和学术界属于计算机科学家的领域(在较小程度上包括程序员)

  需要记住的是,这三者在任何方面中都不存在贬义或者不好的意思。他们体现的价值是相等的。他们只是我们所涉及的领域中不同的方面(有一些交叉点)。可能其中一个会有更多与众不同的特点,但这并不意味着这三者不能相互渗透、相互融合。一名出色的开发人员完全有可能同时是一名杰出的程序员(虽然要关注于那么多重要的事情是很困难)。极少数情况下你会遇到甚至集三者于一身的情况,那也是我乐意从您那了解的情况。因为我们应该一起开公司,那样我就可以借着你这牛人一路顺风:)。不过不管你在哪儿失败,只要你把握住三者之一,都完全有可能大获成功。

  什么是软件工程师呢?他们只是开发人员的一个子集。

  我相信我没有完全表达清楚我的想法。不过没关系,这个任务交给你了,亲爱的读者。您是否认为程序员、开发人员和计算机科学家是有区别的?如果是,那您对它们的定位是否跟我的相似?如果不是,我很乐意倾听你关于他们的想法。(编注:个人一直把“程序员”等同于“开发人员”,从未想过两者之间的区别。正如 Alan所期待,如果你有其他想法,请在评论中和大家一起讨论分享吧。)

来源:http://goo.gl/J3EkH

社会主义道德及其特征

社会主义道德,是以社会主义公有制为主体的经济基础的反映;是在无产阶级自发形成的朴素的道德基础上,以马克思主义的世界观为指导,由无产阶级自觉地培养起来的道德。是以为人民服务为核心,以集体主义为原则,代表无产阶级和广大劳动人民根本利益和长远利益的先进道德体系。它属于共产主义道德体系。

社会主义道德是在社会主义社会经济文化基础上形成的道德历史类型。社会主义道德与共产主义道德既有着密切联系,又有一定的区别。社会主义道德和共产主义道德都是建立在公有制基础上的道德体系。其基本精神是一致的。但由于公有制发展程度不同,两种道德又有不同的要求和历史使命。社会主义社会是共产主义社会的初级阶段,是从私有制向公有制,以及公有制程度不断提高的阶段。因此,要根据本阶段历史任务和人民群众思想觉悟提出社会主义社会道德的内容和要求。

来源: http://goo.gl/WEEn

Pocket PC基础知识

什么是PDA
PDA是Personal Digital Assistant的缩写,照中文翻译称为”个人数位助理”,它只是个概念 ,大体上就是一个能更有效率帮忙完成日常杂事的电子设备,主要就是绕着个人资讯管理 (PIM)这个议题在打转,广义的来说任何能达到PIM功能的电子设备都能称为PDA,实际上多 专门指能方便携带的手持产品。

什么是Pocket PC
Pocket PC是一种手持设备,可帮助您存储并检索电子邮件、联系人和约会信息,播放多媒体文件,玩赏电子游戏,借助MSN Messenger交换文本消息,浏览Web内容……您将能够与台式机实现信息交换和同步。

什么是Pocket PC Phone
PPC手机准确的说是Pocket PC phone Edition,具备电话功能的掌上电脑, 带触摸屏,更偏重PC功能也可以用来打电话。虽然Pocket PC Phone的几何尺寸与Pocket PC完全相同,但却具备通过像T-Mobile这样的无线运营商实现的内建无线连接能力。Phone Edition设备包含了标准Pocket PC的全部功能特性。这种设备还允许您针对Internet和企业网络系统实施无线访问调用,并以远远超过拨号连接的传输速率接发电子邮件

什么是PIM
PIM就是Personal Inforation Manage的缩写,照中文翻译称”个人资讯管理”,大体上对 商务人士而言包含行程管理、工作管理、名片管理及邮件管理这四个议题(当然还能再延伸 ),主要就是提供一个介面及资料库来让使用者方便的纪录分析生活周遭中的资讯。

什么是Windows CE
Windows CE是微软开发的一套嵌入式作业系统,主要运用在携带型装置及一些自动控制装置 的解决方案,它最大的特徵是发展自桌上型的Windows系统,有档案相容性高、功能多样化 的特点。

什么是RAM
RAM的全名为随机存取记忆体(Random Access Memory),可重复的写入都出资料,但需 使用电力来保持资料,照组成来分有静态记忆体(SRAM)及动态记忆体(DRAM),DRAM由 於具有较低的单位容量价格,所以被大量的采用作为系统的主记忆。

什么是ROM
OM的全名为唯读记忆体(Read Only Memory),资料一但写入後只能用特殊方法或根本 无法更改,由於此特性ROM常在嵌入式系统中担任存放作业系统的用途。

什么是Flash ROM
由於ROM不易更改的特性让更新资料变得相当麻烦,因此就有了Flash Memory的发展 ,Flash Memory具有ROM不需电力维持资料的好处,又可以在需要的时候任意更改资料 ,不过单价也比普通的ROM要高。

来源: http://www.cnpda.com.cn/thread-9594-1-1.html