各种计算机语言的选择Word格式.docx

上传人:b****7 文档编号:22200224 上传时间:2023-02-03 格式:DOCX 页数:13 大小:24.85KB
下载 相关 举报
各种计算机语言的选择Word格式.docx_第1页
第1页 / 共13页
各种计算机语言的选择Word格式.docx_第2页
第2页 / 共13页
各种计算机语言的选择Word格式.docx_第3页
第3页 / 共13页
各种计算机语言的选择Word格式.docx_第4页
第4页 / 共13页
各种计算机语言的选择Word格式.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

各种计算机语言的选择Word格式.docx

《各种计算机语言的选择Word格式.docx》由会员分享,可在线阅读,更多相关《各种计算机语言的选择Word格式.docx(13页珍藏版)》请在冰豆网上搜索。

各种计算机语言的选择Word格式.docx

最专门的服务器端语言是PHP,当然也有很多其他选择。

XML语言以XUL为最着名,dtml也算一个,你自己也可以用XML作为自己特殊用途的语言。

比如jedit就用XML作为一种模式定制语言。

XML语言是一种比较先进的趋势,比现有的语言在特殊领域更高效。

要找容易实现的语言,Lisp和Tcl是选择。

Lisp的数据和程序融为一体的能力和自由是其他语言都没有的。

现在出现了一个Lisp的现代化的变种:

REBOL。

如果有基于事实的编程的需要的话,prolog和Clips是必然。

我为什么选择了Python

首先声明,我编程只编应用程序,就是代替自己工作的小程序。

如果编写系统程序总会用到C或Java的。

我喜欢脚本语言,脚本语言不用编译就可以运行,非常便于修改,而编程序是一种经常性的活动,程序编完後总在不断的修改中,没必要搞的很隆重,还要编译。

另外,脚本程序每个使用的人都可以随手拿来修改,不会出现还要去找源代码的情况。

因此,C/C++和Java就被排除了。

我喜欢简单的语言,不喜欢为了编写简单的程序而去学习大量复杂的规定,需要大量的学习才会的语言不是好语言,是把人当机器看。

C/C++和Java都有严格但罗索的语法,有永远学不完的函数、类、库。

让人看到就头大。

而Perl有各种怪里怪气的速记符号,程序常常让人头晕。

简单的含义除了容易学,还要功能丰富,常用到的东西要早就准备好,不用每个人都去写同样的数据结构程序等。

Python有丰富的数据类型,有完备的面向对象的结构,有规则表达式等各种方便编程的模块。

这个逻辑就是程序做的多,人做的就少,如果程序做的少,就要人做的多。

这就是界面友好的问题。

容易上手,功能丰富是程序设计的很重要的目标,Windows就是靠这个流行的。

而Python也很好的体现了这点。

而Perl象Unix的emaCs之类其它工具一样,功能强大,但太难学,太难懂。

是比较违背人性的。

关于性能。

现在Cpu已经很强大了。

除了很大的程序和系统程序,没必要关心性能。

关于功能。

如果不是编写系统程序和贴近系统的程序,没必要使用操作系统特别提供的功能。

C是可以干任何事情,但它编程效率低,复杂。

至于我为什么不用vb,因为vb太庞大了。

我没必要实现一个小功能启动这么庞大的程序。

太夸张。

另外,vb没有类继承,虽然是应用编程,但如果要编稍微大的程序,总会用到类继承的。

Python得强大得扩展能力使对Python得学习不会浪费。

Python经过简单得处理能使用各种得C和C++库,也可以被C和C++调用。

Python可以直接使用Java得类,也可以直接被Java调用。

这样,对Python、Java、C得学习和使用经验都不会被浪费,还能相互补充。

Python可以提高Java和C得编程效率,Java和C可以补充Python功能上得不足。

Python还可以和Tcl直接交互,这种功能是内置得。

期待Python能简单的调用Perl和PHP得功能。

能使用Lisp和prolog更好。

Ruby和Python的比较

Python和Ruby的相同点

都强调语法简单,都具有更一般的表达方式。

Python是缩进,Ruby是类Basic的表达。

都大量减少了符号。

都是动态数据类型。

都是有丰富的数据结构。

都具有C语言扩展能力,都具有可移植性,比Perl的可移植性更好。

也都可以作为嵌入语言。

都是面向对象的语言,都可以作为大项目的开发工具。

都有丰富的库支持。

也有最宽松的版权许可,除了一些工具属于GNU世界。

都有Lisp特色的eval函数,也都能把函数作为参数。

也有图形界面的Ruby的专门编辑器。

都获得了广泛的C库的支持。

如qt、gtk、tk、SDL、FOX等,Ruby计划实现SWIG接口。

都有完善的文档。

和Python相比Ruby的优点

具有正则表达式和嵌入HTML的功能。

Python也有正则表达式,但没有Ruby的应用方便和广泛。

Python的嵌入HTML项目才刚起步。

Ruby还有apaChe的mod模块。

Ruby本身也实现和很多Unix工具,如raCC,doCtools。

比Python更亲近Linux。

比Python功能更完整的面向对象的语法。

Ruby的整个库都是具有类继承的结构。

他的基本的数据类型和运算符都是可以重载的。

Ruby主要的功能都是通过对象的方法调用来实现的,而不是函数。

Python也在向这方面发展,但没有Ruby做的彻底。

Ruby的类是更规范的单继承,还有接口等概念的实现。

Python可以实现在列表内的条件语句、循环语句,而Ruby用“块”的方式来实现这个功能,比Python的更灵活,更具有通用性。

Ruby具有类似Lisp的彻底的函数方式的条件语句、循环语句等。

语句的表达能力更强。

附带一些Unix工具,如raCC等。

和Python相比Ruby的不足

最大的不足正是因为Ruby的强大所引起的。

它没有Python的简单性好。

比较复杂的面向对象语法、“块”语法的引入、正则表达式的引入、一些简写标记都增加了语言的复杂性。

Python的缩进表达方式比Ruby的Basic的表达方式更让人悦目,Ruby程序的满眼的end让人不舒服。

当然,Ruby认为end的方式比Python更先进。

Ruby还没有Python的“自省”的能力,没有从程序文件中生成文档的能力。

Ruby支持不及Python广。

国际化支持在Ruby的计划中。

这是因为Ruby的历史比Python要短造成的。

Python和Ruby的语言的选择

从简单的就是好的来说,选Python是没错的。

Python适合寻找简单语言的人,这很可能造成Python更流行,因此也有更多的支持。

但如果要追求更强大的语法功能,对编程语言感兴趣,想了解各种编程概念的人,则Ruby是好的选择。

Ruby和Python都想取代Perl,解决Perl的缺点——面向对象不足,但Python用是方法是混合面向对象和程序式的程序语言,Ruby是允许自己这个面向对象语言扮成程序式的程序语言,

多脚本语言的大统一及疑问

现在各种脚本语言太多了,有必要进行整合,parrot是一个好的想法。

.NET也是好的想法。

它为各种脚本提供了一个统一的虚机,为各种脚本语言提供了基于“类”的相互调用,为各种脚本提供了统一的类库。

现在各种脚本语言只是提供了对C语言的交互性,这种交互也是费劲的和效果不好的。

比如Python、Perl、Ruby等都提供了对C的交互功能。

脚本语言之间的交流障碍重重。

而类似.NET的东西,提供了非常容易的各种脚本的相互利用的途径,避免了很多的代码的重复编写。

这种标准平台的力量是很大的,这种标准平台为什么没有在开源领域首先出现呢?

众多的脚本正是开源的特点和优势,为什么这种问题要微软来解决呢?

前面有人提出了类似的问题,在Linux中为什么至今没有好用的类似ODBC的东西呢?

可能这种整合只有商业公司有能力实现吧。

我的理解是,如果有创新思想的人都拿他的想法去卖钱了,因此,在开源中只剩下了模仿的人。

kde是模仿Windows,koffice是模仿office,Linux是模仿Unix,gcc、bash等也全都是模仿,以及gstep等,还有freedos、atheos等也是模仿,wxWindows、SDL也是模仿。

我想知道开源社区有没有自己的创新?

我所知道的创新是zope,但zope最初也是商业产品,後来才开源的。

Perl是创新,Python是创新,但还有什么呢?

是不是开源领域只有hacker,没有Creator?

.NET介绍

.NET所实现的Java的功能

可控代码跨平台的虚机和伪码免费赠送命令行编译器纯面向对象语言对XML和XMLwebserviCes的支持和jsp对应的asp.NET网页上的程序一套统一的中间件环境。

asp.NET跟jsp不是同一个层次上的web技术,asp.NET使用完善的事件响应机制,WinForms类似的WebForm技术,只有JSF跟Asp.NET有可比性。

.NET未实现的Java功能

免费的集成开发环境多厂家支持,跨平台的成熟度

免费的IDE,#develop,ASP.NET的有MS的WebMatrix而免费开源的CLR实现,有MS自己的XP,FreeBSD,MacOS下的实现(原理演示不能进行商业应用),Novell下的Mono项目,已经发布了Beta1版本,在2004-6-30将会发布Release1;

还有GNU的一个.NET实现!

.NET实现的Java不具备的功能

多语言支持强大的集成开发环境。

在Windows上媲美本机程序的速度。

对COM的支持,对vs的继承对widowsform、webform、服务器端程序的图形直观编程。

相对vs6的改进

统一了集成开发环境,使C++程序也具有了vb的友好性。

XML各种技术介绍

XML:

XML是统一格式的结构化数据的文本文件。

基于XML的程序,数据结构是开放的,方便不同程序处理同一种文件,这样,程序之间可以达到高水平的协作。

XML现在成为了各行各业统一数据格式的基础。

XML发展出了完善的语法,它用DTD或sCheme来界定XML的标记语言。

用uri来唯一确定一个XML格式。

用Css或XLT来转换XML格式,xlink和xpointer等来建立XML的链接,用xpath来定位XML中的数据。

xHTML:

是严格符合XML格式的HTML。

RDF:

基于XML的元数据描述语言。

方便交换结构化数据。

方便交换知识。

RDF是用主语、谓语、宾语来描述知识的。

SVG:

XML格式的矢量图形格式。

SMILE:

XML格式的各种多媒体在时间线上的协同。

xmath:

XML格式的公式描述语言。

XML-rpC和soap:

以http协议和XML格式来进行网络程序之间的消息通讯。

XUL:

netsCape的mazilla使用的程序界面语言,基于XML格式,比HTML强大的多的描述图形界面的XML语言。

它用Css来换肤,用DTD来实现多语言界面,用JavasCript来实现程序逻辑,以此编写跨平台的可方便定制界面的程序,现在这个程序API功能已经很强大了,整个mazilla程序就是基于XUL的。

xaml:

MS在LongHorn平台的最新编程语言,将统一Windows与Web编程,直接使用LongHorn下的浏览器进行执行,跟XUL有类比性

最先进的XML格式图形界面程序开发工具-XUL

大家知道netsCape程序,一个仅次于ie得浏览器,也有很多人知道Mozilla,netsCape得开放源代码版本。

但很多人只是使用Mozilla,不知道Mozilla另一个重要得功能--程序开发。

在netsCape开放源代码後三年Mozilla得1。

0版还没有问世,很多人讥笑他的超慢得开发速度,实际上,Mozilla酝酿出了一个超酷得新产品,可以看作是软件开发工具发展得另一个里程碑。

现在基于浏览器得三层开发结构非常流行,微软的.NET的思路就是基于这个结构得。

另外,不考虑服务器结构,就是基于网页得JavaScript小程序也对人很有吸引力,这些产品得思路都是以HTML为用户界面,但开发人员常常苦恼于HTML太简陋。

而Mozilla得XUL解决了这个问题。

XUL是对HTML的扩展,完全兼容于HTML,XUL基于XML格式对HTML进行了扩展,实现了完整、强大得图形用户界面设计功能。

可以设计出复杂得图形界面程序。

实际上mazilla整个就是由XUL设计的。

XUL用Css来控制界面风格、用DTD来替代字符串,方便的实现本地化,用JavasCript来对用户界面的操作作出反应,提供基本的逻辑编程,JavaScript通过对象文档接口DOM来动态控制用户界面。

同时JavasCript通过调用Mozilla提供的丰富的底层API来实现强大的功能。

Mozilla提供了功能强大的API可以进行文件操作、网络操作、图形操作等各种操作,并且这种API是完全跨平台的。

最後,Mozilla用RDF格式来存储独立于界面的数据。

总结:

XUL由于兼容HTML,提供了最强大的用户界面的定制,DTD提供了最方便的本地化。

XUL、JavasCript、RDF提供了显示、逻辑、数据的分离。

Mozilla的底层API提供了跨平台的强大编程能力。

希望大家都来关心Mozilla。

最接近人类语言的编程语言-REBOL

REBOL的详细资料见www.REBOL.org。

这里谈一下我的印象。

REBOL的缺点是明显的。

它是一个商业公司的产品。

它只是象Java一样免费使用。

但不开放源代码。

并且它的数据库连接的函数库是收费的。

但它的优点也十分明显,如果因为不是开放源代码软件而不能放心使用,也可以欣赏和借鉴它的种种特点,并且了解了REBOL肯定还会忍不住使用它。

首先REBOL是一个Lisp语言的替代品,它能实现Lisp的所有能力。

他具有Lisp语言的数据和程序同等处理的特点,也有语句和表达式的统一。

但大大打破了Lisp的局限。

它允许中缀运算符的形式,没有满眼的括号,和一般编程语言的表达方法完全一样。

同时具有丰富的库,有完全的图形界面库,完全的网络库。

因为是一个公司的产品,也保证了库的统一。

REBOL自称为网络编程语言,它的网络编程能力很强,一般一个语句就可以下载一个文件,或下载一个网页,或接受一个邮件。

REBOL一个神奇的特点是它的图形界面设计,它的界面编程非常简单,完全不用语句和函数,而是和HTML一样只要表达核心内容就行了。

这得益于REBOL的“方言”能力。

REBOL内置了“方言”能力。

就是象yacc一样的语言解析能力。

可以随时扩展“子语言”。

REBOL内置了几十种数据类型,用它编程,语句肯定是最精炼的。

REBOL可以实现Java一样的网络下载程序运行的能力,也有砂箱功能。

它比Java更进一步,有自己的桌面,在桌面上可以任意启动各个REBOL程序,它的桌面象HTML一样有丰富的表达形式和超链接。

链接到有REBOL功能的网站上就可以象浏览网页一样使用各种程序。

由于REBOL语言比Java要简练的多,同时是不用编译的脚本语言,它的程序文件非常小,更适合网络传输。

因为REBOL有这样神奇的功能,它自称internet操作系统。

因为REBOL是脚本语言,因此它天然是跨平台的。

它有很多操作系统的实现。

还有一个特点,REBOL语言自身只是一个几百k的可执行文件,因此REBOL程序的发布是非常简单的。

最具有现代感的Lisp解释器DrScheme

Lisp是一个古老的计算机编程语言,给人的印象是速度慢,输入输出能力弱,没有图形界面,自身携带的库太少,很多功能不能实现。

这一切在DrScheme手中改变了。

DrScheme具有大量的现代语言具有的功能,比如作为嵌入脚本的能力,图形界面的编程能力,面向对象的能力,组件编程能力,正则表达式能力,XML能力,作为web服务器和客户端来输入输出能力及其它网络能力,产生独立可执行文件的能力。

一个集成的编辑调试环境。

不过它的程序执行速度还是稍慢。

当然,它具有所有Scheme的优点,语法的宏定义能力,命名空间能力,数据和程序不分的能力,堆栈式内存管理,无穷嵌套,用“表”来表现所有语句和数据的简单方式,也天然带有程序环境的永恒存在能力。

这些特点好像正在最新出现的编程语言中出现。

好像目前的编程语言的发展趋势是从C语言的方式向具有更多Lisp特点的方向发展。

就像Windows逐渐具有了越来越多的Unix早已实现的功能。

才知道Lisp的编程环境已经这么好了。

eiffel语言印象

印象深的是它是全开发周期的语言,并且是在开发周期可回溯的。

它的ContraCt和Ada类似。

eiffel是和C++类似的编译的面向对象语言,不过更简单,能够多继承。

eiffel是C语言的面向对象编程的代替物。

mozartoz语言

oz介绍它是面向对象的、能够逻辑编程的、并发分布的语言。

我对oz印象最深的是它的多线程能力。

一个简单的Case语句,就可以启动多个线程。

另外,它也是一个prolog的代替物,可以编写分布并发的人工智能程序。

各种语言的选择和语言之间的关系

一般是使用什么软件,就用什么软件的语言

就拿我用的软件举例:

使用excel,就用vba编程。

使用autoCad就用autoLisp编程

使用zope就用Python编程

如果使用gimp就用Python或sCheme编程

使用gnomeoffice就用Python或Basic编程

使用blender就用Python编程

然後看处理什么样类型的数据

如果处理文件的操作就用shell语言。

比如bash

如果处理文本文件,就用Perl或awk,如果喜欢Perl的风格,又象编大程序,就要用Ruby

如果处理数据库,简单的用sed。

否则用sql。

如果是对象数据库,可以使用Python+ZODB、或Lua、fish

如果一般的数据库不能满足要求,需要做专家系统,就用prolog

如果处理结构化文本,如XML,就用xslt。

处理HTML,客户端用JavasCript,服务器端用PHP

如果处理类似语言分析的文本,就用yacc

如果处理出来的结果是打印文档或屏幕文档,就用tex

如果是图像、动画或其它二进制的文件,一般用C语言。

如果处理的问题和操作系统底层打交道,用C语言

从语言特点来说

如果极端要求运行中的多线程的并发和分布,可以考虑oz语言。

如果极端重视文档,希望把程序的文档写出来了,程序也几乎就完成了,那么用Cweb

复杂的程序,在编写之前需要做uml的文档。

如果要编写规模较大的程序或打算只学一种编程语言,就要用Python

如果编写程序来处理复杂的数据结构和算法,就用Lisp和sCheme(喜欢Lisp的风格,并希望更简单,用REBOL)

如果想最简单的实现一个语言来作为嵌入语言,就用Tcl,如果Tcl有局限,就用Lua

C语言是最普及的语言,但C语言有一些缺点,因此,就产生了很多改进C的语言

因为C不能编写大程序,就产生了C++

因为C++还有指针等缺点,就产生了Java

如果不喜欢C++的各种缺点,又想使用一个编译型语言,就选择eiffel

C语言的一个缺点是标准库规模小,不能解决所有的问题,就产生了大量不兼容的库,导致了很多不可移植的程序。

如果想要一个和C用样级别的可移植的编程语言,就选择Ada。

Ada的图形用户界面库和各种和操作系统相关的库都是标准化的,可以选择不同卖家的解决方案。

是军队要求的标准编程语言。

如果不喜欢C语言的繁琐,希望常做的事编程能够简单,那么可以用Python。

完成同样的工作,Python代码行数是C的几分之一。

C风格的脚本化语言是Javascript,pike

关于图形用户界面的选择

最简单的图形界面接口是tk,可以在各种平台上可用

如果有更高的要求使用gtk。

gtk移植性差些。

一个以移植性为目标的开源C库是wxwindow

如果希望简单的编程,要求不很高,可以用XUL

跨平台的图形用户结构是Java的awt和swing。

如果不跨平台,还有ibm的Java解决方案。

如果对商业编程语言不排斥,可以用qt,因为qt的程序,如果商业使用是要付费的。

如果要编写全屏的文本界面程序,emacs是最权威的。

我们可以回忆,turboC的编程环境和图形用户界面一样友好。

它就是全屏的文本用户界面。

如果编写office家族类似的程序,在openoffice上也是可以考虑的选择。

gtk也可以。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 历史学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1