当前位置:首页 > 日记 > 正文

编程世界主流脚本编程语言的比较与选择

编程世界主流脚本编程语言的比较与选择
在过去的一年,我买了很多书,查了很多资料,所以我可以学习一些主流的脚本语言,说真的,因为我一直想做一个好的自动化工具来促进我们的系统维护。虽然这个愿望没有达成,但在这个过程中,还学到了很多东西今天下午,我的同事说,我谈到的脚本语言。这是相当罕见的。这也是一个利用这个机会对我的观点发表评论的好机会。请纠正我。

为什么选择脚本语言

为什么你选择一个脚本语言,它可能是每个人都要面对的实际情况不同,语言本身没有好坏之分,只有合适或不合适的。因此,我选择的选择主要是根据应用程序的需要,而不是根据语言或用户的习惯。在我自己的情况,很长一段时间,如果我需要一个程序来协助工作,我会选择java。

第一只说java,java是一个当之无愧的统治者的企业应用。然而,近年来,随着语言的发展,java已经使越来越多的人们的不满,而不是对脚本语言的迅速崛起。一个例子是,在java 7的初始功能规划,呼声最高的是关闭和关闭是一个脚本语言的最鲜明的特征。当使用诸如java和c语言,我们要面对各种复杂的数据类型,设计模式,很多看似无用的但不可或缺的代码,脚本语言,这些问题都是与生俱来的。现在的发展敏捷和效率导向。对于一个企业来说,首先要考虑的是成本。敏捷开发是降低成本的最有效途径之一,脚本语言是实现敏捷开发的可行途径。

有人说,java已经出来了,但我不这么认为,我个人认为java仍然是最好的跨平台解决方案。现在我们不能仅仅看到java作为一种语言,它已成为一个事实的平台。优秀的java的选择建立在java平台已经得到了广泛的支持,得到大家的认可,如槽、斯卡拉等。我相信java仍然有其生命力,它的生命力也可以从脚本语言的好处。

说半天的废话,或者回到我选择脚本语言的话题,我的初衷很简单。我在寻找一个非java平台,替代C语言。为什么首先,java不是万能的,例如,它不能做ICMP ping;其次,C语言的学习曲线太长,和C程序是难以部署。第三,以上脚本语言的所有优点。

根据以上原则,我学习了几种流行的脚本语言。它们是:Perl、Python和Ruby。在那之后,我也学会了在java平台的脚本语言,例如Jython(Python java实现),JRuby(Ruby java实现),Groovy。我想对这些脚本语言做一个简单的比较。我希望当您选择脚本语言时,您可以有更多的参考。

脚本语言的比较

脚本语言的比较可能比较混乱,但我想重点放在以下几个方面:学习曲线、语言本身的特性、跨平台的能力、国际化的能力以及它在该领域中的应用。

unix shell

首先要选择的是Unix / Linux shell提(包括awk,sed),这也是一种脚本语言,可以在日常使用中最常用的。我个人觉得,壳更适合于面向过程的系统管理。对于更复杂的应用级产品,外壳的开发和维护是相当困难的。个人感觉,壳牌的学习难度大于最主流的脚本语言,这是它的语法特征相关,调试和运行的环境。因此,壳仍然是系统日常管理过程中的一个很好的工具。此外,我们相信还有更好的选择。

Python / Jython

Python的一个最大的魅力是简单易学,初学者可以在短期内(有的说十分钟,我想几天是可能的)是生产高质量的实用程序,它甚至被称为非计算机专业人员学习编程的最佳选择。Python标准库的强大,丰富,即使java估计。Python适合系统管理,但这并不意味着它不能做大型的应用程序。Python应用的成功案例数不胜数,尤其是在科学计算领域,Python是一种面向对象的语言优秀,但更喜欢过程的Python面向Python程序员。我个人觉得,Python的面向对象是没有汝为好因为,这还不够,但Python支持者更喜欢它。

不幸的是,Python并没有在企业应用领域取得突破。近年来,它一直被新兴的Rails(露比的Web框架)所遗忘,但这并不意味着Python在企业应用程序中还不成熟。(蚕豆网是最近的Python案例)。如果你有兴趣,你可以知道在Python社区Djan最流行的Web框架,你也可以看到简单的和令人难以置信的webpy Python Web框架,已成为六大开发语言在短短的几年内,绝对不。

Jython是Python的java实现,这是官方的管理语言通过IBM的WebSphere服务器指定的。我选择了Jython价值JDBC访问数据库的便利。但不幸的是,Jython的支持中文很差。也许,Python本身的复杂度是比较高的,和Jython团队活动也低。总之,Jython有很长的路要走。至少,我认为目前的版本没有能力投资于生产和发展。

红宝石/ JRuby

红宝石是一种脚本语言到明亮的年轻一代的成功,它从杀手Rails框架Rails社区受益,喊出了早期摆脱java的口号,虽然这个口号没有什么实际意义,但轨道已经成为最流行的企业应用框架。我花了几个月的时间学习Rails,虽然有没有实践经验,但Rails敏捷开发,突出的表现是明显的,这是它能迅速走红的主要原因。

扔掉Rails框架,或红宝石,红宝石的语言是纯粹的面向对象,语法是著名的魔法(它可以吸收大量的脚本语言如Perl,Python,等优良的元素),所以其学习曲线高于Python,但也许在学习写的非常优雅的代码。唯一的缺点是,红宝石还年轻,标准库还不够丰富,与成熟的第三方库相对较少,但是这种情况会逐渐随时间的变化。

Ruby完全能够满足系统管理的需求,当然,如果开发了Web程序,Rails就更是一种选择。

JRuby是红宝石的java实现,也是最早的java平台的脚本语言,由官方接到孙(后来Jython)。JRuby的露比的相容性很高,团队非常活跃。如果你想使用的脚本语言,在java平台,我推荐JRuby的另外的java本地Groovy,这是我的选择。

Perl

说到Perl,很多人会想到CGI。我可能会考虑更多关于文本处理的问题。事实上,Perl设计的主要目的是从文本中提取信息。Perl,像Python一样,是目前最古老和最成熟的脚本语言之一。它拥有大量的用户群和忠实的粉丝。因此,当我说Perl的坏话时,我会更加内疚。

坦白地说,我不太喜欢Perl。可能像大多数不喜欢Perl的人一样,Perl语法并不能让人习惯它。有人说Perl的语法是丑陋的,这可能是夸张的,但它能说明一些问题。Perl社区也应该承认至少有一点:Perl是一种更难的语言,这并不是说你不能在短期内掌握Perl,但你不能写的东西短期真的不错。此外,Perl是不是一个对象-面向过程的语言,很多人不重视这个,但这并不是一件好事。

Perl适合于系统管理,我认为它与shell非常相似,在其他应用程序中,特别是在Internet中,

Perl有很好的性能。Perl很好,或者那句话,语言不好也不坏,只是适当不当。

Groovy

如果你挣扎在爱的java平台和java语法,很可能是最好的选择。Groovy可以说是java平台的原生的脚本语言,结合java,它本身并没有提供一个标准库,使用java的API库,成功后的轨道,Groovy社区还开发了Grails框架的平衡轨道。Groovy本身也吸收了大量的红宝石经典语法,人爱java,可以选择常规。

脚本语言的缺点和未来

一般认为脚本语言的主要缺陷是性能。当然,这可能取决于许多因素。问题是有多少例性能问题都是致命的。从EJB的崩溃,春到java的挑战上升,钢轨的成功表明,在面对不同规模的应用都是非常合理的。我相信我们真的可以为我们的技术,具有良好的应用前景。脚本语言将是无限的明天。

相关文章

字行间的空间如何删除单词的常见问

字行间的空间如何删除单词的常见问

删除,常见问题,空间,单词,电脑软件,问:我如何删除在字行间的空间 uff1a解 方法:在空白行由del 方法:两行按del行 方案三:在开始下一行行退格…

PS图象处理软件标志教程四等分圆企

PS图象处理软件标志教程四等分圆企

企业,教程,图象,处理软件,四等,本教程介绍朋友到PS图象处理软件、四等圆商业LO的制作方法。教程制作的LO非常漂亮,难度也不是很大。建议你看看你最喜欢的朋友。 本教程主要使用PS图象处理软件进行四等分圆的业务逻辑的方法。本教程主要讲述…

jsp分页显示的示例代码

jsp分页显示的示例代码

示例代码,分页显示,电脑软件,jsp,1,MySQL的限制关键字(DAO) SELECT * FROM tablename极限起点,numberperpage; 表名是表是分页的名称。 起点起点位置1; numberperpage是每页显示的条数。 例如,SELECT * FROM评论限制20,5; 从注释表中提取了21…

QQ网络IP异常发生了什么

QQ网络IP异常发生了什么

网络,发生了什么,电脑软件,QQ,IP,QQ登录IP地址与访问腾讯其他Web服务页面的IP地址不一致时,造成网络IP异常的原因是: 1。一个移动网络正在使用,IP经常发生变化。 2,在Office网络中,登录QQ的导出IP与访问腾讯的其他Web服务页面的导出IP不一致。 3…

PS图象处理软件制作可爱的白雪糖果

PS图象处理软件制作可爱的白雪糖果

图象,处理软件,可爱,电脑软件,PS,把手教你用PS图象处理软件让可爱的雪糖果字体 Maxivista你快速创建一个可爱的白色糖果,字体与PS图象处理软件,让甜蜜的圣诞字体例,对PS图象处理软件感兴趣的同学哦,最适合的课程,字体纹理细腻圆润,晶莹剔透,让人有…

Word2007教程办公按钮在Word2007中

Word2007教程办公按钮在Word2007中

使用教程,教程,按钮,电脑软件,在Word2007 Office按钮的使用方法: Office按钮位于窗口左上角的Word2007。点击Office按钮打开Office按钮面板,包括新建、打开、关闭、保存、打印等。 在Office按钮面板的命令,有一些命令的右箭头,表明该命令还有下…

你为什么不在电脑里的QQ软件发现QQ

你为什么不在电脑里的QQ软件发现QQ

发现,常见问题,网盘,电脑软件,QQ,你为什么不在电脑里的QQ软件发现QQ网盘 如果你登录到QQ网盘通过iPhone、iPad下载手机管家,通过计算机输入SkyDrive的QQ,安装QQ2011正式版最新版本(包括:QQ2011版本(q+)版)。…

一种javascript控制按钮可用或不可用的方

一种javascript控制按钮可用或不可用的方

方法,控制,或不,按钮,电脑软件,本文演示了Javascript控件按钮的可用或不可用的方法: 下面的js代码控制按钮是否可用按钮对象的禁用属性。 按钮: 单击下面的按钮禁用上面的第一个按钮。 禁用按钮 disableelement()函数 { document.getelementbyid…

PHP永久登录,请记住我的功能实现和

PHP永久登录,请记住我的功能实现和

功能实现,登录,请记住,电脑软件,PHP,永久登录是指连续验证之间的浏览器会话机制。换句话说,谁是登录用户的今天仍处于登录状态,即使用户会话过期之间多次。永久登录的存在降低了你的验证机制的安全性,但增加了可用性,而不是麻烦的用户进行身份…

2015最哲学和最经典的人格签名不是

2015最哲学和最经典的人格签名不是

最经典,人格,哲学,主流,电脑软件,1。总有一个人,一句对不起,让你心痛,刻骨铭心。 2。伤了心,忘了爱,拼了命,挽回不了曾经破碎的一次。 三.有没有一个人你说过要放弃无数次,但最后他们还是舍不得。 4。解释总是多余的,因为知道你的人不需要它。 5。…

Javascript判断变量是否为自定义函数共享

Javascript判断变量是否为自定义函数共享

变量,空值,自定义函数,电脑软件,Javascript,Javascript本身没有判断变量是否为空值的函数,因为变量可能是字符串、对象、数字、布尔等。不同的判断方法是不同的,因此本文编写了一个函数,用来判断js变量是否为null,如果它是未定义的,NULL,楠,false,0,{,},空字…

用PHP将图像转换成ASCII码的一种方

用PHP将图像转换成ASCII码的一种方

方法,图像,转换成,电脑软件,PHP,本文介绍了一种用PHP将图像转换成ASCII码的方法,供大家参考: PHP图片被转换成ASCII码,图片可以通过字符串直接显示。 ASCII码 体{ 线高度:0; 字体大小:1px; } 图像=图像为美元; 如果启用HTTP allow_url_fopen / …