A. 一个程序员所要经历的步骤
程序员应具备的12种能力
毕业四年来,感觉自己也是从一名不合格的程序员一步步走过来的。回头反思一下,合格的程序员有很多标准和要求,下面是我总结的一个合格程序员应该具备的12种能力。中国软件行业的崛起,靠的是合格的程序员。任何华丽的管理制度都不能保证软件项目的成功交付,合格的程序员就是有力的保证,是项目成功的基础。写下这些,是为了给刚刚进入程序员这个职业的新同学们一点参考。我一直以为,当程序员是很辛苦的,如果不是真正的喜欢,很难坚持下去。如果真的不喜欢这个职业,也该尊重这个职业,尊重自己,赶紧改行。
1. 编程语言能力
不用多说,作为合格的程序员,精通一门语言是必须的。这种精通,不是说看了一本《24小时精通XXX》,抄了几个程序就能说精通的,要靠长时间的积累和浸淫。
2.编码能力
我曾经看多很多程序员写的代码,在同一个jsp或者java源文件里,出现了三种以上的对方法的命名方式,有下划线间隔的,有全大写的,有拼音首字母的。就像一个菜市场,杂乱无比,估计10天后,他自己都无法看的懂。遵守编码规范,是一个程序员最基本的要求,可悲的是,很多程序员根本没有意识到这个问题的严重性。随意堆砌网上搜来的代码,根本不管可读性和可维护性,只要能实现功能就行了,心想做完这个项目,就拍拍屁股走人了,缺少最基本的职责素养。我经常把代码必须成程序员的孩子,你就是是孩子他爹,孩子他妈,是有感情的。对你自己的孩子,你能不仔细呵护吗?你是称职的父母吗?这是我编写的一个Java编码规范,供大家参考,这里可以下载http://gurudk.javaeye.com/blog/111734
另外一个就是注释,要注意不是为了注释而注释。对类,以说明职责为主;对方法,以说明意图为主;对方法体,以说明实现思路为主。对于大段大段的代码,要分段,使用空行隔开,并使用行内注释进行说明。
思维的条理性,写代码之前,先简单计划一下,用自然语言把流程写下来,用于整理实现思路。不要看了需求或设计之后,马上就敲代码了,敲完代码马上就debug。花点时间思考,敲代码只是最后一个很简单的工作,不要把自己变成一个代码打字员,编写边想,写了删,删了写。安安静静把实现过程想清楚,在脑子里先实现一遍。再去敲代码,水到渠成。
3.面向对象思维能力
如今,多数编程语言都是面向对象的编程语言。而这些面向对象的编程语言的共同的精髓就是面向对象的思想。掌握这些比面向对象语言本身更重要,比如对继承,多态,重载的理解。对面向对象基本原则的理解,比如开闭原则,接口隔离原则,单一职责原则等。在此基础上,应该掌握常用的设计模式,比如工厂模式,策略模式,观察者模式,模板方法模式,命令模式等等。我面试过很多程序员,没有一个能说得上几句的。
4.利用工具能力
工欲善其事,必先利其器。有了趁手的家伙,工作效率可以提升数倍。你编程序,有没有选择一个很好的IDE,以前听说编程高手都用记事本写程序,我觉得那是一种自虐。就像以前看到的一篇文章,说一帮户外旅行爱好者,出去旅游,背了重重的旅行包,里面装着什么压缩饼干等快速食品。他们宁可就着矿泉水啃压缩饼干,也不肯去1里路都不到的快餐店,农家菜馆吃饭。工具是为目的服务的,好用,提高效率就行,形式无所谓。
另外一个常用的工具就是日记本,好听点可以称为知识管理工具,我用的是myBase,感觉非常好用,在之前,我的所有的片段内容都是记录的单独的文本文件里的,非常不好找,管理也很混乱。
经常上互联网,看到好多好的资料想保存下来,作为日后查看之用.一开始,我用的是firefox自带的书签,但是自己分类太累,多了之后不便于查找,很麻烦。后来用了得乐书签(del.icio.us)的firefox插件,非常方便,现在成为了我必备的一个工具。
还有一个最重要的工具就是搜索引擎了,我装了google forfirefox插件,感觉不错,还有英文翻译功能。按照我同事的说法,内事用,外事用google。很多技术资料都是英文的,用google搜索效率高一些。搜索引擎用好了,就等于打开了一扇通向知识宝库的门,使用搜索引擎,关键字选择很重要。
经常去浏览大牛的blog,逐个网站访问很麻烦,去看了又可能没有更新,可以借助于RSS订阅工具,我是用iGoogle桌面工具,每天早上花半个小时扫一下,大牛的最新文章尽收眼底了。
5. 英语能力
新的技术资料都是英文的,英语国家的IT技术走在我们前面至少10年(这是我自己估计的数字,可能正在缩小)。就连印度,一个连基础设施建设都不太完善的国家,因为其英语基础较好,其在软件外包领域的发展也非常迅猛,远远超过了我们。学英语,首先是有信心,其次就是花时间。多阅读英文资料,使用金山词霸,google的firefox插件等工具配合,贵在坚持。
6.学习能力
在IT也混饭吃不容易,整个环境进化的太快,你不学习,就等于落后了。学习要有针对性,别今天学ruby,明天学python,后天php的。首先要认清自己的目标,自己短期目标是什么,1年后,3年后,5年后的目标是什么。结合这些目标,确定自己的学习计划,人的精力毕竟是有限的。当然,多掌握几门编程语言也是好的,可以扩充自己的知识面,重要的是为自己的目标服务。
要想系统的学习一门技术或工具,看书是最好的方法。看完后,然后上网找相关资料,进行深入学习。学习要抓紧一切可以利用的时间,比如电脑启动要花1分多钟,旁边放一本书,可以看上几页了。公交车上,地铁上也可以看。
当然,不能只学习技术,要经常联系自己的软技能,比如沟通能力,表达能力。你可以把自己学到的东西,解释给自己的同事听,既加深了理解,又增进了同事之间的交流。学习的最高境界就是你能够把学到的东西解释给别人听,这才说明你理解了。在学习心理学上,称之为构成主义。
我学一样东西,总是先上网了解有没有相关书籍,如果想学,就买一本或者去图书馆找相关的书来读。我买的书,家里快放不下了(到目前位置,我买了1万多块的书)。我多半是把目录看完,了解这本书讲解的主要内容,然后需要的时候,我就可以立即补充它进入到我的知识结构。每个人可能都有自己的学习方法,意识到学习的重要,并能够根据需要补充自己的知识,这种能力更重要。
7.创造能力
普遍认为,东方人模仿能力很强,但创造能力差。我见过很多这样的程序员,经常说,“这个只能这么解决了,我想不出有什么别的方法。”可能他根本都没想过别的方法,或者懒得去想。对任何一个问题,找出两种以上的解决办法都是非常容易的,简单的google一下,可能就是数十种。悲哀的是,有些程序员经常止步于自己构建的狭小领地之内。对待客户也是这种态度,不是积极的帮助客户解决问题,而是推脱这只是唯一解决方案。
打破这一思维定势的首先的一个办法就是在面临一个问题时,首先想到的是“没有不可能”,或是“一切皆有可能”,前面那个是阿迪的广告语,后面是李宁的。只有这样去想,才能寻找解决问题的别的出路,即使最后我们试了很多种办法,还是只有着一种解决方案,但我们在这种寻找解决方案的过程中,常常会产生很多好的想法,这样才会使我们真正深刻思考一个问题。建议大家看一看《水平思考》这本书,他提供了一些进行创造性思考的方法和工具。
但我认为,坚持认为存在另一种解决方案的信念是第一位的,方法和工具都是其次。
8.文档能力
也许有人会质疑,程序员跟写文档有什么关系。大家开源软件也用过不少,看看Spring,hibernate,Struts等最流行的开源软件的文档就知道,他么的tutorial,他们的getstarted,他们的reference文档写的多么的易懂。其实写代码也相当于写文档,只不过用的是编程语言。同样,写文档,用自然语言,也相当于写程序,简单明了,清晰易懂,这样的“程序”谁看谁舒服。同样,对于想进阶到设计师或者需求分析员角色的程序员,文档能力更是非常重要。
word是一个最实用的工具,很多程序员,多级编号都不会用,索引目录也不知道如何生成,更别灵活应用样式了。很多排版都是所谓的dirty work。垃圾样式一大堆。其实,静下心来,稍微学习一下,就能写出一篇格式漂亮的文档。
9.抽象能力
抽象能力是认识事物从现象到本质的能力。如果你只是停留在“见山是山,见水是水”的层次,客户说什么,你就做什么,设计怎么做,你就怎么实现,从来不过问为什么,也不去想他是满足了用户哪些方面的需求呢。这样可能只解决了表面的问题,可能会引起返工。认识到本质,才能让你的程序具备更大的灵活性和可扩展性。在做企业应用软件开发中,抽象能力体现为对问题域的理解能力,对领域模型的抽象。合理的抽象也是代码重构的前提,每一次重构,都是向更好的抽象迈进了一步。
10.代码评审能力
代码评审和单元测试是保证代码质量的两种常用手段之一。代码评审能力,说明了你的审美标准,知道什么是好的,什么是不好的,什么是优雅的代码,什么是糟糕的代码,你才能让自己做的更好。
11.单元测试能力
没有单元测试的代码,只能说是半成品。因为没有什么能证明你的代码是可以运行的。测试驱动开发是一个非常好的敏捷过程的最佳实践。单元测试还可以作为回归测试,在修改代码时,起到警戒线标志的作用。是否具有单元测试的意识是区分程序员是否合格的重要标准。写不写单元测试是区分平庸程序员和优秀程序员的重要标杆。
12.DRY
DRY是一种原则,就是Don't RepeatYourself.出自《程序员修炼之道-从小工到专家》。这条原则可以用到很多地方,比如你经常要编译,打包,部署应用程序,供集成测试用。每次你都在重复你自己,写一个自动化脚本(比如用ant,批处理命令)来将这些工作自动化,以提高效率。
还有一个就是我们经常在不同的地方切换IP,如果每次手工做,也非常浪费时间,写一个bat命令可以解决,找一个小工具也可以解决。
编码时,对代码的复用也是在重复你自己,虽然拷贝过程很爽,但是维护一致性就要付出巨大的工作量,特别是将来维护的人不是你的时候,使用代码生成工具可以解决这个问题。类似的例子太多了,如果你发现你经常做一些重复的工作,就要警惕了,是否违背了这个原则,想一些办法将他们自动化。
B. 适合程序员使用的键盘有哪些
感觉这个应该是看手感的,如果你用习惯了某种键盘,方便操作的话,那么你就会习惯了,但是机械键盘还是很好用,可以考虑雷蛇,不错。
C. 微软认证考试和微软程序员考试
你可以到微软官方网站上看看,上面写的很详细,我看过,在这里没法一一指出。 http://www.microsoft.com/learning/en/us/certification/cert-default.aspx
D. 为什么有的程序员极度推崇 Vim 和 Emacs,却对 IDE 嗤之以鼻
1、vim/emacs,30年前就有了。至今并没有太大的变化。30年前熟练掌握vim的用户至今依然能熟练使用最新版本vim。并且这个延续了这么多年使用习惯的编辑器依然能够通过扩展具有最新的功能,能适应最新的编程语言。缺省安装无配置的情况下就能够具有成千上万种文件的语法着色,这是其他编辑器无法做到的。
2、而ide呢?30年前的ide,现在还有能用的?你若是用多年前的ide,根本无法适应新的编程语言,或者无法适应新的语言标准,或者无法适应新的操作系统。
3、你18岁学会了编程,可以用vim/emacs,一直用到48岁。但如果你用ide,你每过几年就得换个新ide,30年恐怕换过10个。
4、所以,为什么有人吹捧vim/emacs?是因为有人认为,程序员没必要花费大量时间用在不断的更换ide,学习新ide上面。而如果用vim/emacs,除了最初的一年半载有个新鲜感有个折腾劲,之后的几十年里,你再也不需要操心编辑器的事儿。
E. 程序员是怎么工作的
程序员(英文Programmer)从事程序开发、维护的专业人员。一般将程序员分为程序设计人员和程序编码人员,但两者的界限并不非常清楚,特别是在中国。软件从业人员分为初级程序员、高级程序员、系统分析员,系统架构师,测试工程师五大类。
程序员主要工作流程如下:
1、流程说明:
⑴客户提出网站功能的要求;
⑵网页程序员根据客户的要求,设计动态功能;
⑶项目负责人对设计的页面进行审核,如果符合要求交给客户审核,如不符合要求,则返回给程序员重新修改;
⑷客户对页面进行审核,如果符合要求,须填写网页功能确认书,如不符合要求,则返回给程序员重新制作;
⑸程序员完成的静态页面和后台程序进行整合。
2、XHTML编码规范
(1)使用过度的(Transitional)XHTML1.0DTD编写网页。
每个HTML页面的基本结构必须是:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"/>
<title>无标题文档</title>
<meta name="keywords"content="">
<meta name="Description"content="">
</head>
<body>
内容
</body>
</html>
(3)CSS和JavaScript必须使用外部调用的方式。
例如:
<link rel=”stylesheet” rev=”stylesheet” href=”css/style.css” type=”text/css”media=”all” />
<script type=”text/javascript”src=“javascript.js”></script>
(4) 所有的标记都必须要有一个相应的结束标记。
所有标签必须关闭。假如是单独不成对的标签,在标签最后加一个"/"来关闭它。例如:
<div>…</div>
或者
<br /><img alt="…" src="…" />
所有标签的元素和属性的名字都必须使用小写。
所有的标签和属性都要用小写。例如:
<BODY></BODY>
要写成
<body></body>
onMouseOver=”…”
要写成
onmouseover=””
所有的XHTML标记都必须合理嵌套。
也就是说所有的标签必须对齐。例如不能出现
<p><b>…</p></b>
而要是
<p><b>…</b></p>
所有的属性必须用引号""括起来。
<height=80>必须修改为:<height="80">
不要在注释内容中使“–”, 一定要使用可用“=”代替。
“–”只能发生在XHTML注释的开头和结束,例如:
<!–这里是注释———–这里是注释–>
要改为
<!–这里是注释============这里是注释–>
使用语义标签。
每个区块的划分必须有注释。
表现与结构分离,代码中严格控制涉及任何的表现元素。如style、font、bgColor、border等。
<img />标签必须有alt属性。
3、CSS编码规范
⑴、 总体规范
CSS代码要按照固定格式编写,属性之间不换行。
属性按照“显示属性”(display ?list-style? position? float? clear)——“自身属性”(width? ?height? ?margin? padding? border? ?background )——“文本属性”(color fonttext-decoration text-align vertical-align white-space other text content)的顺序来编写。
按照XHTML的层级来缩进CSS的定义。加强代码的结构性。如:
#nav{} #nav #sub_nav{}
不同的块之间要用空行或者注释隔开。
编写的样式要在主流浏览器中解析正常。(正常并不要求在每种浏览器都有中都有一摸一样的样式,但要求在每种浏览器里都比较美观且相差不大。)
⑵、 CSS样式表各区块用注释说明
注释的写法:
/* Footer */
内容区
/* End Footer */
⑶、 CSS选择器的命名规范
id和class命名采用该版块的英文单词或组合命名,要做到见名之意,单词之间采用下划线链接new_Release。注意不能采用“驼峰标识”的写法。
颜色:使用颜色的名称或者16进制代码,如
.red { color: red; }
.ff8600 { color: #ff8600; }
字体大小,直接使用"font_字体大小"作为名称,如
.font_12px { font-size: 12px; }
.font_12px {font-size: 12px; }
对齐样式,使用对齐目标的英文名称,如
.left { float:left; }
.bottom { float:bottom; }
标题栏样式,使用"类别_功能"的方式命名,如
.bar_news { }
.bar_proct { }
页面结构
容器 布局头部 尾部 侧栏
#container #layout #head、#header #foot、#footer #sidebar
左边栏 右边栏页面主体 栏目 包装/外套
#sidebar_left #sidebar_right #main #column #wrapper、wrap
内容
#content
导航
导航 主导航顶导航 左导航 右导航
#nav #main_nav #top_nav left_nav right_nav
下导航 二级导航菜单 二级菜单 下拉
bottom_nav #sub_nav #menu #sub_menu .drop
下拉菜单
. drop_menu
功能
标签 提示信息小技巧 注释 热点
.tab、.tag .msg、.message .tips .note .hot
标签 工具条标题 LOGO 搜索
.label .tool、.tool_bar.title .logo .search
搜索条 搜索框搜索输入框 搜索输出框 搜索结果
.search_bar .search_box .search_input .search_output .search_results
注册 登录登录条 登录框 友情链接
.register .login .login_bar .login_box .friend_link
广告/标语 版权信息 加入我们 合作伙伴 服务
.banner .right .join_us .partner .service
网站地图 缩略图产品 产品价格 产品描述
.site_map .screen_shot procts procts_prices procts_description
编辑 编辑评论
editor editor_review
其他
左中右 上中下按钮 面包屑 滚动
left、center、right top、middle、bottom btn bread_crumb scroll
当前: 图标箭头 首页 二级页面
current icon arrow home_page sub_page
状态 常见问题关键词
status faq keyword
⑷、 CSS文件命名规范
基本的样式表,每个文件都要引用的命名为: default.css。
该文件用于定义整站的风格,如站点的默认字体大小,默认链接样式等。
用于布局的样式表命名为:layout.css。
一般分为首页布局,二级页面布局,详细页面布局等几个块,块与块之间要用注释隔开。
头部,底部,导航等单独的页面模块要单独的定义一个CSS文件。名称和页面名称相同。如:head.css
首页要单独定义一个CSS文件:index.css。
其他页面可更具情况共用一个或按照网站栏目共用几个CSS文件。如:page.css、news.css等等。
特殊功能可以单独定义一个CSS文件,4.6.21如lightBox.css。
⑸ 、JavaScript编码规范
JavaScript文件
JavaScript程序应独立保存在后缀名为.js的文件中。JavaScript代码不能被包含在HTML文件中,除非这是段特定只属于此部分的代码。JavaScript引用应尽量放到body的后面。这样可以减少因为载入JavaScript而造成其他页面内容载入也被延迟的问题。
注释
代码必须有注释。以便给以后需要理解你的代码的人们(或许就是你自己)留下信息。注释要和所注释的代码一样是书写良好且清晰明了。避免冗长或者情绪化。及时地更新注释。避免错误的注释存在于程序中。
变量声明
所有的变量必须在使用前进行声明。将var语句放在函数的首部。把每个变量的声明语句单独放到一行,并加上注释说明。
var currentEntry; // 当前选择项
var level; // 缩进程度
var size; // 表格大小
函数声明
所有的函数在使用前进行声明。 内函数的声明跟在var语句的后面。
函数名与((左括号)之间不要有空格。)(右括号)与 开始程序体的{(左大括号)之间应插入一个空格。函数程序体应缩进一个TAB键。}(右大括号)与声明函数的那一行代码头部对齐。
function outer(c, d) {
var e = c * d;
function inner(a, b) {
return (e * a) + b;
}
return inner(0, 1);
}
命名变量名由26个大小写字母(A..Z,a..z),10个数字(0..9),和_(下划线)组成。大多数的变量名和方法命应以小写字母开头。必须与new共同使用的构造函数名应以大写字母开头。全局变量要全部大写。
语句
简单语句
每一行最多只包含一条语句。把;(分号)放到每条简单语句的结尾处。注意一个函数赋值或对象赋值语句也是赋值语句,要以分号结尾。
复合语句
复合语句是被包含在{ }(大括号)的语句序列。被括起的语句必须多缩进一个TAB键。 {(左大括号)应在复合语句其实行的结尾处。 }(右大括号)应与{(左大括号)的那一行的开头对齐大括号要在所有复合语句中使用,即使只有一条语句,当它们是控制结构的一部分时, 比如一个if或者for语句。这样做可以避免以后添加语句时造成的错误。
return 语句
一条有返回值的return语句不要使用( )(括号)来括住返回值。如果返回表达式,则表达式应与return 关键字在同一行。
if 语句
if语句应如以下格式:
if (condition){
statements;
}
if (condition) {
statements;
} else {
statements;
}
if (condition) {
statements;
} else if (condition) {
statements;
} else {
statements;
}
for 语句
for语句应如以下格式:
for (initialization;condition;update) {
statements;
}
for (variable in object)if (filter) {
statements;
}
第一种形式的循环用于已经知道相关参数的数组循环。第二种形式应用于对象中。object原型中的成员将会被包含在迭代器中。通过预先定义hasOwnProperty方法来区分真正的object成员:
for (variablein object) if(object.hasOwnProperty(variable)){
statements;
}
while 语句
while语句应如以下格式:
while (condition){
statements;
}
do 语句
do语句应如以下格式:
do {
statements;
} while (condition);
不像别的复合语句,do语句总是以;(分号)结尾。
switch 语句
switch语句应如以下格式:
switch (expression){
case expression:
statements;
default:
statements;
}
每个 case与switch对齐。每一组statements(除了default应以 break,return,或者throw结尾。不要让它顺次往下执行。
try 语句
try语句应如以下格式:
try {
statements;
} catch (variable){
statements;
}
try {
statements;
} catch (variable){
statements;
} finally {
statements;
}
continue 语句
避免使用continue语句。它容易使得程序的逻辑过程晦涩难懂。
with 语句
不要使用with语句。
空白
用空行来将逻辑相关的代码块分割开可以提高程序的可读性。空格应在以下情况时使用:跟在((左括号)后面的关键字应被一个空格隔开。while (true) {函数参数与((左括号)之间不要有空格。这能帮助区分关键字和函数调用。所有的二元操作符,除了.(点) 和((左括号)和 [(左方括号)应用空格将其与操作数隔开。一元操作符与其操作数之间不应有空格,除非操作符是个单词,比如typeof。每个在控制部分,比如for 语句中的; (分号)后须跟一个空格。每个,(逗号)后应跟一个空格。
4、 根据效果图利用XHTML/CSS/JavaScript/DOM/Flash等各种Web技术进行产品的界面开发。
5、 开发JavaScript以及Flash模块,
6、 增加交互动态功能。致力于通过技术改善用户体验。
7、 结合后台程序,
8、从后台接口获取数据整合到前台界面显示。
参考资料:http://wenku..com/view/0d632cd576eeaeaad1f330a0.html
F. 去日本留学的理科专业选择哪种比较好
1。日本语(推荐东京外国语大学 以后自己开语言学校 当老师 搞翻译都行)
2。经营(以后在中日两国只间的商场活跃 但是学经营的人太多了 并且学经营 只是学了一些理论 不像理科那样学到的是一门技术 所以最好考一个高的学历)
3。会计(考出日语簿记2级后 再去考USCPA(中国搞英文会计大多数用英国的ACCA 日本则用USCPA) 回国或在日本都很吃香 去美国也行)
4。计算机 (学软件开发 现在日本很多IT企业 将设计书写好后 让中国的搞外包的公司进行编程 还有很多it企业都往中国发展 如 富士通 所以又懂it 又会日语的人才 未来挺抢手)
5。机械工程 (不用说了 日本的汽车 )
6。动漫(不说也知道)
7。城市规划(就是学城市的布局设计 日本城市规划 搞得很好 来日本就知道了)
8。另外一些理科 (石油工程 电器电子 等等 理科总的来说在日本好就职 学的人少 而且又是学一门技术 不想文科那样学的是理论)
想做营销的话 学商学 经营学都行 但是在日本学商学 经营学 以后也只能在日中之间活跃 而且跟留美 留欧 的海归没得比 毕竟MBA还是老美的特长 日本的MBA 不行
总之 一句话 一个人不是什么行业都能做 要先选自己喜欢的 擅长的 其次是对自己有用的 行行出状元嘛 以上是我的推荐
G. 程序员对图灵的认识是怎样的
图灵毫无疑问是天才,在计算机各个领域做出了巨大的不可磨灭的贡献!
电子计算机
图灵在第二次世界大战中从事的密码破译工作涉及到电子计算机的设计和研制,但此项工作严格保密。直到70年代,内情才有所披露。从一些文件来看,很可能世界上第一台电子计算机不是ENIAC,而是与图灵有关的另一台机器,即图灵在战时服务的机构于1943年研制成功的CO-LOSSUS(巨人)机,这台机器的设计采用了图灵提出的某些概念。它用了1500个电子管,采用了光电管阅读器;利用穿孔纸带输入;并采用了电子管双稳态线路,执行计数、二进制算术及布尔代数逻辑运算,巨人机共生产了10台,用它们出色地完成了密码破译工作.
战后,图灵任职于泰丁顿国家物理研究所(Teddington National Physical Laboratory),开始从事“自动计算机”(Automatic Computing Engine)的逻辑设计和具体研制工作。1946年,图灵发表论文阐述存储程序计算机的设计。他的成就与研究离散变量自动电子计算机(Electronic Discrete Variable Automatic Computer)的约翰•冯•诺伊曼(John von Neumann)同期。图灵的自动计算机与诺伊曼的离散变量自动电子计算机都采用了二进制,都以“内存储存程序以运行计算机”打破了那个时代的旧有概念。
人工智能
1949年,图灵成为曼切斯特大学(University of Manchester )计算实
验室的副院长,致力研发运行Manchester Mark 1型号储存程序式计算机所需的软件。1950年他发表论文《计算机器与智能》( Computing Machinery and Intelligence),为后来的人工智能科学提供了开创性的构思。提出着名的“图灵测试”,指出如果第三者无法辨别人类与人工智能机器反应的差别, 则可以论断该机器具备人工智能。
1956年图灵的这篇文章以“机器能够思维吗?”为题重新发表.此时,人工智能也进入了实践研制阶段。图灵的机器智能思想无疑是人工智能的直接起源之一。而且随着人工智能领域的深入研究,人们越来越认识到图灵思想的深刻性:它们至今仍然是人工智能的主要思想之一。
数理生物学
从1952年直到去世,图灵一直在数理生物学方面做研究。他在1952年发表了一篇论文《形态发生的化学基础》(The Chemical Basis of Morphogenesis)。他主要的兴趣是斐波那契叶序列,存在于植物结构的斐波那契数。他应用了反应-扩散公式,现在已经成为图案形成范畴的核心。他后期的论文都没有发表,一直等到1992年《艾伦•图灵选集》出版,这些文章才见天日。
H. 微软匈牙利命名法是怎么回事啊
找到张图片
I. 查尔姆斯理工大学的知名校友
Abraham Langlet, 着名化学家
尼尔斯·古斯塔夫·达伦,诺贝尔物理学奖获奖者
Ingemar Lundström,诺贝尔物理奖评委会主席
Leif Johansson,爱立信董事长,前沃尔沃集团(Volvo Group)总裁兼CEO
Leif Osting,斯堪尼亚(SCANIA)汽车总裁兼CEO,SKF集团董事局主席
Peter Augustsson,前萨博汽车(Saab Automobile)总裁兼CEO
Hå kan Buskhe,萨博集团(Saab Group,军工)总裁兼CEO
Hans Straberg,伊莱克斯(Electrolux)总裁兼CEO
Goran Lindahl,ABB 集团总裁兼CEO
Sune Carlsson,阿特拉斯·科普柯集团(Atlas Copco)董事局主席
西格弗里德·埃德斯特隆,第4任国际奥林匹克委员会主席
Peter Nordin,计算机科学家,创业家
Gert Wingårdh,着名建筑设计师
Lars Pensjǒ,LPC 编程语言之父
Ludvig Strigeus,瑞典着名程序员,BitTorrent,μTorrent,OpenTTD and ScummVM 等世界知名软件的开发者,也是欧洲最大的音乐服务网站Spotify的主要开发者,现就职于Spotify。
Ivar Jacobson,UML之父,Use Case、RUP等软件技术作者,公认的软件工业开发模式的世界级大师