博文
[转]与Python之父的对话:Python的成功之路(2008-10-30 09:14:00)
摘要:原文地址:http://news.csdn.net/n/20081027/120267.html
Python 之父 Guido van Rossum 就 Python 的历史、ABC 语言的影响,以及 Python 最初的设计目标进行了一次谈话.
Guido van Rossum 是 Python 的作者,Python 是一门解释性的、交互式面向对象编程语言.1980 年代末,Van Rossum 在荷兰的国家数学和计算机科学研究所开始致力于 Python,在荷兰语里,他工作的地方被叫做 Centrum voor Wiskunde en Informatica (CWI).从那时开始,Python 在开发者当中日益流行起来,这归功于 Python 简明清晰的语法和开发效率高的名声.
这次访谈会分为几个部分,每周都会发布其中一篇.Van Rossum 会对下列议题给出他的真知灼见:Python 的设计目标,Python 程序员的工作效率来自何处,弱类型意味着什么,等等.在第一篇中,Van Rossum Python 将对 Python 的历史,受到的主要影响,及其设计目标娓娓道来.
Bill Venners: 如果开发者从没用过 Python,那你会怎么向他们描述这门语言呢?
Guido van Rossum: 从一个方面说,你可以说 Python 是一个非常高阶的语言.而从另一个方面来看,你可以说它是一个非常高阶的语言,它实现的方式正好让它非常注重可交互性.Python 和脚本语言之间有着很多共同点,但是和更传统的编程语言也有颇多共通之处.
ABC 对 Python 的影响
Bill Venners: 您能简要介绍一下 Python 的历史么?
Guido van Rossum: 在 1980 年代末,我在 Centrum voor Wiskunde en Informatica (CWI) 的一个小组里面做开发工作,这个小组的任务是设计实现一门叫 ABC 的语言.我不清楚人们对 ABC 对 Python 的影响有多少了解.我之所以会提及 ABC 的影响,是因为我在从事这个项目的时候,所获良多,而且从共事的同事身上也学到了很多东西,我对他们非常感激.......
国际:什么是程序员的优秀品质?(2008-10-17 12:33:00)
摘要:【CSDN编译】使用一种特殊的编程语言、编程很牛,单单靠这个并不能说一名程序员/开发者就是优秀程序员/开发者。 快速发展的开发环境使得这个行业比我今天看到的任何一个行业都要发展迅速,这既有积极的一面也有消极的一面:今天的程序员/开发者有很多编程语言、开发工具和开发平台可选,但是建立一个安全、可扩展的环境却变得难了很多;硬件和软件正日新月异地变得更加复杂,但现在学习新技术比过去要难太多了。
以下是优秀程序员应当具备的品质:
语言和工具(Languages and Tools:)
任何程序员/开发者需要具备的第一个技能就是,能够用编程语言工作并会使用与之相关的主要开发工具,包括:工具、IDEs, web 框架, messaging APIs。
程序设计方法(Programming Paradigm:)
举例来说,很好地理解面向对象,这对使用强制式语言(Imperative Language也称过程式语言)写出可维护的代码至关重要。在企业开发中你会遇到各种不同的问题,理解多种程序设计方法并知道何时使用,将使这些问题迎刃而解。
领域专长的知识(Domain Specific Knowledge:)
如果想编写系统来解决特定领域内的问题,那么拥有该领域的专长知识将非常重要。
尽管许多这样的知识是由项目的商业分析员(Business Analyst)来获悉,但如果开发者也能获取,那么跟用户的交流将会更加容易,而且更能够理解他们的专业词汇。
人际关系(People Skills:)
软件开发中最重要的技能之一就是能够与其他开发者一起高效工作——同事、质量/商业分析员(Quality/Business Analysts),客户,用户,很多很多……如果你能够很好地处理这些关系,那么成功的大路也离你不远矣。
解决问题(Problem Solving:)
有能力解决那些没有明显解决方法的问题,这一点在软件开发中很重要。当把你的应用配置到JBoss或者通过一个......
国际:调查报告--行业中最需要的IT技能是什么(2008-10-12 17:17:00)
摘要:原文:http://news.csdn.net/n/20081010/119781.html现在,作为一名网络管理员和桌面支持专家真是太好了,基于这一原因,无线网络专家和Windows高手也很受欢迎。
就像文末中的调查结果一样,某些具有特定技能的IT从业者很需要。Robert Half Technology是一家拥有全职IT调查人员和社会关系的公司,它调查了1400位CIO,调查问题是:他们最需要的IT技能是什么?
在看到本文答案的同时,也请注意到这结果反映的也是当今IT的局势及其未来走向。
不难理解,网络专家和Windows管理员的需求性很高。他们构成今天企业IT部门的后台,没有桌面支持,员工如何能够正常工作呢?
再来看需求量很高的Web开发专家——尽管很多公司并不做在线销售。“软件作为一种服务”的发展和商业走向网络的趋势让他们的薪水很高。
还有两个热门的工作实际是一码事:无线网络管理和通讯支持,企业不仅需要形式和硬件上的更需要从实际意义上的接入远程(这种趋势跟“软件作为一种服务”引出一个问题:几年后与IT相关的东西仍将只是企业内的事么?)
调查揭示,尽管许多颇有影响力的家伙认为Java只在大学校园里占优势,但.NET 和 Java仍然是项目开发的核心环境。
调查发现还有一个新的家伙备受推崇:虚拟化,这个几年前几乎不被CIO考虑的服务器延伸技术,现在却有三分之一的公司需求。开源开发,在几年前也根本不会在这份名单中,现在也有约五分之一的公司需求。
还有一个相关的问题,调查问这些CIO:他们将怎样做来留住高水平的IT人员?最广泛的回答(28%)是雇佣有少许经验的人来培训他们。其他的回答包括提供激励措施给现有的员工来提供他们的生产力(26%),还有使用合同或项目制度(20%)。还有5%的CIO回答是“我不知道”,可以毫无疑问地断定他们肯定不会从员工那里得到最高产值。
六十一条面向对象分析设计的经验原则(整理)(2008-10-05 21:41:00)
摘要:你不必严格遵守这些原则,违背它们也不会被处以宗教刑罚。但你应当把这些原则看成警铃,若违背了其中的一条,那么警铃就会响起 ----- Arthur J.Riel
(1)所有数据都应该隐藏在所在的类的内部。
(2)类的使用者必须依赖类的共有接口,但类不能依赖它的使用者。
(3)尽量减少类的协议中的消息。
(4)实现所有类都理解的最基本公有接口[例如,拷贝操作(深拷贝和浅拷贝)、相等性判断、正确输出内容、从ASCII描述解析等等]。
(5)不要把实现细节(例如放置共用代码的私有函数)放到类的公有接口中。
如果类的两个方法有一段公共代码,那么就可以创建一个防止这些公共代码的私有函数。
(6)不要以用户无法使用或不感兴趣的东西扰乱类的公有接口。
(7)类之间应该零耦合,或者只有导出耦合关系。也即,一个类要么同另一个类毫无关系,要么只使用另一个类的公有接口中的操作。
(8)类应该只表示一个关键抽象。
包中的所有类对于同一类性质的变化应该是共同封闭的。一个变化若对一个包影响,则将对包中的所有类产生影响,而对其他的包不造成任何影响 .
(9)把相关的数据和行为集中放置。
设计者应当留意那些通过get之类操作从别的对象中获取数据的对象。这种类型的行为暗示着这条经验原则被违反了。
(10)把不相关的信息放在另一个类中(也即:互不沟通的行为)。
朝着稳定的方向进行依赖.
(11)确保你为之建模的抽象概念是类,而不只是对象扮演的角色。
(12)在水平方向上尽可能统一地分布系统功能,也即:按照设计,顶层类应当统一地共享工作。
(13)在你的系统中不要创建全能类/对象。对名字包含Driver、Manager、System、Susystem的类要特别多加小心。
规划一个接口而不是实现一个接口。
50项生活必须掌握的技能(2008-10-02 21:50:00)
摘要: 要过得健康充实,还得靠自立。要学会自立,必须得掌握一些技巧。可能和你在学校里学到的不同,但全才远远要比专门只会一样的人更能够适应生活。
这里是每个人都该学会的50件事情。(不完全统计)
1. 生火——火能产生光和热。这两件是生存的必需品。也许在某个时候,这项技能可以救你的命。
2. 操作电脑——基本的电脑常识是现代生活之必需。必要的时候,请帮助他人。
3。有效使用Google——Google无所不知。如果你用Google找不到你想找的东西,那就是你的问题了。
4。人工呼吸和处理喉咙被塞住的急救措施——有一天你的妻子、丈夫、儿子或女儿,可能正是需要你帮助的那个人。
5。开手排档的车——也许有时候你会需要这项技能,要是不会就糟了。
6。简单地做饭——如果你连鸡蛋或牛排都不会煎,那就麻烦了。
7。讲一个能吸引人们注意力的故事——如果你不能吸引别人的注意力,那还是别废话了。
8。不与人打架,除非你能赢——两种情况下,你都赢了。
9。告诉别人坏消息——总得有人去做这件事。不幸的是,有一天这个重任也会落到你肩上。
10。换轮胎——轮胎里面有气体,只要有气体的东西总有一天会爆掉。
11。从容应对面试——要是紧张得浑身是汗,你肯定得不到那份工作。
12。管理好自己的时间——否则你就是在浪费时间。偶尔浪费时间也没关系,但不能一直这样。
13。快速阅读——很多时候你只要读要点就可以了。(看到这里就觉得没早点学会这条了吧)
14。记住名字——你会喜欢别人管你叫“喂,那个谁。。。”吗?
15。整理房间——真正做起来总比想象的要难一点。
16。轻装上阵——旅行时只带最必需的东西。这样更便宜、更简单、更灵活。
17。和警察打交道——蹲监狱可不是好玩的,监狱里面的大汉就更不用说了。
18。给别人指路——没人喜欢迷路,所以最好第一次就指对。
19。进行基本的急救——会正确处理伤口,不是只有医生或天才才能做到的。
......
Notepad++(2008-10-02 21:35:00)
摘要:Notepad++
Notepad++ 是一款免费的开源的跨平台的代码编辑器。
Notepad++ 的主要功能:
1、语法高亮度显示及语法摺叠功能
支援的程式语言:
C C++ Java C# XML HTML
PHP CSS makefile ASCII art (.nfo) doxygen ini file
batch file Javascript ASP VB/VBS SQL Objective-C
RC resource file Pascal Perl Python Lua TeX
TCL Assembler Ruby Lisp Scheme Properties
Diff Smalltalk Postscript VHDL Ada Caml
AutoIt KiXtart Matlab Verilog Haskell InnoSetup
CMake
2、列印所见即所得(WYSIWYG)
如果你有彩色印表机,你可以把你的原始码以多种颜色列印出来。
3、用户自定程式语言
用户可自定程式语言:自定的程式语言不仅有语法高亮度显示功能,而且有语法摺叠功能功能。 注解关键字及运算符号亦可自定。
4、字词自动完成功能(Auto-completion)
用户能做自己的API列表(或从下载专区下载你需要的api档案) 。一旦api档案建立完成且在正确的路径系统,键入Ctrl+Space(你可以修改这个键盘捷径)启动字词自动完成功能(参考字词自动完成功能画面)。 欲知更详尽的资讯,请参考字词自动完成功能线上辅助。
5、支援同时编辑多重文件
你可以同时开启多页面来编辑。
6、支援多重视窗同步编辑
用户可同时有两个视窗对比排列。你不但能开启两个不同文件在分别两个不同的视窗内 (画面), 并且能开启一个单独文件在两个不同的视窗内(clone mode)进行同步编辑。同步编辑的成果将在两个的视窗内同时更新。请参考同步编辑画面。
......
教你短信和女生说话的24句(2008-10-02 21:23:00)
摘要:1.听人家说,男人找老婆要爬三座大山,看在你我这么有缘的份上,可不可以,让俺少爬两座呀,让俺早点追到你,等待你的回答,如果同意请回复:我同意,如果不同意,请回复:我就是同意。不回复,俺就默认你无条件同意了。
2.男:问你一个问题好吗?你睡觉的时候喜欢睡那一边。
女:右边,怎么了。
男:那我从今天开始就睡左边,把右边给你留着。
女:你……
3.听说你手机没有短信功能,所以发这条短信试验。如你收到,证实有短信功能并是我的短信,请给我回复:我有了,是你的!
4.喜欢,就是淡淡的爱。爱,就是深深的喜欢。我希望以后可以不用送你回家,而是我们一起回我们的家。
5.第一眼见到你,我就对自已说:你就是我今生的奋斗目标,我要追求你,拥抱你。我要宣布:我爱你……人民币。
6.没有你的曰子,生活变得难受,我恨那个可恶的第三者将你抢走,你和他是否有了新感情?好想你回到我身边——钱包。
7.害羞的我有一句话一直都不敢向你表白,但是今天我终于鼓起勇气:你什么时候请我吃饭?
8.一个机缘认识你,两次见面留意你,三番四次约会你,七上八下挂念你,九成应是喜欢你,十分肯定我爱你。百年修到遇真爱,千年成全你和我,万事具备愿意吗。
9.你这个小妖精,令我中了你的爱情毒却不肯......
每天提升一点,专业BBS(2008-09-24 23:32:00)
摘要:每天提升一点,专业BBS
我的BBS http://programfan.5d6d.com
每天都会往这个BBS上传点资料,有网上共享的,也会有自己工作中所写的一些关键code等等
欢迎大家来交流 ,每天提升自我......
工作以后十不要(2008-09-20 11:16:00)
摘要:第一:不要认为停留在心灵的舒适区域内是可以原谅的。
每个人都有一个舒适区域,在这个区域内是很自我的,不愿意被打扰,不愿意被push,不愿意和陌生的面孔交谈,不愿意被人指责,不愿意按照规定的时限做事,不愿意主动的去关心别人,不愿意去思考别人还有什么没有想到。这在学生时代是很容易被理解的,有时候这样的同学还跟“冷酷”“个性”这些字眼沾边,算作是褒义。然而相反,在工作之后,你要极力改变这一现状。否则,你会很快变成鸡尾酒会上唯一没有人理睬的对象,或是很快因为压力而内分泌失调。但是,如果你能很快打破之前学生期所处的舒适区域,比别人更快的处理好业务、人际、**之间的关系,那就能很快的脱颖而出。
在会议上,一个停留在心灵舒适区域的人会消极的听取领导的话语,消极的待命,很死的完成上级交给的事情,但从来不关心此事以外的任何事情,更不会想到多做一步,让接下来的别人的工作更加容易上手。而敢于打破这个舒适区域的人,敢于在适当的时候提出自己的看法和不理解,并在得到上级认可和指点之后把手头的工作尽快的完成,并随时接受别人的批评和调整。(注意:永远不要等待别人把你的想法说出来,这是典型的前者)
在工作上,当前者遇到一名新的同事,他会装作没有看见,继续自己的工作。殊不知新来的同事不久就变成了自己的上司。而后者则大方客气的自我介绍,并了解对方和自己的关系。
在聚会上,前者总是等待别人发言,并喜欢私下里评论对方的言语;如果这个桌子上没有人发言,那直到用餐结束,也没有人认识你。而后者是勇敢的和一同吃饭的开始介绍和闲谈,这看起来很困难,有时候会有失面子,但往往你会发现,对方是多么希望能和你说几句话。
以上只是很小的几个例子,但是要说明的是,大学生在走出校园的同时就要在工作上把校园中的“随意性”从身边赶走,尽早的冲出自己的舒适区域,开始做好和这个社会交流的准备。
开始工作之后的十个不要----(二)
第二:不要把“好像”;“有人会……”;“大概”;“晚些时候”;“或者”;“说不定”之类放在嘴边。尤其是和上级谈论工作的时候。
我十分痛恨听到的一句话是:“我晚些时候会把这个文件发给所有的人”;因为这往往预示着我必须时刻提醒他不要忘记。同样,以下这些言辞也会让人觉......
Google公开数据交换格式Protocol Buffers源码(2008-09-20 10:22:00)
摘要:Google于周一(7/7)宣布释出数据交换格式─Protocol Buffers原始码,这是Google内部用来加密网络或磁盘上大量数据的技术,Google宣称该格式比XML更胜一筹。
Google软件技术团队Kenton Varda表示,Google的任务为组织全球的数据,现在全球有上千种不同的数据格式,绝大多数的格式都是结构化的,所面临的重要挑战为如何全部将其加密,而就算像是XML这么好的格式都无法有效解决如此大规模的数据转换工作。
在Google所发表的文件中说明了Protocol Buffers在串行化结构性数据时胜过XML的优势,包括比XML更简单,程序小3~10倍,执行速度快20~100倍,比XML更清楚而且所产生的数据存取类别更容易被用来程序化。
Protocol Buffers与XML的设计概念不同,XML定义表格及数据组的架构,然而Protocol Buffers主要着重在程序逻辑。
Varda说,Protocol Buffers让使用者可以透过特定的语言定义简单的数据架构,并将其编译成可代表这些架构的类别,透过优化的程序代码以最大压缩格式分析与串行化这些讯息并完成这些类别,而且,这些类别非常容易使用。
Google自2001年开始开发Protocol Buffers供内部使用,目前释出的是Protocol Buffers 2.0版,Google表示,由于该公司打算释出的许多开放源码计划中有很多都使用了Protocol Buffers功能,因此率先释出Protocol Buffers......