ABCDV网站

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 3155|回复: 22

20年后,我们用什么样的语言?[转贴]

[复制链接]
发表于 2002-10-11 23:35:51 | 显示全部楼层 |阅读模式
本文将介绍10多种不同的程序设计语言,以及如何下载它们的免费的编译器,(注意,是免费,而不是盗版),如果下载或者安装有问题,可以给我发邮件:
ruoyu0088@sohu.com

20年后,我们用什么样的语言?也许现在谁都不好回答,20年前的程序员们会告诉你用汇编吧,今天人们也许会告诉你用c语言(c++?)吧。那么20年后呢,也许不是c语言了吧。下面都是所谓的非主流语言,不过它们的设计思想、所能够完成的功能,绝对不比c语言差。也许将来它们会成为主流,也许不会,可是不管怎样,它们都有自己的闪光之处。

---〉你要么站在电脑的硬件上编程,要么站在巨人的肩膀上编程,请选择吧。

*******Prolog**********

人工智能领域常用的语言,开发自然语言分析,专家系统,以及所有和智能有关的程序,都非常拿手。可以到我的主页来学习这门语言 http://cdtzx.go.163.com


----visual prolog
www.visual-prolog.com
顾名思义,这是一个可以制作界面的Prolog,有试用版本下载,大概20M左右。这个prolog版本需要对谓词以及数据进行声明,就像C语言一样。因此在使用的时候比较复杂,不过更加适合编制较大的程序。编译出来的程序可以直接运行。

----amzi prolog
www.amzi.com
这个prolog版本包含解释器、编译器,不过编译出来的程序不能够直接运行,需要运行器运行。可以很方便的和其它语言(例如visual basic,java,C,CGI)连接,开发智能程序。解释器的运行效率较低。它所说使用的语法体系和visual prolog不同,程序需要进行适当的修改才能够在visual prolog中运行。

----SWI-Prolog
http://www.swi.psy.uva.nl/projects/SWI-Prolog/
我没有怎么使用过这个版本的prolog解释器,不过它的运行速度要比amzi prolog的解释器快,和amzi的编译之后的程序差不多快,如果下载图形软件包XPCE的话,还可以开发有界面的程序。它的语法和amzi prolog相同,程序可以通用,不过内部谓词有些不同,有时候需要修改一下。

----Turbo prolog
http://magicpage.myetang.com/
Dos版本的prolog,有开发界面,可以编译成可执行文件,语法和visual-prolog相同,不过内部谓词有许多出入。

----B prolog
http://www.cad.mse.kyutech.ac.jp/people/zhou/index.html
好像是中国人开发的prolog软件,据说比其它的prolog运算速度都要快,我曾经在linux下面使用过这个prolog,也有window版的,不过没有什么集成开发环境。语法和其它的几个都不太相同,需要适当的修改程序才能够在此环境下运行。此prolog提供了许多测试速度的解谜题的程序,这个版本的prolog支持constraint程序设计。

----strawberry prolog
http://www.dobrev.com
1兆的容量,包括完整的开发界面,帮助,例程,提供了几个棋类游戏的源程序。可以直接开发有界面的prolog程序,共享版不能够编译,就解释执行吧

*********Lisp*******
人工智能语言的老大哥。语言格式只有一个形式:列表,所以也叫做表处理语言,这可不是一般的表,是可以包容任意结构的表,有了它,你还用c语言来写链表,二叉树的程序么?学习数据结构不妨使用lisp,让你更加关心算法,而不是数据如何在计算机内部表达。

----xemacs
www.xemacs.org
与著名的guns emacs编辑器的起名,并且界面更加友善,内带emacs lisp, 和许多使用lisp编写的工具软件,例如calc, 是一个功能强大的计算器,支持符号运算,有全部的源程序,如果能够好好研究这些源程序,收获一定不小。

----Allegro CL
common lisp
http://www.franz.com, windows下的common lisp集成开发环境, 60天试用。

----lisp work
common lisp
http://www.xanalys.com/ 无限期使用,没有任何功能限制

*****functional language****
这是一类语言,叫做函数型程序设计语言。是一种非常高级的语言。一种基于λ演算和在70年代后期才发展起来的新语言类型。大多数程序设计语言明显地规定要执行操作的次序。次序的详细规定是很需要的,因为语言的语句对程序的变量有“作用”,如果改变这些作用的次序,就可以改变产生的最后值。但是函数型语言却没有这种性质。在这个意义上,函数型语言能建立可计算性的数学公式模型。让我们来看一个简单的例子:
qsort :: [a] -> [a] | Ord a
qsort [] = []
qsort [a:xs] = qsort [x \\ x<-xs | x=a]

这段程序就是快速排序的代码,你看有多么简洁,并且它的这个qsort可以对任何类型的数据进行排序(只要这种数据可以比较大小)。想读懂上面的程序么?那么下载下面的clean, 或者haskell,好好研究吧,祝你有新的发现。

----clean
http://www.cs.kun.nl/~clean/
并行的函数型语言,可以把源程序编译成exe文件,带有丰富的库,从tcp/ip, 到界面设计,到游戏开发,无一不全。

----haskell
http://www.haskell.org/hugs/
hugs是haskell的免费编译器,语法和clean相似,不过是解释执行,因此易于学习。

---caml
http://caml.inria.fr/
又一个函数型语言。

**********mozart oz*********
www.mozart-oz.org
20年后,我们用什么样的语言?也许现在谁都不好回答,20年前的程序员们会告诉你汇编是最棒语言,今天人们也许会告诉你用c语言(c++?)_吧。那么20年后呢,也许不是c语言了吧。世界上许多程序语言的研究机构都在开发下一代的语言,mozart oz也可以算是其中之一吧。
mozart oz 是具有魔力的语言。它融合了目前几种流行的程序设计思想,我们叫它多范式语言。它是面向对象的语言,它是函数型的语言,它是约束逻辑的语言,它是并发式的语言,它还是分布式的语言,几句话很难概括它的功能。最好去它的网站看看吧,下载一个慢慢研究?
他使用emacs作为开发界面,因此你首先需要安装emacs for windows(也可以在mozart的网上找到,也可以去www.gnus.org去找), 如果你安装了emacs 那么你也就同时获得了emacs lisp, 呵呵,收获不小。
为了提起您的兴趣,请思考如下的问题如何编程解决,然后你可以在mozart中找到惊人简单的解决方案。
15个人每天出去玩,每天分为5组,每组3人,玩一个星期,使得任何两个人都曾经在一组中玩过,你如何安排?

*********J*****************
www.jsoftware.com
不要和java搞混淆了。它是一种面向阵列的语言,也就是说矢量,矩阵,以及高次数组都是它的最基本的数据类型,J中引入了大批量的运算符,以及独特的算式分析方法,大幅度的扩展了数学算式的表达能力。 例如如果你要算从1加到100, 用c怎么做? J的程序是:+/i.100 对,就这么短,一个表达式解决了问题,事实上,使用表达式编写出来的程序异常简洁,虽然初看上去很难读懂,一旦掌握了J语言,你就会发现,原来你可以用只有c语言1/20的字符表达同样的功能。

*******forth***************
http://www.forth.org/compilers.html
forth是一种可扩展的,交互式的语言。最初为小型的嵌入式电脑设计的,现在它几乎可以在任何主流的芯片上运行。 在电子表格,专家系统, 多用户数据库,和分布式实时控制系统中有广泛的应用。
表面来看,forth是一种基于堆栈的概念机。例如如果要计算 (3+4)*5 ,我们的程序就是:3 4 + 5 * . 首先把3和4入堆栈,然后调用+子程序,+把堆栈的最顶上两个元素取出(也就是3和4)进行加法运算,然后把结果入堆栈,然后把5入堆栈,然后调用*子程序,把最顶的2个元素,也就是7和5取出,并进行乘法运算,然后把结果入堆栈,最后的.把结果从堆栈中取出。 事实上这是一种简单有效的概念机。当然forth远远不止这些,它有什么样的功能,就由你去发掘了。

*******Logo*************
被称为最佳的启蒙语言,事实上它的功能远远不止启蒙这么简单。一切别的语言能够完成的它也能够完成,只是更加简洁一些,通常logo是使用lisp编写的,我们就可以想象它的高度灵活性了。
----MSWlogo
http://www.softronix.com/
这个网站还有个逻辑数字电路模拟的软件,很有意思,再也不用为什么触发器 门电路之类的发愁了。

******python***************
www.python.org
python是一种解释型 交互式 面向对象的语言,我们经常拿它来和Tcl Perl Scheme Java来比较。它有非常清晰的语法,有模块,有类,异常处理,高级的动态数据结构。它比perl更加易学,功能更加强大。


**********smalltalk*********
可是面向对象的程序设计语言的鼻祖阿,并且正在蓬勃的发展,没有过时。它是纯面向对象的语言,就连整数也是对象。开放环境也非常集成,如果感兴趣可以到一下网站下载,绝对有耳目一新的感觉:

http://www.squeak.org/ 这是一个非常有趣的smalltalk版本,看上去就像在你的电脑上模拟了另外一套完成的窗口系统,这里面的窗口更加利害,你甚至可以旋转它,不看不知道,看了才发现还有这么奇妙的语言,这么奇妙的开发环境。10M左右

http://www.cincom.com/scripts/sm ... s程序。30M左右

http://www.object-arts.com/ 这里提供的免费smalltalk版本只有3M不到,如果你想先尝试一下这种语言的话,可以下载这个。



***************** C **************
最后我们还是回到c语言,毕竟这是目前最流行的语言,如果你不想用盗版,不想安装100多兆的垃圾(大多数初学者不可能完全使用borland c++ builder 或者visual c++的全部功能,而只是用来学习c语言本身),也不想在dos的edit样子的面孔下,使用Tc编程序,那么try下面的东东吧。3M的大小绝对值的下载。
http://www.cs.virginia.edu/~lcc-win32/index.html
发表于 2002-10-13 10:59:39 | 显示全部楼层
唉,我以为是说人说的语言呢,进来一看是机器说的语言。
发表于 2002-10-13 15:27:47 | 显示全部楼层
偶以为以后人的语言就是机器的语言啦!
发表于 2002-10-13 22:33:06 | 显示全部楼层
非常感谢Ray兄的倾情放送!!
发表于 2002-10-15 06:59:38 | 显示全部楼层
???项少龙来说战国语言了?
发表于 2002-10-15 16:46:59 | 显示全部楼层
以后的应该有两种倾向了!一种是简单实用型!一种是专业逻辑型!一般的人就用地一种了,第二种当然是给专业人员用的了!不然我们这些搞技术的就没饭吃了。。。。。
发表于 2002-10-16 11:20:04 | 显示全部楼层
顶,虽然我基本看不懂。
发表于 2002-10-16 15:20:37 | 显示全部楼层
你看不懂?那你是学什么的?不用顶了!这本来就是置顶的!
发表于 2002-10-17 11:32:19 | 显示全部楼层
看不懂正常,不信你来个投票,看不懂的肯定比看的懂的多。多顶顶没坏处,顶掉头发不理发。
发表于 2002-10-17 14:37:05 | 显示全部楼层
不可能呀!我看现在的年轻人都至少会多多少少一些编程的呀!像什么ASP之类的了,VB了,都很多人会呀!我表妹在初中就学了!
发表于 2002-10-17 14:42:52 | 显示全部楼层
不可能呀!我看现在的年轻人都至少会多多少少一些编程的呀!像什么ASP之类的了,VB了,都很多人会呀!我表妹在初中就学了!
发表于 2002-10-17 19:43:21 | 显示全部楼层
发表于 2002-10-17 21:07:17 | 显示全部楼层
“天耍”兄,汝真厉害也! 吾项某人的花言你都弄懂了,在下佩服佩服!
发表于 2002-10-18 02:32:17 | 显示全部楼层
LOGO嘛,MIT出的,太老了。虽然也能实现很多功能不过太麻烦了。用来画画图倒是不错的(不是Coraldraw那种,而是一个图龟满屏幕跑的)
发表于 2002-10-18 12:13:42 | 显示全部楼层
呵呵……当初看过一些……在中学时用什么学习机时,那时我记得还接电视来编游戏……还有就是存资料在一般的磁带中!用录音机来存的!好有趣呀……呵呵……
发表于 2002-10-28 11:02:14 | 显示全部楼层
最初由 petersan 发表
[B]呵呵……当初看过一些……在中学时用什么学习机时,那时我记得还接电视来编游戏……还有就是存资料在一般的磁带中!用录音机来存的!好有趣呀……呵呵…… [/B]


应该是潍坊华光生产的中华学习机吧?仿制Apple2e的一个机种。ROM固化BASIC和LOGO语言。
至于磁带嘛,现在服务器的备份系统绝大多数都是磁带机啦。你倒是早用过了,呵呵
发表于 2002-10-29 15:23:47 | 显示全部楼层
我那个磁带机才一百多呀!现在的磁带机都上几千呀!每盘都可以放十几G呀!
我那个才能放,我想想呀。。。。好象可能1M都不到吧。。。。。一个游戏好象都用掉了差不多5分钟的磁带了!呵呵。。。。
发表于 2002-11-2 23:08:03 | 显示全部楼层
很难做一个比较,谁优谁劣不是各种语言的问题,而且使用者的问题。

还有的是,计算机语言这东东,我是一万个相信一精百通这个道理的...

但对于科研来讲有可能一些偏一点的语言比较有用,

我是绝对不相信在开发商用软件,用lisp 比 c++或java好 ....

在开发的周期上,我也绝对不相信"做出相同好的东西"用g++能比c++builder快.....
发表于 2002-11-11 15:57:41 | 显示全部楼层
不过现在用JAVA惯了,其他的都没空去研究。。。呵。。。懒呀。。。
不过现在来说面向对象还是比较重要的!
发表于 2002-11-26 13:13:45 | 显示全部楼层
最初由 petersan 发表
[B]我那个磁带机才一百多呀!现在的磁带机都上几千呀!每盘都可以放十几G呀!
我那个才能放,我想想呀。。。。好象可能1M都不到吧。。。。。一个游戏好象都用掉了差不多5分钟的磁带了!呵呵。。。。 [/B]

:rolleyes: 好像有道理阿
发表于 2002-12-12 17:47:28 | 显示全部楼层
20 Jahr sp&auml;ter, natürlcih in Chinese.
发表于 2002-12-14 01:42:05 | 显示全部楼层
发表于 2002-12-15 19:47:25 | 显示全部楼层
Chinese-Englich, Chinesisch-Deutsch
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|ABCDV网站,版权所有:北京佳景时代文化有限公司 ( 京ICP备19037940号-1 |||| 京公网安备11010802012322 |||| 工信查询网址: https://www.beian.miit.gov.cn )

GMT+8, 2024-9-28 13:40 , Processed in 0.094860 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表