什么是动态语言呢?
可以简单的理解为直接被解释执行的语言称为动态语言。而需要编译环境将程序转换为其它的编码再执行的语言称为静态语言。
当前静态语言有:java、C/C++、C#、DELPHI、VB等。
动态语言有:asp、php、cgi、lisp、Perl、python,Smalltalk、Ruby等。
对于动态语言,每个人心中都有自己的排序,各自喜好不同。但是对于动态语言越来越受重视是很多人的共识。众多的动态语言当中,谁将成为主流语言,众说纷芸,各持已见。而我最看好的动态语言将从下面三种语言中产生:
为什么我会锁定在三种语言上呢?除了语言自身的优势外,另外一点最主要的原因就是其被后的力量。任何一种产品想成为主流都离不开强大的财团支持,开发语言也不例外。
1,php 动态语言之精典 对于php语言,笔者的个人感情较浓,从第一次接触它就被其简单、灵活、功能之强大所征服。更快的处理效率,迅速的部署及PHP的跨平台的特性让其应用更为广泛,相信俱有跨平台特性的动态语言中没有任何一个语言能及php语言的普及率高。很多大的网站使用着PHP,历史证明,它是一个经得起考验的动态语言。另外,php的开源环境也相当出色。世界各地数以万计的程序员,采用PHP编写程序。你可以从PHP相关的网站、社区等找到各类优秀的开源程序代码。
最近IBM、Oracle 正尝试把PHP 应用到SOA 之中,再一次证明了PHP的优秀。虽然PHP存在着维护困难,复用性低等问题,但这些并不能影响其最终成为主流的动态语言。前不久IBM还基于Apache Geronimo项目推出了为it WebSphere Application Server Community Edition开发的PHP集成工具集。该工具集能让开发人员在SOA中开发服务时使用PHP和Java。zend也推出了php的开发框架,这些技术将帮助软件公司创建企业级PHP应用。 PHP会变得更加广泛,从当前网站技术上的胜行,到企业级WEB应用,php必将成为最有竞争力的动态语言。
2,在java的基础上产生新的语言
java语言的发展是有目共睹的,早已成为时下最为主流的开发语言。在java环境下的应用层出不穷,特别是jdk1.5发布之后,java在性能上的提升已今非惜比。对于动态语言的支持早就在日程当中。
在Lang.NET 2006 会议上, Sun公司宣布将积极参与让JVM支持动态语言的开发项目.将会增加一个新的JVM 指令——invokedynamic,用来设计对动态语言对象的支持。然而主仅仅是一个开始。我想java平台将会全面支持动态语言,俱备运行时更改类结构或相关配置。另外很类技术人员都知道Sun已经整体收购了JRuby项目,sun公司对于动态语言的发展是有备而战的。目前java平台下的动态语言有Groovy、nice、BeanShell、Jython、JRuby、Rhino(JavaScript)、Jacl(TCL)、Bistro(SmallTalk)、Kawa(Lisp/Schema),真是越来越多了。java下这么多的动态语言建议选择Groovy,感觉血统较为正宗,兼容Java的语法,java程序员学习起来较为容易,上手较快。
由于2EE太过于复杂,面对当前的行业需要,必将会在java语言的基础上发展出一种新的基于java的动态语言,使WEB开发过程变得更快,更简洁,但又不失java自身的特点。使Java在WEB开发能力上达到前所未有的提升。由于sun及IBM公司的推动,反微软企业的支持,还有企业的认可,基于java语言所产生的动态语言也必将会成为动态语言家族中有力的竞争对手。
3,.net的动态语言 微软的动态语言用的人最多的应该是asp,现在发展到asp.net。看微软在开发语言方面的发展,他们一定不会放弃这块肥肉,并会加大投入力度,与其它的动态语言提供商火拼到底。只要是有利可图的地方,没有微软不想伸脚的,更何况这是一块大肥肉呢。
前不久微软CLR开发组的负责人Jim Hugunin表示,微软将加强对CLR中的动态语言的支持。并将会发布成熟的软件模式,细化到代码中,放在库中供开发者调用,以帮助他们通过.Net Framework上的动态语言开发自己的应用程序。种种迹像表明微软在动态语言方面没闲着,正紧锣密鼓实施着一系例动作。
我把微软的动态语言列为最可能成为主流动态语言的原因是因为其windows的平台无所不在。这是无法否认的。微软势比处投入重手,增强竞争能力。以微软的人力、财力,想不分给微软一块蛋糕是不可能的。有钱就是好,投入大笔的资金,什么都可以做。
有人一定会反问我,为什么把其它的动态语言抛开不谈。Perl语言过时了,虽然还有一些公司在使用,但早已不是主流。python、Ruby最近几年开始火起来的动态语言,我并不看好它们,虽然它们是很优秀的语言,但是优秀并不帶表会成为主流。正如操作系统一样,大家都有个共识就是,unix、linux很优秀,但是并不是主流系统。当然会有人反驳说应用场景不同,不能一概而论。那么开发语言也一样,我说的是大众主流,大众主流就是指最广泛的被采用。
有人说,未来动态语言会取代静态语言,将一统天下,我并不这样认为,相信应该是动态语言与静态语言互相辅助,各在其擅长的方面发挥作用。比如多线程,目前的动态语言支持都不如静态语言的好,很多还不支持。
对于语言的选择,一般性的应用,完全可以采用动态语言完成,也可以采用静态语言,这要看撑握语言的人或是需求而决定。更为灵活,更容易扩展及复用的方式是采用动态语言+静态语言的方式。前台功能采用动态语言实现,后台服务采用静态语言实现,充分利用各自的优势。当前在java的WEB应用开发过程中,采用模板技术就是这类应用模式的一个雏型。java的模板技术很多都支持简单的编程,如逻辑控制等。当然现在还不能称其为一种语言,但是相信,这一切随着动态语言的发展并将成为一种新的语言。
动态语言必将大行其道,但是不是独行,而将与静态语言相辅相成。
分享到:
相关推荐
Mojo编程语言是一种专门用于编写Web应用程序的动态语言。为了深入了解Mojo,我们可以从它的创建背景、语法特点、应用场景以及如何编写一个简单的Web应用程序等方面进行探讨。 首先,Mojo由Dan Ingbert创建于2005年...
本书是他这几年研究心血之结晶,旨在为读者了解Go语言、掌握Go语言提供专业的入门指导。 书中内容共分为9章,全面介绍了Go语言的基础知识,以及Go语言在云计算中的应用。作者还提供了70多个完整的示例程序,方便读者...
本文主要探讨了几种主流编程语言——C、C++、Java、Ruby和JavaScript的特点、优势和劣势。首先,我们要明白,选择编程语言应根据项目需求、性能要求以及团队技术栈来决定,而非单纯地比较语言优劣。 **C语言** ...
Go语言,作为一门现代编程语言,自2007年由Google公司的Robert Griesemer、Ken Thompson和Rob Pike三位大牛设计发明以来,已经迅速成长为开发人员喜爱的语言。Go语言之所以被称为网络和多核时代的C语言,是因为它从...
本书是他这几年研究心血之结晶,旨在为读者了解Go语言、掌握Go语言提供专业的入门指导。 书中内容共分为9章,全面介绍了Go语言的基础知识,以及Go语言在云计算中的应用。作者还提供了70多个完整的示例程序,方便读者...
近几年来,搜索引擎的搜索趋势表明,单词“Java”的搜索量略有下降,而搜索脚本语言的名字像JavaScript、Ruby、Python以及Rails的搜索量正在不断增加。有些人认为Java语言将被这些脚本语言所代替。但我们有坚实的...
描述中提到的“近几年的计算机语言的排名变化”,暗示我们将探讨的是TIOBE Index、GitHub上的星标统计、Stack Overflow调查等来源的数据。这些排行榜基于多种因素,如搜索引擎的查询频率、开源代码库中的项目使用...
自1989年由Guido Van Rossum创建以来,Python已经成为与Tcl、Perl并驾齐驱的三大主流跨平台脚本语言之一。 **特点**: - **跨平台性**:Python支持几乎所有主流的操作系统,包括但不限于Windows、Solaris、MacOS、...
随着面向对象技术逐渐成为主流,这些方法学家们开始尝试将各自的方法结合起来,以形成更为全面和统一的标准。 1994年,Booch和Rumbaugh开始合作,将Booch方法和OMT方法进行整合,形成了统一方法(Unified Method)...
域以至信息领域中数据处理的主流语言之 由于不同的产品,大都按自己产品的特点对语言进行了扩充,很难完全符合 标准。目前在 市场上已将的符合夲作为衡量产品质量的重要指标,并研制成专门的 测试软件,如 目前, ...
- **JDK 7 (2011年)**:增强了对动态语言的支持,引入了多异常捕获和try-with-resources语句,简化了资源管理和异常处理。 3. **J2EE (Java 2 Platform, Enterprise Edition)**:专注于企业级应用开发。 - **...
Python,这门优雅而强大的编程语言,自诞生以来就一直深受程序员的喜爱。它的起源、发展与进化历程,是一部充满创新和技术变革的历史。...随着技术的不断发展,Python也将继续演进,为未来的编程世界带来更多的可能性。
JavaScript是一种广泛用于网页开发的脚本语言,由Netscape公司的Brendan Eich在1995年创建。它被设计为一种轻量级的解释型或即时编译型的编程语言,并且支持多种编程范式,如面向对象编程、命令式编程以及函数式编程...
Pyton-Groovy-Haskell-Erlang.pdf》这本书不仅介绍了元编程的基本概念,还深入探讨了五种具有代表性的动态语言在服务器端元编程方面的应用,并通过《Beyond Java》一书提供了对未来编程语言发展方向的洞察,...
- **People(人际交互)**:将PC端的人际交互体验迁移到Windows Phone上,支持实时更新SNS、feed等,并方便用户查询动态和图片。 - **Pictures(图片)**:支持在社交网络中同步、共享照片和视频信息,并提供分类...
Swift语言是苹果公司在2014年WWDC开发者大会上发布的编程语言,旨在替代现有的Objective-C语言,成为iOS和OS X应用开发的首选语言。Swift的设计目标是提供与Objective-C相同的功能,同时增加新的特性,让编程更简单...
书中指出,尽管可以用多种编程语言编写.NET代码,但C#是唯一一种专门为.NET Framework设计的语言,因此在未来几年内,C#语言将成为编写.NET应用程序的主流选择。这是因为C#能够充分利用.NET Framework提供的全部功能...