开发手机的c语言手机开发培训和开发计算机的c语言手机开发培训有什么相同的

十大流行编程语言和它们的创造者
概述:本文收集并分享了这五十年来,最成功,最流行的十门编程语言和它们的创造者的故事。在文章的底部还附有相关的信息图,方便你能够进行直观的查看。软件开发领域里有许许多多编程语言。在这里,不断有新的编程语言在诞生,如Scala、Go、
Closure等,也不断有老的编程语言慢慢消亡。它们中的许多都曾为软件开发作出了巨大贡献。作为软件开发领域中最重要的事物,编程语言从一诞生起就会
经历人们的议论、批评与改进。这些编程语言的创造者是编程世界的标志人物,当我看到某些人在使用某种编程语言却不知道这门语言从何而来的时候,会感到一种
淡淡的忧伤。对于最为流行的编程语言,出现这种情况的情况较少,比如Java,几乎所有人都知道Java之父的名字James
Gosling,但是,对于Perl、Pascal、Lisp或者Erlang呢,你是否依然知道它们的创造者是谁?这些想法促使了本文的诞生,本文收集并分享了这五十年来,最成功,最流行的十门编程语言和它们的创造者的故事。在文章的底部还附有相关的信息图,方便你能够进行直观的查看。(请注意,下面的顺序并不代表排名。)1)Java和James GoslingJava是世界上最成功最流行的编程语言之一。James
Gosling博士发明了Java,并被尊称为Java之父。在早些时候,Java是由SUN微系统公司开发与提供技术支持的,在2010年1月SUN被
甲骨文公司收购后,现在这些是由甲骨文公司来完成。Java的创造是为了完成WORA(Write once, run anywhere
一次编写到处运行)的理念,它的平台独立性使它在企业应用中获得了巨大成功。到目前为止,它已经成为了最流行的一门应用程序编程语言。2)C和Dennis Ritchie1967年到1973年之间,美国计算机科学家Dennis MacAlistair
Ritchie在AT&T贝尔实验室创造了C语言。到目前为止,C语言仍然非常受欢迎,它被广泛地运用于系统编程。它比Java要古老得多,但是
还依然保持着在软件开发领域的地位。另外值得一提的是,Dennis Ritchie还与他的同事Ken
Thompson创造了世界著名的UNIX操作系统。如果你要让他和 Bill Gates或者Steve
Jobs比较名气,可能他会比不上,但是要是比较软件开发领域的贡献的话,他会完爆以上那两位。每一个程序员都会铭记Dennis
Ritchie以及他为软件开发领域所做出的杰出贡献。3)C++和Bjarne Stroustrup Bjarne
Stroustrup,出生于日的奥尔胡斯,是丹麦的计算机科学家。他最引人注目的成就是创建并推广了编程语言C++。C++,正如
其名字所暗示的一样,是C语言之后流行的新一代语言。它所带来的面向对象编程的概念被认为是有别于C语言编程结构的非凡特性。C++目前仍然是最受欢迎的
一门编程语言,由于与计算机系统联系紧密以及流行的面向对象特性,它被广泛地运用于商业领域。4)Python和Guido van RossumPython是一门用途广泛的高级编程语言,它的设计理念是强调代码可读性,因此它的语法非常清晰和明亮。Python是由荷兰国家数学和计算机科
学研究院的Guido van
Rossum设计的。在美国,Python在学术层面上已经取代了Java,如今的学生开始学习编程时使用的是Python,就象上一代使用C或者
Java一样。如果你仍然不能确定是使用Python还是Java来作为初学语言,这篇可以帮助你作出选择。Python广泛运用于web应用程序开发,在软件开发和信息安全领域有许多基于Python的web框架。另外,Python也广泛被Google、Yahoo、Spotify等科技巨头所使用。5)PHP和Rasmus Lerdorf无论你有多么讨厌PHP,你都不能忽略这样一个事实:有一半的互联网都运行着这样一种神奇的互联网语言。PHP最初是由Rasmus
Lerdorf在1995年创造的,PHP现在最主要的实施是由PHP团队来完成,这个团队还为PHP语言提供正式的参考。彼时,PHP是作为微软的动态
服务器页面(ASP)服务器端脚本引擎以及类似语言如JSP的竞争者身份而出现的,但在逐渐受到大家好评并接受之后,现在已经有超过2000万个网站和
100万个Web服务器使用了这门语言。它是一门开源的语言,Facebook、Wikipedia、Wordpress以及
Joomla这些互联网巨头都在使用它。我还没告诉你PHP主要用来做什么吧?还需要猜么?答案就是个人主页了!:)6)Perl和Larry WallPerl是一种高级的、通用的、解释性动态编程语言,是由Larry
Wall在1980年代中期设计和开发的。Perl因为其优秀的文字处理能力而一举成名。如今,它仍然是UNIX系统上开发报告、脚本的主要工具。
Perl因解析和处理大型文本文件及其在CGI、数据库应用程序、网络编程和图形编程的应用而被大家熟知。Perl广泛地在大型互联网公司中使用,如
IMDB、Amazon以及Priceline。对于Java开发人员来说,添加Perl或者Python的组合是很好的补充,因为开发中需要一种脚本语
言来用于特定的任务维护和支持。7)JavaScript和Brendan Eich如果你问我,过去5到10年里最成功的语言是哪一门?我会毫不犹豫地回答你,是JavaScript。从不久前的客户端JQuery脚本库到最近的
服务器端开发的node.js库,在Web开发的各自领域它们都占据着主导地位。JavaScript是一门基于原型的、动态的、弱类型脚本语言,它最初
是由Brendan
Eich设计并由网景通讯公司开发的,其功能非常强大,广泛的用于客户端脚本验证、动画、事件捕获、表单提交及其它常见的任务。它运行于浏览器中并被包括
Gmail、Mozila Firefox在内的几乎所有网站所使用。8)Ruby和松本行弘Ruby是由日本的计算机科学家松本行弘在1990年代中期开发和设计的。使用Ruby编程是非常有趣的事情,如果你使用过Ruby你一定知道我表
达的意思。Ruby深受Perl、Ada、Lisp和Smalltalk的影响,它的设计是为了让编程更有效率,更加愉快。Ruby主要用于Web应用程
序开发,它被Twitter、Hulu和Groupon等大网站所使用。9)Lisp和John McCarthyJohn McCarthy是第二古老的高级编程语言的创造者。Lisp代表列表处理器(List
processor)之意。我从来没有使用过Lisp,但据说它是函数式编程语言如Haskell、Erlang和Scala的祖先。Lisp常被用于绘
图软件的开发和防空系统领域。10)Pascal和Niklaus WirthPascal是一门有影响力的命令式和过程式编程语言,是由Niklaus Wirth在1968 - 1969年设计并于1970年出版的。Pascal作为一种小型、高效的语言旨在通过使用结构化程序设计和数据结构来鼓励良好的编程实践。下面的这张图表是十门编程语言和它们的创造者的概况,它包含了我们上面提到的大部分编程语言以及两门额外的语言FORTRAN和Ada。本文翻译自,译者 回忆和感动文章转载自
转载请注明:文章转载自 开源中国社区
本文标题:十大流行编程语言和它们的创造者
本文地址:
没有引进呗,还是有豆瓣的成功,python才被更多的人熟知
引用来自“eechen”的评论完全不屑于对Linux等其他平台的支持,实在是太NB了.现在想要去支持Linux和Android了,不过船大难掉头,哈哈,NB,真NB.引用来自“桔子”的评论kylix听说过吗,没听说过去谷歌下。 我还听说过Mono,哈哈.
引用来自“Raymin”的评论他要是单干的话,估计早出名了!才华横溢的才俊,在微软的驾驭下,跑错了方向!不能说是跑错方向,.net和c#也是非常伟大的东西。在微软名利双收,唯一遗憾就是没得过图灵奖励了。不过从个人技术来讲至今还无人能出其右。经过手的那些c,java,c++,delphi,kylix,c#编译器都是最优秀的,不是之一。
引用来自“eechen”的评论完全不屑于对Linux等其他平台的支持,实在是太NB了.现在想要去支持Linux和Android了,不过船大难掉头,哈哈,NB,真NB.kylix听说过吗,没听说过去谷歌下。
引用来自“eechen”的评论完全不屑于对Linux等其他平台的支持,实在是太NB了.现在想要去支持Linux和Android了,不过船大难掉头,哈哈,NB,真NB.逗得不行,不支持Linux是微软的商业策略,和海尔斯伯格有半毛钱关系?就从Delphi,C#,.net特性来说难道海尔斯伯格难道不比Rasmus Lerdorf牛逼?
personal home page
完全不屑于对Linux等其他平台的支持,实在是太NB了.现在想要去支持Linux和Android了,不过船大难掉头,哈哈,NB,真NB.
引用来自“eechen”的评论Rasmus Lerdorf(拉斯姆斯·勒多夫)创建PHP就是为了快速创建个人主页的,所以把这套工具集命名为&Personal Home Page Tools&.后来PHP不仅仅局限于创建互联网上的个人主页,所以改名为&PHP: Hypertext Preprocessor&,超文本预处理器.这两个命名都充分体现了PHP的定位,就是专注于做Web开发,绝不三心两意.同意计算机专业学生应该学哪种开发语言
计算机专业学生应该学哪种开发语言
发布时间: 20:36:32
编辑:www.fx114.net
本篇文章主要介绍了"计算机专业学生应该学哪种开发语言",主要涉及到计算机专业学生应该学哪种开发语言方面的内容,对于计算机专业学生应该学哪种开发语言感兴趣的同学可以参考一下。
&&对于大多数初学者来说,好多人有这种问题存在:我到底先学什么?学java?还是学C/C++?还是学asp.net呢?还是Delphi?哪一个更好呢?学习程序设计和学习程序设计语言究竟是怎么一个关系?初学者究竟应该如何取舍呢?就这些问题,我从一个高手那里看了以下的这段话,可以帮助在这方面有问题的人:学习程序设计就好比学习射击,而程序设计语言就对应射击中的气枪、手枪、步枪等各种枪械。学习射击必须要选择一种枪械,不可能没有枪还能学好射击的,也不可能同时学会使用所有的枪械。但是,如果掌握一种枪械的射击,再学别的也就触类旁通了。因为在熟悉一种枪械的同时,也学习了射击技术 本身。再学其他的,自然事半功倍。学习程序设计也是一样,必然要从学习一门程序设计语言开始入手。在这里推荐大家学习JAVA,在学会JAVA的编程理念之后,用什么工具都一样!所以在前期大家学习的时候尽量少用工具! &&&&之所以写这篇文章呢是因为自己眼看身边那么多的同学一个个都"不务正业",荒废了学业,都是计算机专业出身,却从事的不是本专业的工作,心急如焚,眼看着外面那么多招聘JAVA开发的人才,但是却没有几个人在搞开发!一方面大学的教育与实际工作脱节是一个原因,但是另一方面学生本身也有一定的 原因,既然学校的教育脱节,那么大家完全可以找别的途径啊!我在面试开发人员的过程中发现有些学生是应届毕业,但是出来后完全和应届生不同,对于开发的技术掌握的比较扎实,我也曾经问过他们,他们承认是通过培训学到的!他们自已就说在学校学不到什么东西,大四也没什么课,就自已出来参加培训,学点东西,后来打听了一下,好像现在的大学教育,基本上都是大四就没有什么课了,学生去实习或是去培训,说实话,实习现在都很少有公司招,所以好多大学计算机的学生都选择参加了培训,毕竟有三年的计算机理论的基础,在有经验的人的正确指导下,短短几个月还是能让学生达到初级开发程序员的水平的,当然要选择一个好的培训才行,我个人综合了一下,认为北京JAVA私塾是一个比较不错的学校,这个学校是对学生比较负责的,老师的实力也排在培训学校之首,其实老师的好坏从视频课程上就能听出来,这个学校要求所有入学的学生必须是大专以上学历,而且必须经过编程基础和逻辑思维的考试,能写一些小的程序才能允许报名,我也打听过,这个学校的考试是比较严格的,而且每期的学生在二十五人以内,总的来说这个学校还是比较适合大学计算机专业的学生!毕竟中国软件工程师最终的希望都寄托在大学生身上,现在那么多的计算机专业的学生都将是很好的未来的工程师!希望广大计算机业的大学生看到这篇文章后,睡觉的能醒来,玩游戏的能停下来,在网吧的能出来,一起拿起课本,坐在电脑前,用程序写出中国软件业明天的辉煌!最后给大家一点建议,学习开发一定要问问自已对开发是不是 有兴趣!兴趣和爱好是学好开发的关键
一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家社会集体的和公民的合法权益,不得利用本站制作、复制和传播不法有害信息!
二、互相尊重,对自己的言论和行为负责。
本文标题:
本页链接:即使不当码农,你也要知道的15种编程语言
猎云网2月5日报道 (编译:小白)
猎云网注:俗话说的好,风水轮流转。一直处于食物链底端的程序员终于迎来了逆袭的机会!时薪300美元以上、跻身高层管理行列、出任CEO&&没有女朋友的程序员摇身一变成为人见人爱的高富帅了呢!等等,先看看这15种编程语言会不会再来做梦吧。
如果你是一名程序员,你的春天不远了!根据美国劳动统计局的数据显示,在接下来的7年里,计算机编程类的工作机会将增长8%。如果你还是一个编程高手,那么你每小时的报酬可能达到300美金或者更多。
然后,问题来了:怎么才算编程高手呢?想要拿高薪需要掌握哪几种编程语言呢?对此,我们请教了线上教学平台Lynda的内容总监Doug Winnie,他为我们总结了以下15种需要掌握的编程语言。
Java作为构建现代企业Web应用后端的最常用编程语言之一,是一门必须了解(掌握)的编程语言。网站开发人员凭借Java和基于Java的框架可以为各种用户创建可扩展性的Web应用。Java也是用来开发Android系统原生应用的主要编程语言之一。
2.JavaScript
现代网站离不开JavaScript。如果你想为你的网站创造互动,或者用时下流行的JavaScript框架搭建一个用户界面,那么JavaScript是最佳选择。
C#是Windows开发环境下的主要语言。无论你是用微软云计算平台Windows Azure和.NET框架来创建现代网页应用,还是开发Windows设备上的应用,又或者是为你的企业开发功能强大的桌面应用,C#能够迅速地帮助你驾驭微软提供的所有功能。可以开发游戏吗?当然。非常流行的Unity游戏开发引擎就把C#作为了自己的主要开发语言之一。
网页应用需要加载数据,这个时候怎么办?用PHP。PHP语言和MySQL一类的数据库,是开发现代网页应用的最基本工具。PHP应用于绝大多数的数据驱动网站,也是内容管理系统的基础技术,比如WordPress,系统地管理你的网站内容,使之更合理。
前面几个太难,想了解简单一点的?那就试试C++吧。当你需要直接访问硬件获得最大的处理能力时,C++是不二选择。它是开发强大的桌面软件、硬件加速的游戏,以及开发在桌面、控制端和移动设备上的内容密集型应用的最佳编程语言。
Python几乎可以做任何编程工作。Web应用、用户交互界面、数据分析、统计等等&&不管是什么问题,你总能在Python中找到需要的框架。近期,Python又成为了数据科学家用来筛选大型数据集的重要工具。
为何C语言如此经久不衰?答案是&小身材,大功能。&因为C语音占用的空间很小,但是处理速度和功能却很强大。如果你需要为嵌入式系统开发软件,需要处理系统内核或者想要利用手头的每一点资源,除了C语言,还有更好的选择吗?
数据很重要,它无处不在,它复杂多变。这时候,你需要SQL来帮助你以快速、可重复且可靠的方式准确找到信息。有了SQL,你可以轻轻松松地从庞大复杂的数据库中查询、提取有意义的数据。
想要快速地创建项目吗?想为你的下一个大型Web应用构思一个原型思路吗?Ruby可以帮你实现这一切。Ruby是为简单快捷的面向对象编程(面向对象程序设计)而创的脚本语言,它简单易学又异常强大,全球数以万计的流行Web应用都在用Ruby。
10.Objective- C
如果你想要开发iOS系统的应用,那就很有必要了解Objective- C。尽管去年苹果的新编程语言Swift被炒的沸沸扬扬,Objective- C仍是开发苹果生态系统应用的基础语言。掌握了Objective- C和Xcode这两种苹果官方的软件开发工具,进驻App Store指日可待。
Perl很难理解,也很混乱,它还是一个超级强大的编程语言,是所有网络安全工具的重要组成部分之一。从发明到至今,Perl一直发挥着其强大作用,也始终被认为是IT专业人士的重要工具。
.NET其实算不上一门真正的编程语言,但是作为微软的一个重要开发平台,它广泛应用于云服务,服务器以及应用的开发。得益于近期微软的开源计划,.NET现在亦被应用于Google和苹果的开发平台。其带来的最终好处是,利用.NET和任何一种编程语言,你都可以轻松地开发一个兼容大多数平台的应用。
Visual Basic是.NET平台的重要语言之一,它才是真正为你干活的角色。Visual Basic可以让你开发一款应用来辅助你的工作,使Office软件实现自动化操作,替你完成任务量庞大的计算工作,比如Excel,当然还可以简化日常任务。
R语言推动了大数据革命,也是数据分析研究者在2015年不可不知的编程语言之一。从科学和商业到娱乐和社会媒体,每一个需要统计分析的领域都少不了R语言。
诞生还不到一年,Swift作为苹果Mac和iOS系统的开发语言,它新颖、快速且高效,已然成为全世界开发人员的新宠。Swift拥有各种强大的功能和简洁明了的语法结构。掌握了Swift,再加上一台Mac电脑,任何人都有机会为iOS系统或Mac OS X开发出重量级的应用。
看过本文的人还看过
最新图文推荐
大家感兴趣的内容
网友热评的文章如何选择适合自己项目的编程语言
招聘信息:
作者:John Hattan与操作系统一样,在办公室软件套装和计算机中也具有各种计算机语言。存在这种多样性的原因与其它地方的多样性一样—-因为没有单一的解决方法能够解决所有的问题。有些语言在原始速度上更出色。有些语言能够帮助你更轻松地编写防止崩溃的代码。有些语言非常擅于剖析文本并有效作用于服务器上。有些语言具有强大的公司投资。也有些语言之所以存在是因为它们与大量不适合重新编写的现有代码相兼容。你的语言选择将影响着你的项目,并且你不可能在项目中途突然改变语言,所以这是你必须重视的一个选择。这也不是一个你能够根据自己的个人喜好或朋友的提议而做出的选择。你关于项目的计算机语言的选择应该是经过仔细研究且务实的。最重要的是你的结果的质量而不是语言是否配得上你个人的编程技巧。本文将分析一些游戏程序员经常使用的语言。这并不是一个完整或深入的列表。本文倾向于呈现给你最受欢迎的游戏开发语言,同时还会提供一些简短的介绍以及它们在哪种情境下是有利于项目或不利于项目。如果你还是一位新手,那么这一列表可能会包含一些你并不熟悉的术语,并且也没有足够的空间对这些术语进行详细解释。所以我建议你可以在维基百科上进行相关搜索。CC程序设计语言可以说是父辈一般的存在,或者对于本文提到的其它语言具有非常重要的影响。尽管C是源自一些已经被淘汰的其它语言,但是现在它也成为了计算机“根植”语言之一。虽然今天还存在一些比C先诞生的语言存在(如COBOL,FORTRAN,Lisp,Smalltalk)并且与C没有多大关系,但是20世纪80年代以来所诞生的每一种语言至少在某种程度上具有与C语言类似的语法。C是经典的“支柱语言”,也就是使用开放和关闭的花括号将一些表述组合在一起的有结构的goto-less语言。这是之后许多语言中所呈现的方式(包括C++, Java, C#, ActionScript, PHP)。C语言的无尽结构的一个优势便是一旦你理解了如何基于C语言完成某事,你便能够将其带到其它语言中(并且几乎没有任何改变)。例如C和PHP中的if(), while(), and for()表述都是相同的。也就是说如果你熟悉了C语法,它将在之后带给你非常大的帮助。优点:C适用于编写简短且快速的程序。这是我们很容易与之互动的语言。该语言本身与库子程序一样都是标准化的,所以讲程序移向其它平台将会是一个直接的过程(如果你事先计划好的话)。缺点:快速编写小程序的能力对于C来说也是不利的,因为通常情况下C并不是用于对象导向型编程,这是构建更加适合于基于分散式开发的大型程序的方法,而大型C程序很容易变得杂乱无章。尽管许多大型项目是基于C语言Unix,Windows,Oracle进行编写,但是管理一个基于C语言的大型项目要求比围绕着更加模块性所创造的语言更多纪律。可移植性:尽管语言本身以及ISO功能调用是可移植的,但是这些调用却受限于控制流,简单的内存管理以及文件处理方面。现代用户界面设计,如菜单,按键,对话框等等都是不可移植的,所以你需要编写对第三方UI工具箱是有效的代码或计划再次编写你的用户界面。尽管这并不是最早出现的语言,但是C程序库却呈现出了它的年龄。像内存管理和附带条件等许多较有意义的程序库功能都拥有一个简单的语法,能够在后续语言中进行有效调整。尽管为了与时俱进C语言进行过多次的重新设计与调整,但是仍有些语法却是违反直觉的。为了与现有的代码保持兼容仍保留了一些较为奇怪的语言结构。是否适合新手:并没有很好。尽管C语言非常简洁且容易掌握,但是许多C程序库调用却很陈旧,且很容易用于一些后续语言中。资源:尽管Kernighan和Ritchie的《The C Programming Language》是该主题的“经典”著作,但是该书只是快速地提及该主题,甚至未能让编程新手们好好理解。不过还有其它值得推荐的相关书籍,如《C How to Program》,《C Programming: A Modern Approach》和《C Primer Plus》。C++C++(from sina)C++是C语言最早建立的“子”语言。它诞生于20世纪80年代,是作为C语言的延伸版本并支持“类”,这是将原始数据类型和算法聚集到更容易创建现实世界(或者游戏中的模拟世界)对象模型的内容中的抽象数据结构。C++类同样也支持“隐藏数据”概念,在这里你可以将一个对象的根本执行隐藏起来。尽管这一方法看似有点难理解,但在基于团队环境编程时这却非常有帮助。这让你们能够在对象界面如何运行且无需考虑其内部运行方面达成一致意见。这就像是在说“我将给你一份工作,但我不关心你是如何做的,只要你能够完成它,并且结果是我想要的便可。”优点:完全支持面向对象(OO)的范式,这比支持大型项目的C语言好多了。与C不同的是,它包含了一个带有常见数据结构和算法的设计精巧的程序库。缺点:随着每一次迭代,C++的算法变得更大且更复杂,现在这一预言完全变成是拜占庭风格了。该算法本身很容易被滥用,虽然C++支持团队变成,但是且巨大且深层次的算法会让代码变得更难读。可移植性:尽管是源于C语言,C++却拥有比前者更棒的可移植性。引导大多数现代移植工具箱都是执行于C++对象程序库而不受早前的C功能程序库。此外,C++的标准程序库以及非常有用的Boost程序库非常标准化且是跨平台的,尽管这两者都很复杂。是否适合新手:尽管在C++中内存管理和I/O操作都比C语言好理解,从规模来看C++拥有非常高的学习曲线。他们并不需要为此学习整个语言。资源:关于C++的一本完美的新手书籍是Steve Heller的《C++: A Dialog》。这是一本节奏适度且容易理解的书,非常适合编程新手。还有更加全面的方法,即Bruce Eckel的《Thinking in C++》系列将通过1600页内容告诉你所有你需要知道的C++。你都可以免费下载到这些书籍。或者在谷歌上进行搜索,你便能够找到它们的官网。C或C++:除“DirectX或OpenGLad”以外,这是在准备学习语言时最常被问到的问题。除了一些较小的例外外,C++可以说是C语言的超集。这意味着所有C语言所做的都与C++一样。每一个C++编译器都将编译C语言,而在今天我们很难找到唯独支持C语言的编译器。尽管这些事实让选择从C语言开始然后再学习剩下的语言更具逻辑性,但是尽早学习类和OO编程将会更有帮助。Objective-CObjective-C是带有动态执行时间的对象导向型编程语言。就其本质来看,它就是C语言的一个超集。它集成了来自C语言的基本语法规则,同时也拥有一些构造上的变化。例如它将包含一些方法调用,整体的定义规则等等。Objective-C是MAC OS X和ioS编程的主要语言,也是专属于苹果的语言。它支持各种开发技巧,功能,程序库以及许多能够凸显该语言的额外功能。该语言支持处理2D和3D图像(基于OpenGL)的广泛嵌入式程序库,这能够帮助许多小型游戏开发者通过使用强大且原生的解决方法创建自己的第一款游戏。其它程序库也能够帮助游戏开发,特别是手机游戏开发。还有一个突出的功能便是引用计数垃圾收集器,与非常复杂的内存管理系统相互协作。优点:Objective-C是C语言的一个强大超级,能够创造并允许强大且灵活的应用。它能够利用C/C++代码并轻松移植全新项目,扩展现有的能力等等。该语言能够拥有各种有帮助的程序库以及Xcode最佳的开发环境之一。这是一直能够基于多种方式进行使用的强大OOP语言。缺点:Objective-C是专属于苹果的语言,因此你需要拥有一台苹果计算机,运行最新的Mac OS X版本才能开发你的应用。另外一件需要注意的事是该语言的有些语法规则可能会让新手感到困惑。方法调用远未达到标准,类定义也会引起没有C/C++经验的新手的困惑。此外,如果你计划面向iOS开发应用的话,你便需要掌握基于较高层次的内存管理知识。可移植性:没有。任何基于Objective-C进行编写的内容都必须属于苹果的产品。如果未基于其它语言重新编写,你便不能移植Objective-C项目到任何平台上。也就是说Objective-C只适用于Mac OS X和iOS开发。是否适合新手:Objective-C并不是最适合新手的语言,尽管它也不是最复杂的。如果学习C#或Java的话你会更轻松,然而相对于C++,精通Objective-C会更简单。新手通常需要阅读许多关于内存管理等理念,如果你刚刚起步,这有可能是一个较为困难的过程,但是将带给你长期的帮助。资源,除了官方的苹果向导,在上还有许多有帮助的免费电子书—-/objective-c/参考:Objective-C基础:Objective-C内存管理:基于Objective-C的游戏开发:Objective-C与Java的比较:Objective-C与C++的比较:一般的iOS开发与Android开发的比较:Java从实用性来讲,Java可以说是第一种“网页”语言。尽管像Perl等语言会突然发现它们处理字符串的能力在恢复价值和发送HTML到网页浏览器上是天生的,但是Java是最早发现自己是根植于浏览器中,最初是在一个有趣但却非常古怪的HotJava浏览器(基于Java本身进行编写),而之后又以现有浏览器的扩展形式呈现出来。尽管从表面上看其结构与C和C++类似,但是Java的后端表现却与这两种语言不同。比起编译Java源代码到原生及其代码中,Java编译器将编译由Virtual Machine或VM所运行的“字节码”。Java字节码是一种汇编语言,但却不是与特定处理器有关系的汇编语言。Java VM是字节码的运行时解释器,将为你的机器目标处理器解释字节码。这一方法的优点在于,如果目标及其拥有可兼容的Java VM或Java所承诺的“编写一次就能够在任何地方运行”,你便可以在不同机器间移动Java字节码,并且可以无需做出任何改变而运行。这一方法的缺点在于Java字节码并不是原生机器代码,尽管像“及时”编译器能够完善VM性能,但实际上你是在运行时间做一些解释,这将引起较小但却可衡量的性能打击。还有其它缺点便是,Java的现实性并不符合语言的早期承诺。尽管在网页中执行游戏的理念几乎能够马上让所有人动心,但现实是Java VM并不能与所有内容兼容,使用特定VM而编写的Java应用或支程序可能不能运行于带有其它VM版本的机器上。“编写一次就能够在任何地方运行”被改为“编写一次便能够移植到任何地方”,也就是说一旦你完成你的Java代码的编写,它便能够有效地运行于一个平台上,然后你所面临的重要任务便是确保你的应用能够有效运行于所有系统上。Java的第三个缺点便是源自其GUI。尽管首次“传递”促使Java GUI使用原生的OS控制(按键,滚动条等等),较小且较快,但却没有深度。下一次传递Swing虽然看起来好多了,但是表现仍然很早,并且完全不同于最初的控制。最糟糕的是Sun(Java之父),太慢了,难以添加现有的OS功能,就像关于ClearType字体渲染的支持。因此,Java应用总是着眼于一些与现代化不着边的版本。但是在服务器编程方面,Java便扬眉吐气了。VM的一大优势便是,它并非真正的处理器,只是一个模拟,所以销毁VM并不是多大的问题。如果你对于Java VM感到困惑,这并不会真正影响基本的操作系统,你大可以选择关闭并重新开始,并且不需要重启整个机器。再加上Java的内存管理模式是源自C++和C语言,所以像分配内存(无需将其带回之前的系统)这样的问题便不再是多大的问题了。像这样的系统非常适合服务器环境。服务器可以突然出现并在必要的时候消灭VM且不会对潜在OS造成任何影响。同样地,GUI问题也并不适用,如果你的服务器软件看起来并不壮观,它便一点都不重要,除非你想要给服务器管理员留下深刻印象。今天你将会发现许多商业大型多人游戏在服务器端使用了Java。Three Rings的多人游戏便是个很好的例子,他们不仅在客户端,同时也在服务器端使用了Java语言。Java发挥重要作用的另一个领域便是手机市场。J2ME(Java 2,Micro Edition)是带有删节类程序库(游戏包注:专门为在手机和其它较小的设备上运行而设计的)的Java VM的微小版本。实际上,如果你包含了手机目标群体,Java可以说是现在最受欢迎的平台之一。优点:Java的Virtual Machine加上其内存管理和不再需要的内存的自动收集让你能够创造非常诱惑力且足以避免被摧毁的软件。它同样也带有强大的扩展文件传统。缺点:Java的“编写一次便能够在任何地方运行”的承诺未能兑现。Java类程序库已经经过多次重新编写且未删除早前的调用,所以即使程序库与早前的代码是反向兼容,似乎还有三种方法能够做到一切,除了因为“过时”而被拒绝。可移植性:非常不错,但却不像想象中那么棒。基于Java创造一款可移植且能够使用潜在的OS最新功能的应用与在C++上这么做一样困难。是否适合新手:非常适合。尽管在不遭遇弃用对象的前提识别执行某项任务的“正确”方式对于那些还在摸索语言的新手来说有点困难,但是语言本身的核心是很容易理解的。同样地,Java也是许多大学课程的标准语言。资源:Oracle Inc.拥有许多对Java程序员有帮助的优秀资源。.NET Languages(特别是C#何Visual Basic).NET是微软对于Java VM的基本答案。实际上,.NET是以整体技术命名的。真正的VM名字是CLR(公共语言运行时),之前所谈论的关于Java VM的一切内容都适用于CLR,但也有一个例外:CLR从一开始便不是用来“匹配”单一语言,就是Java那样。因为这样,有许多语言使用了CLR去执行后端处理。不管是像COBOL和FORTRAN这样的早前语言还是像Python这样的现代语言都能够瞄准CLR。需要提醒你们的是,有些CLR项目是小型的单人项目,所以如果你在CLR版本中找到你最喜欢的语言也不要太过兴奋,因为在这里有些编译器还不够成熟。微软所开发的C#和Visual Basic都是最受欢迎的CLR语言。C#是源自Java的语言,它带有90%的Java语法,尽管从表面看它更像是源自C或C++。C#拥有一些很棒的语言扩展,即基于Java慢慢添加的内容,并重新编写了类程序库。简称VB.NET的Visual Basic是CLR执行以及对于微软已建立且受欢迎的Visual Basic环境的替换。尽管它仍被称为“Basic”,但却不再是全部大写,它与早前的BASIC解释器(贯穿于20世纪80年代所出售的所有计算机的ROM中)只带有少量的相似处。现在,它的语法与本列表中的其它语言非常相似,尽管它仍然未使用括号去整合某些内容。它同样也使用了更具对象导向型“点记法”去调用功能而不受语言的前CLR版本的更大的功能程序库。优点:尽管Java并未投入太多努力面向Java VM编译语言,但是CLR从一开始便是为了支持这一点。因此存在许多基于CLR的语言,并且它们很容易进行互通。.NET技术获得微软的Visual Studio环境的大力支持,而这也是一个非常成熟且具有丰富的功能的开发环境。C#对于微软的XNA技术来说应该算是首要的编程语言,这是创造在Windows和XBox 360游戏主机间可移植游戏的一种方法。缺点:与Java不同的是,CLR应用不能像网页中小程序那样运行。尽管“Silverlight”技术允许这点,但是对于游戏来说这却太迟了,并且不能像Java和Flash那样根植于浏览器中。基于CLR的应用比想象中更难移植。可移植性:尽管存在第三方将CLR移植到到除Windows外的其它操作系统,但是基于这一方向的努力却远小于面向Windows的努力。所以尽管你可能面向Windows创造一个非常有活力的.NET应用,但是你在Mac和Linux上的执行却不会多么顺畅。是否适合新手:都适合。这两种语言都是很直接且容易理解的。此外,它们与Visual Studio环境的紧密关系也让设置变得更加简单。资源:Flash和ActionScriptFlash在这一列表中算是一个不寻常分子,因为它并不是源自语言本身,而是伴随着一个动画工具诞生。在20世纪90年代,一些开发者对在网页上呈现动画图像所要求的规格以及它们所呈现的方法感到震惊,所以他们便创造了一个名为“FutureSplash”的浏览器插件以及一个能够创造紧凑的向量式动画的绘制和动画工具。互动网页业务巨头Macromedia(已经拥有能够通过自己的Director动画工具播放内容的Shockwave插件)购买了FutureSplash,并将其重命名为“Flash”。在经历了几个版本后,Macromedia添加了一个JavaScript子集,将“ActionScript”整合到插件中,于是Flash便成为了一个完整的编程环境,尽管它经历了几个语言版本,并且开发工具也发展成对除简单网页游戏之外的内容有帮助的优秀环境。今天,属于Adobe的Flash是基于ActionScript 3,这是完全执行了ECMAScript标准并且与本列表的其它语言一样具有重要作用。几年前,Adobe公开了一个名为“Flex”的工具,即尝试着将Flash发展成更加适合创造基于浏览器的用户界面和RIA内容,而不再只是针对于动画和游戏。尽管并不是Flash的替代品,但是Flex比前者更适合创造用户界面,因为它是带有丰富UI支持而不是只伴随着固定变成语言的动画工具的XML编程语言。基于最近的Flex版本,Adobe公开了一个名为AIR的产品,它能够从浏览器中分离Flash内容。使用AIR和一些新创造的对象(游戏邦注:致力于帮助Flash内容使用更多机器资源而不只是浏览器插件),你将能够从Flash中创造优秀的可执行内容,并运行于各种平台上。优点:Flash完整的绘制和编程工具让编写基于网页的游戏变得更加简单。尽管没有Visual Studio血统,Flash环境仍具有非常丰富的功能。缺点:尽管对于一个人来说是个很棒的环境,但是Flash却不能有效支持团队编程。尽管Flex编译器是免费的,但是FlexBuilder Flex内容创造工具却不是。与这一列表中的其它语言不同的是,ActionScript是针对于客户端的技术。尽管有些服务器端的ActionScript解释器可能会阻碍你学习单独的服务器语言,但事实上却不存在这样的情况。可移植性:Flash执行时间播放器可以允许于Windows,Mac,Linux多种手机以及一些游戏主机上。但并非所有设备都支持同样本本的Flash,所以你需要学习每周版本的能力,并在开始前决定好目标平台。是否适合新手:非常适合,特别是结合其绘制和动画工具。尽管容易在Flash环境中创造内容,但却不适用于其它语言。例如,C++使用的一种技巧或创造工具可能在Java中拥有等价内容,反之亦然。但是Flash的开发环境却与其它语言不同。资源:就像微软是能够满足你的所有.NET需求的万能商店一样,Adobe对于Flash也是这样的存在。Python与之前提到的语言不同的是,Python并不是始于一家大型公司或大学项目。它更接近于大学学生的基层工作,并且在之后变成产业中喜欢语言结构以及缺少就功能的人的选择。该语言本身非常紧凑且很容易使用。我们同样也能够轻松地将Python语言解释器整合到现有的项目中,这也是为何你会发现Python作为许多游戏的内涵脚本语言的原因。呈现了许多Java的服务器友好型属性的Python也是非常棒的服务器语言。实际上,Python编译器能够棉鞋Java VM和微软的CLR编译Python代码。你会发现许多服务器(游戏邦注:如YouTube,谷歌和雅虎)都使用了Python进行后端处理。基于用户支持的PyGame程序库,Python在游戏社区越来越受欢迎。PyGame是一个能够将已建立的SDL跨平台图像程序库抽象化为一些容易使用的Python内容的对象程序库。一些让人印象深刻的游戏都是使用Python进行编写。优点:是一种免费的开放源。专注于用户社区。能够完全整合到谷歌的AppEngine—-这是谷歌的“付费”处理服务器。缺点:事实上,几乎所有处理都不是经过一家大型公司而是通过其用户社区,所以这可能是为了让公司签订一个Python项目的强行推销方式,尽管一些巨头已经在Python做出了巨大投资,所以现在的Python不再像过去那样作为一种“业余语言”了。可移植性:非常好。大多数适合Python的第三方程序库都是围绕着像SDL和OpenGL等可移植技术进行创造,所以我们能够基于Python轻松编写一些可运行于任何平台的内容。是否适合新手:Python语言拥有能够轻松上手的语法并且很容易学医。此外,还存在一些很棒的社区编写教程。资源:Python.org拥有所有与Python相关的内容。这同样也是许多活跃社区论坛的集中营,在此你能够获得各种问题的答案。汇编语言关于汇编语言你必须了解两件事。语言的名字是“汇编”。将汇编语言转换成低级别的机器编码的工具名字是“汇编程序”。这是一个很常见的错误,甚至连有经验的程序员也会犯这样的错误,即将语言称为“汇编程序”。所以请先叫对它们彼此的名字。默认情况下,汇编语言是本文中最小且最快的语言。因为它并非高级语言,但却是你的CPU指令系统助记码代表,任何基于高级语言所编写的内容都能够快速用汇编语言呈现出来。鉴于以上事实,你可能会认为你的研究就此结束了。毕竟,如果一种语言是最小且最快的,又有什么不使用它的理由呢?实际上,为什么其他人会在你能够基于汇编语言编写代码并获得最佳结果的时候还费心去研究C或C++呢?那是因为“最佳代码”这一词并不是指代你的程序的原始速度和规模。存在可读性,就像你可能需要递交部分代码给同事让他能够基于这些内容完成自己的任务。存在可移植性,即你可能需要将代码移植到其它操作系统或硬件体系结构中。存在可维护性,即需要能在项目快结束时轻松解决问题。存在抽象性,即你可以基于向下移动角色而不是操控内存中的数字去编写代码。基于所有的这些元素,汇编语言绝对是最后一位。汇编语言很难读也难以维护。除非经过仔细评述,否则很少有人能够传承其代码。修改漏洞以及延伸现有的代码很复杂。你必须不断专注于可移植性,以防你最终编写出不能运行于来自同一制造商的不同处理器模型。实际上,汇编语言从未被用于完成游戏。汇编语言通常是作为程序的一部分将执行计算并会经过多次调用。有时候修改功能中的一些机器指令将帮助你创造一些额外且有价值的内容。但却不是在项目已开始便能够执行的过程。这是在早前测试所执行的,即在决定变成瓶颈到底出现在哪里时。汇编语言并非最热门的选择,如果你阅读了这篇文章并尝试着明确该选择怎样的语言,你便可能会转向其它语言。优点:如果你知道自己在做什么的话这可能会是最快且最有影响的方法。缺点:如果你正在阅读这一内容,你可能就不知道自己在做什么。所以请准备好花较长时间去学习无数能够推动处理器棒的技巧。可移植性:糟糕透顶。除非你正在面向基本处理器编写代码,否则你的程序可能不能运行于其它“可兼容的”处理器上。例如,AMD处理器上一些特殊的指令在Intel上便不可行,反之亦然。是否适合新手:一点都不。资源:如果你想要面向Intel处理器编写代码的话,面向基于Intel的计算机的汇编语言便是个很好的推荐。但如果不是的话,你应该着眼于目标CPU的制造商。服务器语言尽管上述提到的许多语言都能够有效作用于服务器上,但是它们所围绕的许多技术都较为陈旧,而现在也存在更容易使用的解决方法。关于为网页编写一个定制后端的最初标准是所谓的CGI,这是在服务器端运行一个定制的可执行文件的一个定制后端,将在网页上传输数据,并收集文本输出内容然后将其回传给用户。尽管这在服务器端很容易执行,但这却并未按照今天网页的使用方式去创建互动体验模型,最好的情况便是面向互动网页应用的CGI解决方法会很笨拙。PHPPHP是最早的网页“嵌入式”脚本语言之一,并且它将给予多种方式改变所编写的网页。尽管PHP可以作为一种脚本语言,基于网页形式获得输入内容,处理它并返回输出内容,但是其真正优势是在于作为超文本预处理器的作用。一旦被设置为服务器的预处理器,PHP便能够处理嵌入页面中的代码。所以比起编写一个独立代码,在一个页面上打出当前日期,你可以选择直接将PHP代码嵌入印有日期的网页中,如此代码将被最终文本所取代。PHP同样也能够添加本机命令程序库与强大的MySQL数据库进行交流,从而是保存和检索持久数据变得更简单。推动PHP瞬间倍受欢迎的另一点是价格。它是免费的,因此帮它基金了名为LAMP(Linux,Apache,MySQL和PHP)的服务器配置中。这4个技术的结合为刚起步或低预算的网页设计师提供了免费切容易使用,的强大网页设置。作为奖励,它还能够基于低成本的硬件而运行。这对于网页开发者并没有影响。在今天存在许多待执行的免费货低价PHP脚本,不管是简单的用户数据库还是完整的网站设置。ASP.NET不甘示弱的微软很快便基于微软的技术,也就是Windows,Internet Information Server(微软的网页服务器),CLR和SQL Server,组合了自己的PHP式的配置。尽管并不是免费的也不属于PHP联盟,ASP.NET却拥有所有技术支持费用能够买到的优势,且能够支持除PHP外的语言。如果你非常熟悉客户端的Visual Basic,你便能够基于ASP.NET在服务器端使用它。但如果你的预算非常有限,LAMP设置可能会是更好的选择。Ruby on Rails (通常简称为Rails)本身并不是一种编程语言,但却是伴随着Ruby编程语言的一个类程序库架构。尽管Ruby本身是一种不具有重大改革性的对象导向型脚本语言,同时集成了Python和Perl,但是其Rails程序库却创造了系统改革。Rails程序库完全整合了MVC(Model View Controller)范式并致力于防止技术的重复。这让你能够基于较小的代码创造一个相对丰富的服务器系统。Rails使用者将能够自豪地炫耀基于少量代码所编写的网页论坛和社交网站。与PHP一样,Ruby on Rails也是免费的。值得一提的其它语言上面全部是关于在游戏开发世界拥有自己一席之地的语言,不管是在客户端还是服务器端。也就是说大规模或受欢迎的游戏都是使用这些语言进行编写。但是仍有一些并非游戏一流语言,但却呈现了许多希望的有趣的技术存在。我们将会在未来的一些重要项目中看到这些语言的出现。JavaScript我们已经在关于Flash和ActionScript的部分中简要提及了JavaScript。JavaScript拥有与ActionScript同样的根源,这两种语言可以有效地组合在一起。JavaScript最早获得关注是因为作为编写网页脚本的语言,而今天它却是作为推动,延伸并说服网络浏览器按照你想要的方式去呈现网页内容的语言。如果你曾经因为为了适应页面内容而调整自身规格的网页而烦恼,你便可以选择JavaScript。但JavaScript的作用不只是解决让人烦恼的网页问题,它也成为了编写台式机上所有有趣但却无用的小工具的语言。此外,该语言非常完善,足以用于编写一款完整的游戏,如果是基于小工具框架的话,便能够在浏览器或单机中运行。还存在两个主要问题阻碍着JavaScript成为网页游戏中更受欢迎的语言。第一个问题便是,与Flash插件不同的是,JavaScript的解释器是依赖于浏览器制造者。尽管语言是基于非常完整的ECMA标准,但是浏览器所使用的JavaScript执行在语言功能和性能中却是不同的。因此我们很难编写一个能够运行于所有浏览器上的强大的JavaScript应用。第二个问题便是关于你的知识产权的保护。JavaScript并不是作为源代码进行编译,然后再由浏览器本身进行解释。尽管存在一些有效的工具能够向你的用户隐藏代码,但是你的游戏的源代码却从未能逃离你的浏览器的“查看源代码”指令。如果你并不想你的游戏被模仿/改变/偷走,你就应该仔细着眼于一些有效的安全性解决方法。DD是C,C++和Java的“非官方”子孙。这是Walter Bright(游戏邦注:作为PC上C和C++编译程序构造的先驱之一)脑力劳动的产物。随着不断发展的类程序库以及对于反向兼容性的需求所带来的各种压力,Bright决定从头开始创造某些内容,汲取C,C++和Java的最佳功能,同时舍弃任何不具有存在下去的正当理由的内容。结果便创造了一种比其前辈更紧凑且更容易学习的语言,且无需牺牲任何重要的功能或运行速度。D是当你将语言设计带离整体领域的产物。尽管D以简洁的名义舍弃了反向兼容性,但是它却拥有与C代码交流的有效方法,所以如果你拥有第三方程序库或一些你不愿意重新编写的C源代码,你便可以轻松地与之进行沟通。也就是说如果D能够获得更多支持,它便可能成为世界上最棒的语言。它只是还未拥有巨大的代码程序库,丰富的工具,以及其它语言的用户支持基础罢了。希望关于该语言的支持能够不断发展,并且它也能够获得更多关注,即使这还需要花费一些时间。结论一开始我便清楚在关于到底该使用怎样的语言,本文是不可能达到一个让人满意的结论。实际上,并不存在能够解决所有问题的单一解决方法。希望这一列表至少能够帮助你预留出2至3个不错的候选对象。而剩下的研究便取决于你自己。幸亏上述所提到的几乎每一个解决方法都拥有免费的执行过程,所以你可以尝试这些语言并选择最适合你自己项目的对象。
微信扫一扫
订阅每日移动开发及APP推广热点资讯公众号:CocoaChina
您还没有登录!请或
点击量6437点击量5851点击量3738点击量3443点击量3277点击量3050点击量2987点击量2948点击量2820
&2016 Chukong Technologies,Inc.
京公网安备89

我要回帖

更多关于 计算机开发语言有哪些 的文章

 

随机推荐