忘记密码   免费注册 查看新帖 | 论坛精华区
ChinaUnix.net
  平台论坛 博客 微博 读书 人才 精华 文库 自测 | 频道操作系统 开发 数据库 存储 服务器 网络 IT新闻 Linux 下载 Power用户组
最近访问板块 发新帖
查看: 3011 | 回复: 17

开发人员希望使用的六种脚本语言 [复制链接]
更多

Rank: 9Rank: 9Rank: 9

帖子
27136
主题
18307
精华
24
可用积分
25105
专家积分
5
在线时间
14061 小时
注册时间
2004-04-07
最后登录
2012-02-09
论坛徽章:
0
发表于 2009-01-08 10:38:18 |显示全部楼层
  Lynn Greiner的文章《脚本世界现状》遭到痛批。一些人对文章明显的疏漏表示出了不满,因为文章只涵盖了PHP ,Perl,Python,Ruby,Tcl和JavaScript。Lynn只选择这些语言,因为那她是为三年前的一篇文章做的后续报道。此外,大多数 IT经理即使没有亲自编写过代码,也都至少熟悉其中一种脚本语言。

  然而,尽管我们已经深入了解上述五种语言,但是开发人员使用语言的却不仅限于这五种。由于每种编程语言都是适合于解决某个具体问题的工具,因此每个IT公司都能挑选一个最适合自己的语言。在本文中,我们会分享一些新兴的脚本语言,以提供些指导。

  Scala

  Scala对开发人员而言是别具吸引力的。按照其网站所说:“Scala...既是对象面向型又是实用型的。它混合了一些现代语言功能,同时与Java保持着密切的兼容性。”

  Object Mentor的高级顾问Wampler说:“Scala是我见到的最好的一体适用的语言。Scala弥补了Java的不足,比方Java为对象面向型编程提供的支持冗繁而有限。此外,Scala支持功能性编程——在学术计算机科学界已存在很长一段时间的一种方法,但现在被证明用来编写强效并行软件非常有用。并行技术对在大型网站和企业扩展软件十分重要。”

  Trampoline Systems开发人员David Ritchie Maclver认为,Scala的主要好处是能避开Java。他说:“就图书库的支持,性能和易于部署而言,我可以匹配Java。”许多Java工具也推到Scala。他认为,他的公司正为可视化软件的软件采用Scala,随着这一更新,将减少Java和Ruby的使用。

  但是,Maclver并不推崇Scala的一切。他说:“为了发挥并行优势,人们会推动Scala的发展。但请不要受制于这种诱惑。因为它不能取代Java。”

  Groovy

  另一种语言就是Groovy,根据其网站所称,Groovy是为Java虚拟机(JVM)而设计的一种灵活而动态的语言。集Java之长,但受Python , Ruby和Smalltalk的启发,具备额外的功能和特点。

  Groovy令人信服之处在哪里呢?首先提出这一问题的开源新闻平台批评家说:“我感到惊讶的是Groovy没有出现在任何地方。如果有一个动态语言能平衡企业的拥堵,那它就是Groovy。它能汇编进Java字节码,并直接利用庞大的Java库,却省去了繁琐的Java句法。几年的时间后,Python和Ruby被Groovy取代将不会使我感到惊讶。”

  Groovy让Java开发的指令有效表达,同时又与Java代码保持相互兼容性。

  Closure

  您的公司可能会采用最新的硬件,但您的软件可以充分利用其多线程功能吗?您可能想看看Clojure,它是一个以虚拟机为目标的动态编程语言。其网站上解释说, Clojure被设计成一个通用语言,它是将高效和强劲的基础设施同脚本语言的可接近性和互动发展相结合的多线程编程。 Clojure是一种直接编辑JVM字节码的语言,却保存了完整的动态特点。每个由Clojure支持功能在运行时也获得支持。 Clojure提供对Java框架的轻松访问,通过可选类型提示和类型推断确保调用的Java可避免映射。

  小?强大?Java?这三个能并存吗? Clojure是一种体积小,功能强大的语言,它在虚拟机上编辑并运行,因此不需要新的基础设施。此外,它也可以让您以更少的代码处理更多事情。这对发展进程和维护都是好事。特别有益于在缺乏像Java那样足够多的程序员开销时,利用多核硬件。

  现在软件开发中最紧迫的问题在于如何更好地利用多核CPU ,以提高性能和降低能源成本。就方便与安全性而言,Clojure用于并行要比其他任何语言都要优越。它继承的Lisp极大地提高程序员的生产方式,随着时间的增长,它能实现简单的DSL创建以便商家验证程序的正确性。它能在模拟机上运行并能顺利与数百万行遗留的Java代码融合还仅是其表面现象。”

  Lua

  正式点说,Lua是一个强大,快速,轻量,可嵌入的脚本语言。Lua结合了简单的程序句法并具备强大的基于关联数组和可扩展的语义的数据描述。 Lua是动态型的,它的运行通过为基于寄存器的虚拟机解释字节码来实现,通过增量垃圾收集自动管理内存,非常适合配置,撰写脚本,和快速原型。

  通俗点说,这只是一个非常小的语言工具用它办事很快。

 开发人员RalphHempel将Lua描述为“编程语言中最棒的小秘密”,他还说:“虽然它没有一个正式认可的库分配机制。但却有大量的标准库供文件系统访问,网络连接,数据库访问等等。对我来说,该系统最好的部分是坚如磐石的语言核心和考虑周密的升级和补丁。Lua的发布由从一开始就参与该语言的‘Three Amigos’控制。”Hempel已向LEGO Mindstorms NXT移植Lua。

  Lua的优势在于它的快速敏捷式开发超过了传统的语言。它给你所需要的积木,您可以以任何方式建立你想要的任何东西。惊人的小和快是Lua特点。就技术层面而言,它是杰作。

  F#

  .NET开发社区并非没有一套脚本语言增强功能。其中最突出的是F#,它起先作为微软的编程语言研究,集安全,简洁,性能,表达和脚本于一身,能高品质运行,支持现代运行系统。现在微软把F#转变成.NET平台上的充分支援语言。

  F#促进编程的功能性不可改变类型,而这适合并行和分布式程序的编写。此外,它支持编程的陈述风格。陈述风格可以让你区分为解决问题开发一些智能库的高级程序员和使用它来解决日常问题的初级程序员。

  许多编程语言可以很容易地写一些小东西,再扩展成一个较大的应用程序,但当软件需要变成一个真正的有强大逻辑结构的库时,问题就来了。F#就可以让你做得很好,你可以从简单的(就像使用动态类型语言如Python或Ruby那样)开始,最终完成一个非常强大的程序(如同C #或Java )。F#的关键益处是做到过渡完全流利而无须经历任何痛苦的步骤。事实上,你不需要重写任何开始时的代码。

  F#额外的好处是通过学习F#有助于你成为更好的C#程序员, ”F#有助于人们了解LINQ。如果你未来想平行运行什么东西,它可能是很好的准备。

  Boo

  Boo在其主页上宣布,它是“为CLI(通用语言基础设施)设计的,一个新的面向对象的静态类型的编程语言,具备Python-inspired句法并特别侧重于语言和编译器的可扩展性。”

  这不是一种解释语言,因为它的编纂是为了CLI。由于它在.Net上运行,您拥有.Net的所有权力,只有它更灵活,而且您把它当作一个脚本或编好的程序。Boo也有足够的技术优势,如能在汇编过程中操纵编译器输出。

  计算机语言是制作软件的一种工具,Boo作为一种计算机语言与其他工具(.Net 生态系统)一样表现出色,但Boo更具竞争力,因它给予开发者空前的力量开发自己的语言工具。大多数语言围绕一套固定的概念工作,Boo赋予开发者制作自己的语言概念的能力。此外,Boo句法也很奇妙,并配备了各种口译以加速发展。

  该语言在轻量特定领域子语言和微型格式中取得优势。它也是微小的,自我控制和跨平台的,所以在Windows编写代码和在Linux或Mac OS X是一样的。它有一个内置的GUI库,能够发送电子邮件和访问内内置的网络资源。没有包含文件,只有两条简单的线。可执行程序也很小,在Java做同样的事情将有数以百计兆数据,在C将有以吨计的包含文件和许多代码。

来源:IT专家网

Rank: 2

帖子
377
主题
94
精华
0
可用积分
1495
专家积分
0
在线时间
84 小时
注册时间
2006-06-11
最后登录
2011-08-18
论坛徽章:
0
发表于 2009-01-08 11:54:05 |显示全部楼层
N多不使用的东东!
流氓一号

Rank: 1

帖子
418
主题
24
精华
0
可用积分
316
专家积分
0
在线时间
68 小时
注册时间
2006-12-22
最后登录
2011-10-01
论坛徽章:
0
发表于 2009-01-08 12:32:32 |显示全部楼层
Scala支持功能性编程。。。

我该哭还是笑?
我们可以没有美国的国籍,也可以没有美国人的血统,但是我们不能没有为美国操心的觉悟。

PS:2010.3.24,Google正式退出中国,大快人心。
五毛党代言人

Rank: 2

帖子
1237
主题
182
精华
0
可用积分
1842
专家积分
0
在线时间
625 小时
注册时间
2006-01-10
最后登录
2011-05-01
论坛徽章:
0
发表于 2009-01-08 12:53:12 |显示全部楼层
彻底的外行人翻译的

对象面向性编程
功能性编程

Rank: 3Rank: 3

帖子
761
主题
207
精华
1
可用积分
3084
专家积分
5
在线时间
198 小时
注册时间
2003-09-17
最后登录
2011-06-20
论坛徽章:
0
发表于 2009-01-08 13:39:41 |显示全部楼层
不但是外行翻译,而且是外行撰写。
程序员不是系统管理员。他咋不要haskell作脚本?
竹密岂妨流水过
山高哪阻野云飞

Rank: 8Rank: 8

帖子
15171
主题
127
精华
1
可用积分
104619
专家积分
55
在线时间
2191 小时
注册时间
2005-11-28
最后登录
2012-02-09
论坛徽章:
0
发表于 2009-01-08 15:05:08 |显示全部楼层
原帖由 Magicloud 于 2009-1-8 13:39 发表
不但是外行翻译,而且是外行撰写。
程序员不是系统管理员。他咋不要haskell作脚本?

程序员就不能/不需要写脚本了? 你如果愿意,也可以用 Haskell 做脚本语言。

[ 本帖最后由 MMMIX 于 2009-1-8 15:06 编辑 ]
I can explain it for you, but I can’t understand it for you.

Rank: 9Rank: 9Rank: 9

帖子
27136
主题
18307
精华
24
可用积分
25105
专家积分
5
在线时间
14061 小时
注册时间
2004-04-07
最后登录
2012-02-09
论坛徽章:
0
发表于 2009-01-08 15:09:54 |显示全部楼层
原帖由 sshnuke 于 2009-1-8 12:53 发表
彻底的外行人翻译的

对象面向性编程
功能性编程


编辑很多不是专业的
大家原谅吧,呵呵
其实大概意思差不多就行了

说不定人家是台湾或者大马的华人呢

Rank: 1

帖子
800
主题
2
精华
0
可用积分
869
专家积分
0
在线时间
310 小时
注册时间
2006-01-16
最后登录
2010-06-27
论坛徽章:
0
发表于 2009-01-08 16:56:06 |显示全部楼层
原帖由 Send_linux 于 2009-1-8 15:09 发表
http://roomescapegame.blogspot.com/2007/09/mobai-room-2.html

编辑很多不是专业的
大家原谅吧,呵呵
其实大概意思差不多就行了

说不定人家是台湾或者大马的华人呢

“面向对象”在台湾是叫“物件导向”的。

Rank: 3Rank: 3

帖子
2544
主题
87
精华
0
可用积分
4632
专家积分
236
在线时间
148 小时
注册时间
2007-03-13
最后登录
2011-11-07
论坛徽章:
0
发表于 2009-01-08 17:00:25 |显示全部楼层
第一次认识这些语言
世界网络www.linkwan.com 全面提供网速测试、路由查询、网站反应速度测试等专业服务
男性it民工

Rank: 8Rank: 8

帖子
33272
主题
152
精华
3
可用积分
107486
专家积分
563
在线时间
7048 小时
注册时间
2001-12-24
最后登录
2012-02-09
论坛徽章:
0
发表于 2009-01-08 22:02:56 |显示全部楼层
一个也没听说过
好读书,不求甚解;每有会意,便欣然忘食
宝剑锋从磨砺出,梅花香自苦寒来!!!
您需要登录后才可以回帖 登录 | 注册

北京皓辰网域网络信息技术有限公司. 版权所有 京ICP证:060528号 北京市公安局海淀分局网监中心备案编号:1101082001
广播电视节目制作经营许可证(京) 字第1234号 中国互联网协会会员  联系我们:
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP