`
pupi
  • 浏览: 437714 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

动态语言碎碎念

阅读更多
动态语言很容易开发。
这一点好像大伙都已经认同了吧。ruby&rails的盛行,到groovy&grails的跟进,对开发效率的提升应该是主要的推动力。

前几天看了个pdf,摘录一个其中的例子,是用来过滤list中长度超过3的字符串的。相信大家能有更清晰的认识。

java版
import java.util.List;
import java.util.ArrayList;

class Erase {
	private List filterLongerThan(List strings, int length) {
		List result = new ArrayList();
		for (int i = 0; i < strings.size(); i++) {
			String s = (String) strings.get(i);
			if (s.length() <= length) {
				result.add(s);
			}
		}
		return result;
	}

	public static void main(String[] args) {
		List names = new ArrayList();
		names.add("Ted");
		names.add("Fred");
		names.add("Jed");
		names.add("Ned");
		System.out.println(names);
		Erase e = new Erase();
		List shortNames = e.filterLongerThan(names, 3);
		System.out.println(shortNames.size());
		for (int i = 0; i < shortNames.size(); i++) {
			String s = (String) shortNames.get(i);
			System.out.println(s);
		}
	}
}


groovy版
		def names = ["Ted", "Fred", "Jed", "Ned"]
		println names
		shortNames= names.findAll{ it.size() <= 3 }
		println shortNames.size()
		shortNames.each{ println it }		


groovy被称作新一代的java,更好的java不是没有道理的。

动态语言是弱类型的,不够安全。
这一点则是见仁见智。
弱类型的语言当然导致了编译器无法帮你发现因为类型导致的错误,也许还会让你的代码不够健壮。但是这样做却也较少你的代码的侵入性。大家也许会碰到有时候不知道该给一个变量什么类型的情况吧。有了弱类型的语言,你将不再有这样的烦恼,你不再需要定义一大堆接口来保持代码的适应性了。另外一方面,动态语言结合单元测试,也可以让你的代码足够安全和健壮。
2
0
分享到:
评论
4 楼 oijava 2008-02-22  
java版
		String[] ss={"Ted", "Fred", "Jed", "Ned"};
		System.out.println(Arrays.toString(ss));
		List<String> shortNames=new ArrayList<String>();
		for(String s:ss){if(s.length()<=3)shortNames.add(s);}
		System.out.println(shortNames.size());
		for(String s:shortNames){System.out.println(s);}
3 楼 dexter_yy 2008-02-20  
javascript:

for(var i=0,names=["Ted", "Fred", "Jed", "Ned"],shortnames=[],l=names.length;i<l;i++)if(names[i].length<=3)shortnames.push(names[i]);
2 楼 hushuo 2008-02-17  
动态语言是不是也包括了javascript呢?
如果这样的话,42.8%就不奇怪了。
1 楼 pupi 2008-02-16  
动态语言和静态语言孰优孰劣,有太多的讨论。javaeye就有不少。这也从另一方面说明了,他们各有大批拥趸。
下面是tiobe统计的动态语言和静态语言使用比例的数据,其中静态语言比动态语言领先15个百分点,考虑到动态语言只是近些年才开始被大量开发者接受,取得这样的比例已属不易。
当然,相比07年,08年静态语言的使用率并未下滑,说明其方兴未艾。相信,也有很多的开发者同时使用动态和静态语言的。

引用

Category 2008年2月 2007年2月
静态语言 57.2%         -0.2%
动态语言 42.8%         +0.2%

相关推荐

    我在斯坦福做科研的碎碎念 .rar

    “我在斯坦福做科研的碎碎念”揭示了作者在世界顶级学府斯坦福大学进行科研工作的亲身经历和感悟,这是一份珍贵的第一手资料,对于想要了解人工智能领域,尤其是AIGC(人工智能生成内容)、CV(计算机视觉)、AI...

    基于ASP的简洁碎碎念简单的轻微博系统v1.1.zip

    ASP允许开发者使用VBScript或JScript等脚本语言编写服务器端代码,处理用户请求,生成动态HTML页面。在ASP中,开发者可以轻松地访问数据库、执行服务器端逻辑,以及与客户端进行交互。 【压缩包子文件的文件名称...

    ASP源码—简洁碎碎念简单的轻微博系统v1.1.zip

    它允许开发人员通过HTML、VBScript或JScript等语言编写网页应用,将静态页面转变为能够处理数据和响应用户交互的动态网页。在ASP中,服务器负责处理脚本并返回结果到客户端的浏览器,这样可以实现数据库访问、用户...

    计算机语言.docx

    计算机语言是计算机执行指令的集合,它可以分为机器语言、汇编语言和高级语言三大类。如果按语种分,可以分为英文符号语言和汉语符号语言两类。计算机语言是控制计算机的核心,人们要控制计算机一定要通过计算机语言...

    Python语言程序设计教学大纲.docx

    《Python语言程序设计》教学大纲旨在引导初学者进入编程世界,特别是针对没有编程经验的学生。课程以Python语言为载体,因其简洁的语法和强大的功能而备受推崇,尤其在人工智能领域广泛应用,被誉为“胶水语言”。...

    幼儿园语言文字工作制度复习过程.docx

    《幼儿园语言文字工作制度复习过程》的文档主要阐述了幼儿园在语言文字教育方面所遵循的规范和实施策略,旨在确保教师和幼儿都能正确使用普通话和规范汉字,促进幼儿园语言文字环境的优化。以下是对该制度的详细解读...

    python中关于for循环的碎碎念

    一开始,这只是我给自己的一个挑战,练习使用更多的语言特性来替代我从其他编程语言那里所学到的。但是事情渐渐变得更有趣了!代码不止变得更简短整洁,而且看起来更加结构化和有规律,在这篇文章中我将更多地介绍...

    如何开始编程语言.docx

    - **Ruby 和 Ruby on Rails**:Ruby 是一种动态、面向对象的脚本语言,而 Ruby on Rails 则是在 Ruby 基础上构建的一个用于快速开发 Web 应用程序的框架。两者结合使用,可以极大地提高开发效率,减少重复工作。 ##...

    主流动态网页技术优缺点的比较.docx

    动态网页技术是指通过服务器端脚本语言生成网页内容的技术,目前市场上有多种动态网页技术,例如ASP、PHP、JSP、ASP.NET等。下面我们将对这些技术的优缺点进行比较。 ASP技术 ASP(Active Server Pages)是微软...

    大班语言-唐僧骑马咚哩个咚.docx

    【大班语言活动——《唐僧骑马咚哩个咚》】 本次大班语言活动以中国传统文化中的经典故事《西游记》为背景,选取童谣《唐僧骑马咚哩个咚》作为教学内容,旨在帮助幼儿理解和感受童谣的节奏特点,激发他们朗诵童谣的...

    《大自然的语言》微课教学设计.docx

    《大自然的语言》是一篇关于物候学的课文,旨在引导学生理解并掌握物候现象及其对农业生产的重要影响。微课教学设计围绕四个主要环节展开,旨在帮助八年级学生深入理解和提炼文章的关键信息。 首先,微课以引言部分...

    如何选择一门计算机语言?.docx

    【选择计算机语言】选择一门合适的计算机语言是编程生涯中的重要决策,这关乎到学习的效率、项目的适用性和个人兴趣的发展。以下是对几种常见语言的评价和考虑因素。 **C语言**: C语言以其高效和接近硬件的特点而...

    少儿编程,选择哪种语言比较好?.docx

    家长们常常面临一个疑问,那就是在众多的编程语言中,究竟哪种语言最适合孩子初学编程。就像选择衣物一样,选择编程语言的关键在于其适用场景和目标。就像婚礼上的婚纱、正式场合的正装或是日常生活中的休闲装各有其...

    《Python编程之美——带你进入Python语言世界》课程设计大纲.docx

    《Python编程之美——带你进入Python语言世界》课程设计大纲详细解析 这门课程旨在引导学习者进入Python的世界,体验其语法简洁、类库丰富的魅力。无论是对于有C/C++或Java背景的程序员,还是对系统维护人员,...

    大班语言-帆船.docx

    【大班语言活动-帆船】是一次针对幼儿的语言教育活动,旨在通过童谣学习,培养孩子们的理解力、想象力和语言表达能力。活动主要围绕着一首名为《帆船》的童谣展开,让孩子们理解童谣中的比喻手法,激发他们对大自然...

    Scratch编程语言简单好学吗?.docx

    Scratch编程语言是一种专为儿童设计的编程工具,由麻省理工学院(MIT)的“终身幼儿园团队”开发。它的设计目标是使编程变得简单、有趣且富有创造性,旨在激发孩子们对计算机科学的兴趣。Scratch的特点是采用了积木式...

    quartus II 软件做4的位乘法器设计(vhdl 语言).docx

    Quartus II 软件设计 4 位乘法器(VHDL 语言) 本文档讲述了使用 Quartus II 软件设计 4 位乘法器的过程,整个设计使用 VHDL 语言实现。设计过程中涉及到并行乘法的算法、加法模块、主程序等几个部分。 1. 并行...

    2-java语言实验(数据类型_运算符).docx

    Java语言实验(数据类型和运算符) 本实验涵盖了Java语言的基本概念,包括数据类型、运算符和表达式。实验中涉及到变量的命名规则、数据类型的分类、运算符的优先级和结合性、表达式的计算顺序等知识点。 一、变量...

    [中班亲子体育游戏教案]中班语言亲子游戏教案大全.docx

    【中班亲子体育游戏教案】和【中班语言亲子游戏教案大全】的文档标签虽标记为"技术",但实际上内容更偏向于教育和亲子活动设计。以下是对这些教案中的核心知识点的详细说明: 1. **语言发展的重要性**: - 语言是...

    青书学堂VB语言程序设计(专升本)2020考试题.docx

    ### VB语言程序设计知识点解析 #### 一、变量与数据类型 **1. 变量声明** - **DimpiAsInteger**: 此行代码声明了一个整型变量`pi`。在VB中,使用`Dim`关键字来声明变量,并通过`As`关键字指定变量的数据类型。...

Global site tag (gtag.js) - Google Analytics