热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

人工智能AI程序设计语言简介

人工智能AI程序设计语言简介本文将介绍10多种不同的程序设计语言,以及如何下载它们的免费的编译器,(注意,是免费,而不是盗版),如果下载或者安装有问题,可以给我发邮件:ruoyu0088@
人工智能AI程序设计语言简介本文将介绍10多种不同的程序设计语言,以及如何下载它们的免费的编译器,(注意,是免费,而不是盗版),如果下载或者安装有问题,可以给我发邮件:
ruoyu0088@sohu.com
20 年后,我们用什么样的语言?也许现在谁都不好回答,20年前的程序员们会告诉你用汇编吧,今天人们也许会告诉你用c语言(c++?)吧。那么20年后呢,也许不是c语言了吧。下面都是所谓的非主流语言,不过它们的设计思想、所能够完成的功能,绝对不比c语言差。也许将来它们会成为主流,也许不会,可是不管怎样,它们都有自己的闪光之处。
---〉你要么站在电脑的硬件上编程,要么站在巨人的肩膀上编程,请选择吧。
*******Prolog**********
人工智能领域常用的语言,开发自然语言分析,专家系统,以及所有和智能有关的程序,都非常拿手。可以到我的主页来学习这门语言 [url]http://cdtzx.go.163.com[/url]
----visual prolog
[url]http://www.visual-prolog.com[/url]
顾名思义,这是一个可以制作界面的Prolog,有试用版本下载,大概20M左右。这个prolog版本需要对谓词以及数据进行声明,就像C语言一样。因此在使用的时候比较复杂,不过更加适合编制较大的程序。编译出来的程序可以直接运行。
----amzi prolog
[url]http://www.amzi.com[/url]
这个prolog版本包含解释器、编译器,不过编译出来的程序不能够直接运行,需要运行器运行。可以很方便的和其它语言(例如visual
basic,java,C,CGI)连接,开发智能程序。解释器的运行效率较低。它所说使用的语法体系和visual
prolog不同,程序需要进行适当的修改才能够在visual prolog中运行。
----SWI-Prolog
[url]http://www.swi.psy.uva.nl/projects/SWI-Prolog/[/url]
我没有怎么使用过这个版本的prolog解释器,不过它的运行速度要比amzi
prolog的解释器快,和amzi的编译之后的程序差不多快,如果下载图形软件包XPCE的话,还可以开发有界面的程序。它的语法和amzi
prolog相同,程序可以通用,不过内部谓词有些不同,有时候需要修改一下。
----Turbo prolog
[url]http://magicpage.myetang.com/[/url]
Dos版本的prolog,有开发界面,可以编译成可执行文件,语法和visual-prolog相同,不过内部谓词有许多出入。
----B prolog
[url]http://www.cad.mse.kyutech.ac.jp/people/zhou/index.html[/url]
好像是中国人开发的prolog软件,据说比其它的prolog运算速度都要快,我曾经在linux下面使用过这个prolog,也有window版的,不过没有什么集成开发环境。语法和其它的几个都不太相同,需要适当的修改程序才能够在此环境下运行。此prolog提供了许多测试速度的解谜题的程序,这个版本的prolog支持constraint程序设计。
----strawberry prolog
[url]http://www.dobrev.com[/url]
1兆的容量,包括完整的开发界面,帮助,例程,提供了几个棋类游戏的源程序。可以直接开发有界面的prolog程序,共享版不能够编译,就解释执行吧
*********Lisp*******
人工智能语言的老大哥。语言格式只有一个形式:列表,所以也叫做表处理语言,这可不是一般的表,是可以包容任意结构的表,有了它,你还用c语言来写链表,二叉树的程序么?学习数据结构不妨使用lisp,让你更加关心算法,而不是数据如何在计算机内部表达。
----xemacs
[url]http://www.xemacs.org[/url]
与著名的guns emacs编辑器的起名,并且界面更加友善,内带emacs lisp, 和许多使用lisp编写的工具软件,例如calc,
是一个功能强大的计算器,支持符号运算,有全部的源程序,如果能够好好研究这些源程序,收获一定不小。
----Allegro CL
common lisp
[url]http://www.franz.com[/url], windows下的common lisp集成开发环境, 60天试用。
----lisp work
common lisp
[url]http://www.xanalys.com/[/url] 无限期使用,没有任何功能限制
*****functional language****
这是一类语言,叫做函数型程序设计语言。是一种非常高级的语言。一种基于λ演算和在70年代后期才发展起来的新语言类型。大多数程序设计语言明显地规定要执行操作的次序。次序的详细规定是很需要的,因为语言的语句对程序的变量有“作用”,如果改变这些作用的次序,就可以改变产生的最后值。但是函数型语言却没有这种性质。在这个意义上,函数型语言能建立可计算性的数学公式模型。让我们来看一个简单的例子:
qsort :: [a] -> [a] | Ord a
qsort [] = []
qsort [a:xs] = qsort [x \\ x<-xs | x<-xs | x>=a]
这段程序就是快速排序的代码,你看有多么简洁,并且它的这个qsort可以对任何类型的数据进行排序(只要这种数据可以比较大小)。想读懂上面的程序么?那么下载下面的clean,
或者haskell,好好研究吧,祝你有新的发现。
----clean
[url]http://www.cs.kun.nl/~clean/[/url]
并行的函数型语言,可以把源程序编译成exe文件,带有丰富的库,从tcp/ip, 到界面设计,到游戏开发,无一不全。
----haskell
[url]http://www.haskell.org/hugs/[/url]
hugs是haskell的免费编译器,语法和clean相似,不过是解释执行,因此易于学习。
---caml
[url]http://caml.inria.fr/[/url]
又一个函数型语言。
**********mozart oz*********
[url]http://www.mozart-oz.org[/url]
20 年后,我们用什么样的语言?也许现在谁都不好回答,20年前的程序员们会告诉你汇编是最棒语言,今天人们也许会告诉你用c语言(c++?)_吧。那么20
年后呢,也许不是c语言了吧。世界上许多程序语言的研究机构都在开发下一代的语言,mozart oz也可以算是其中之一吧。
mozart oz
是具有魔力的语言。它融合了目前几种流行的程序设计思想,我们叫它多范式语言。它是面向对象的语言,它是函数型的语言,它是约束逻辑的语言,它是并发式的语言,它还是分布式的语言,几句话很难概括它的功能。最好去它的网站看看吧,下载一个慢慢研究?
他使用emacs作为开发界面,因此你首先需要安装emacs for windows(也可以在mozart的网上找到,也可以去[url]www.gnus.org[/url]去找),
如果你安装了emacs 那么你也就同时获得了emacs lisp, 呵呵,收获不小。
为了提起您的兴趣,请思考如下的问题如何编程解决,然后你可以在mozart中找到惊人简单的解决方案。
15个人每天出去玩,每天分为5组,每组3人,玩一个星期,使得任何两个人都曾经在一组中玩过,你如何安排?
*********J*****************
[url]http://www.jsoftware.com[/url]
不要和java搞混淆了。它是一种面向阵列的语言,也就是说矢量,矩阵,以及高次数组都是它的最基本的数据类型,J中引入了大批量的运算符,以及独特的算式分析方法,大幅度的扩展了数学算式的表达能力。
例如如果你要算从1加到100, 用c怎么做? J的程序是:+/i.100
对,就这么短,一个表达式解决了问题,事实上,使用表达式编写出来的程序异常简洁,虽然初看上去很难读懂,一旦掌握了J语言,你就会发现,原来你可以用只有c语言1/20的字符表达同样的功能。
*******forth***************
[url]http://www.forth.org/compilers.html[/url]
forth是一种可扩展的,交互式的语言。最初为小型的嵌入式电脑设计的,现在它几乎可以在任何主流的芯片上运行。 在电子表格,专家系统,
多用户数据库,和分布式实时控制系统中有广泛的应用。
表面来看,forth是一种基于堆栈的概念机。例如如果要计算 (3+4)*5 ,我们的程序就是:3 4 + 5 * .
首先把3和4入堆栈,然后调用+子程序,+把堆栈的最顶上两个元素取出(也就是3和4)进行加法运算,然后把结果入堆栈,然后把5入堆栈,然后调用*子程序,把最顶的2个元素,也就是7和5取出,并进行乘法运算,然后把结果入堆栈,最后的.把结果从堆栈中取出。事实上这是一种简单有效的概念机。当然forth远远不止这些,它有什么样的功能,就由你去发掘了。
*******Logo*************
被称为最佳的启蒙语言,事实上它的功能远远不止启蒙这么简单。一切别的语言能够完成的它也能够完成,只是更加简洁一些,通常logo是使用lisp编写的,我们就可以想象它的高度灵活性了。
----MSWlogo
[url]http://www.softronix.com/[/url]
这个网站还有个逻辑数字电路模拟的软件,很有意思,再也不用为什么触发器 门电路之类的发愁了。
******python***************
[url]http://www.python.org[/url]
python是一种解释型 交互式 面向对象的语言,我们经常拿它来和Tcl Perl Scheme
Java来比较。它有非常清晰的语法,有模块,有类,异常处理,高级的动态数据结构。它比perl更加易学,功能更加强大。

推荐阅读
  • Python与R语言在功能和应用场景上各有优势。尽管R语言在统计分析和数据可视化方面具有更强的专业性,但Python作为一种通用编程语言,适用于更广泛的领域,包括Web开发、自动化脚本和机器学习等。对于初学者而言,Python的学习曲线更为平缓,上手更加容易。此外,Python拥有庞大的社区支持和丰富的第三方库,使其在实际应用中更具灵活性和扩展性。 ... [详细]
  • 在进行网络编程时,准确获取本地主机的IP地址是一项基本但重要的任务。Winsock作为20世纪90年代初由Microsoft与多家公司共同制定的Windows平台网络编程接口,为开发者提供了一套高效且易用的工具。通过Winsock,开发者可以轻松实现网络通信功能,并准确获取本地主机的IP地址,从而确保应用程序在网络环境中的稳定运行。此外,了解Winsock的工作原理及其API函数的使用方法,有助于提高开发效率和代码质量。 ... [详细]
  • Java中高级工程师面试必备:JVM核心知识点全面解析
    对于软件开发人员而言,随着技术框架的不断演进和成熟,许多高级功能已经被高度封装,使得初级开发者只需掌握基本用法即可迅速完成项目。然而,对于中高级工程师而言,深入了解Java虚拟机(JVM)的核心知识点是必不可少的。这不仅有助于优化性能和解决复杂问题,还能在面试中脱颖而出。本文将全面解析JVM的关键概念和技术细节,帮助读者全面提升技术水平。 ... [详细]
  • JVM参数设置与命令行工具详解
    JVM参数配置与命令行工具的深入解析旨在优化系统性能,通过合理设置JVM参数,确保在高吞吐量的前提下,有效减少垃圾回收(GC)的频率,进而降低系统停顿时间,提升服务的稳定性和响应速度。此外,本文还将详细介绍常用的JVM命令行工具,帮助开发者更好地监控和调优JVM运行状态。 ... [详细]
  • 深入解析 C 语言与 C++ 之间的差异及关联
    深入解析 C 语言与 C++ 之间的差异及关联 ... [详细]
  • 掌握DSP必备的56个核心问题,我已经将其收藏以备不时之需! ... [详细]
  • 《软件测试精要》深度解析与实战经验分享
    《软件测试精要》深度解析与实战经验分享,系统梳理了软件测试的核心概念与关键原则,结合实际项目中的测试经验和教训,详细探讨了测试分类、测试权衡要素、测试效率、测试覆盖率以及测试框架的引入和用例设计等内容,为读者提供了全面而实用的指导。 ... [详细]
  • 本文详细探讨了C语言中`extern`关键字的简易编译方法,并深入解析了预编译、`static`和`extern`的综合应用。通过具体的代码示例,介绍了如何在不同的文件之间共享变量和函数声明,以及这些关键字在编译过程中的作用和影响。文章还讨论了预编译过程中宏定义的使用,为开发者提供了实用的编程技巧和最佳实践。 ... [详细]
  • 本文详细介绍了如何在Linux系统中搭建51单片机的开发与编程环境,重点讲解了使用Makefile进行项目管理的方法。首先,文章指导读者安装SDCC(Small Device C Compiler),这是一个专为小型设备设计的C语言编译器,适合用于51单片机的开发。随后,通过具体的实例演示了如何配置Makefile文件,以实现代码的自动化编译与链接过程,从而提高开发效率。此外,还提供了常见问题的解决方案及优化建议,帮助开发者快速上手并解决实际开发中可能遇到的技术难题。 ... [详细]
  • 从 Java 过渡到 Ruby,不仅是一次编程语言的转换,更是一段技术进阶的旅程。本文将深入探讨两种语言在语法、生态系统和开发模式上的差异,帮助开发者顺利实现转型,并在新的环境中高效地编写高质量代码。 ... [详细]
  • 西北工业大学作为陕西省三所985和211高校之一,虽然在农业和林业领域不如某些顶尖院校,但在航空航天领域的实力尤为突出。该校的计算机科学专业在科研和教学方面也具有显著优势,是考研的理想选择。 ... [详细]
  • 本文详细介绍了在Ubuntu操作系统中使用GDB调试工具深入分析和调试标准库函数`printf`的源代码过程。通过具体步骤和实例,展示了如何设置断点、查看变量值及跟踪函数调用栈,帮助开发者更好地理解`printf`函数的工作原理及其内部实现细节。 ... [详细]
  • 欢迎来到Netgen新时代:探索网络生成技术的无限可能
    欢迎进入Netgen的新时代:探索网络生成技术的无限潜力。本文将详细介绍如何编译下载的Netgen源代码,生成Netgen程序,并提供开发所需的库nglib。此外,还将探讨Netgen在现代网络设计与仿真中的应用前景,以及其在提高网络性能和可靠性方面的关键作用。 ... [详细]
  • 深入解析Spring框架中的双亲委派机制突破方法
    在探讨Spring框架中突破双亲委派机制的方法之前,首先需要了解类加载器的基本概念。类加载器负责将类的全限定名转换为对应的二进制字节流。每个类在被特定的类加载器加载后,其唯一性得到保证。然而,这种机制在某些场景下可能会限制灵活性,因此Spring框架提供了一些策略来突破这一限制,以实现更加动态和灵活的类加载。这些策略不仅能够提升系统的可扩展性,还能在复杂的运行环境中确保类的正确加载和管理。 ... [详细]
  • ZeroMQ在云计算环境下的高效消息传递库第四章学习心得
    本章节深入探讨了ZeroMQ在云计算环境中的高效消息传递机制,涵盖客户端请求-响应模式、最近最少使用(LRU)队列、心跳检测、面向服务的队列、基于磁盘的离线队列以及主从备份服务等关键技术。此外,还介绍了无中间件的请求-响应架构,强调了这些技术在提升系统性能和可靠性方面的应用价值。个人理解方面,ZeroMQ通过这些机制有效解决了分布式系统中常见的通信延迟和数据一致性问题。 ... [详细]
author-avatar
手机用户2602898855
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有