What language do we use? Maybe no one can answer this question now. Programmers 20 years ago will tell you how to use assembler. Today, people may tell you how to use C ++ ?) Right. So 20 years later, maybe it's not a C language. The following are so-called non-mainstream languages, but their design ideas and functions can be completed are definitely no worse than the C language. They may become mainstream in the future, maybe not, but they all have their own flashes.
---> You can either program on computer hardware or on the shoulders of giants. Please choose.
Common languages in the field of PROLOG artificial intelligence, developing natural language analysis, expert systems, and all intelligent-related programs are very good. You can go to my homepage to learn the language http://cdtzx.go.163.com/
Visual Prolog
Http://www.visual-prolog.com/as the name suggests, this is a interface can be made Prolog, trial version download, about 20 m. This Prolog version must declare the predicates and data, just like the C language. This is complicated to use, but it is more suitable for compiling large programs. Compiled programs can be run directly.
Amzi! PROLOG
Http://www.amzi.com/This Prolog version contains the interpreter, compiler, but the compiled program can not run directly, need to run the runner. You can easily connect to other languages (such as Visual Basic, Java, C, CGI) to develop intelligent programs. The interpreter is less efficient. The syntax system is different from Visual Prolog, and the program must be modified to run in Visual Prolog.
SWI PROLOG
Http://www.swi-prolog.org/I have never used this version of PROLOG interpreter, but it runs faster than the interpreter of amzi Prolog, and is almost as fast as the compiled program of amzi, if you download the graphic software package xpce, you can also develop an interface program. Its syntax is the same as amzi Prolog, and the program can be general, but the internal predicates are somewhat different and sometimes need to be modified.
Turbo Prolog
If necessary, you can send me an email with the DOS version of PROLOG, which has a development interface and can be compiled into executable files. The syntax is the same as that of visual-Prolog, but there are many differences between internal predicates.
B PROLOG
Www.cad.mse.kyutech.ac.jp/people/zhou/index.html seems to be a Chinese-developed Prolog software. It is said that it is faster than other Prolog operations. I have used this Prolog in Linux and Windows version, however, there is no integrated development environment. The syntax is not the same as the other ones. You need to modify the program to run it in this environment. This Prolog provides many programs to solve the problem of test speed. This version of PROLOG supports the constraint programming.
Strawberry PROLOG
Http://www.dobrev.com/1 MB capacity, including the complete development interface, help, routines, provides the source program for several board games. You can directly develop a Prolog program with an interface. If the shared version cannot be compiled, explain and execute it.
Sicstus PROLOG
Http://www.sics.se/sicstus/ sicstus Prolog is undoubtedly the best Prolog version, although it is not free software, but can download to a trial version with time constraints, in addition, the modification time can also be used indefinitely (the modification time will not be faulty after expiration ). Its syntax is similar to amzi PROLOG and belongs to the ISO standard. It has a rich set of internal stomach words and provides a wide range of libraries, such as collections, graphs, and weighted graphs. Supports UNIX, windows, and other operating system platforms. Supports constraint programming.
The eldest brother of Lisp Artificial Intelligence Language. The language format has only one form: list, so it is also called the table processing language. This is not a common table. It can accommodate any structure. With it, you can also use the C language to write a linked list, binary Tree programs? To learn the data structure, you may wish to use lisp, so that you are more concerned with algorithms, rather than how data is expressed within the computer.
Xemacs
Http://www.xemacs.org/named with the famous guns emacs editor, and the interface is more friendly, embedded with Emacs lisp, and many tool software written using lisp, such as calc, is a powerful calculator, it supports symbol operations and has all source programs. If you can study these source programs well, you will surely get a lot of attention.
Common LISP
Http://www.franz.com/Windows Common Lisp integrated development environment, 60 days trial. Lisp work
Common LISP
Http://www.xanalys.com/unlimited use, no functional limitations Scheme
This is a dialect of lisp, which is more standardized than lisp.
MIT Scheme
Http://mitpress.mit.edu/sicp/ here is a very good book about programming technology, the language used is LISP/scheme. Here, you can also download the scheme interpreter, which basically imitates Emacs. Drscheme
Http://www.drscheme.org/drscheme is an interactive integrated development environment in the scheme language. It is very suitable for teaching. Supports multiple language levels (beginner, intermediate, advanced, and so on), rich interface libraries, and TCP/IP support. Includes detailed help and tutorials.
Function language is a type of language called a functional programming language. Is a very advanced language. A new language type that was developed only in the late 1970s s based on the lambda algorithm. Most programming languages clearly define the sequence of operations to be performed. Order details are required because language statements have a "function" on program variables. If you change the order of these variables, you can change the final value. However, functional languages do not. In this sense, functional languages can establish computational mathematical formula models. Let's look at a simple example:
Qsort: [a]-> [a] | ord
Qsort [] = []
Qsort [: xs] = qsort [x // x <-xs | x <A] ++ [a] ++ qsort [x // x <-xs | x> = A]
This program is the code for fast sorting. You can see how simple it is, and its qsort can sort any type of data (as long as this data can be relatively large ). Want to read the above program? Download the following "clean" or "Haskell" and study it carefully. I wish you a new discovery.
Clean
Http://www.cs.kun.nl /~ The clean/parallel function language can compile the source program into an EXE file with a wide array of libraries, from TCP/IP to interface design to game development.
Haskell
Http://www.haskell.org/hugs/ hugs is a free compiler for Haskell, similar to the clean syntax, but it is easier to learn to explain the execution.
O 'caml
Http://www.ocaml.org/Another functional language, the speed is very fast, the speed of the compiled program and the C made almost fast.
Mozart Oz
Http://www.mozart-oz.org/neural art Oz is a magic language. It integrates several popular programming ideas. We call it a multi-paradigm language. It is an object-oriented language. It is a functional language. It is a constraint language. It is a concurrent language. It is also a distributed language, it is difficult to summarize its functions in a few words. It is best to go to its website to see how to download a study? He uses Emacs as the development interface. Therefore, if you want to use the language in Windows, you must first install Emacs for Windows (you can also find it on the Internet of javasart or www.gnus.org, you can also install xemacs). If you install Emacs, you will also get Emacs lisp at the same time. To raise your interest, think about how to program and solve the following problems. Then you can find amazing and simple solutions in javasart. 15 people go out to play each day. They are divided into five groups each day. Each group has three people for a week, so that any two people once played in one group. How do you arrange this?
J Software
Http://www.jsoftware.com/don't confuse with Java. J is an array-oriented language. That is to say, vector, matrix, and high-order arrays are the most basic data types. j introduces a large number of operators, as well as its unique computational analysis method, it greatly expands the expression ability of mathematical expressions. For example, if you want to calculate from 1 to 100, how do you use C? J's program is: +/I .100 pairs, which is so short that an expression solves the problem. In fact, the program compiled using an expression is very simple, although it seems difficult to understand at first, once you have mastered the J language, you will find that you can use only 1/20 characters in the C language to express the same function.
Forth
Http://cdtzx.51.net/pimage/www.jsoftware.com forth is a scalable, interactive language. Initially designed for a small embedded computer, it can now run on almost any mainstream chip. It is widely used in workbooks, expert systems, multi-user databases, and distributed real-time control systems. On the surface, forth is a stack-based concept machine. For example, if you want to calculate (3 + 4) x 5, our program is: 3 4 + 5 *. first put 3 and 4 into the stack, then call + subroutine, + take out the top two elements of the stack (that is, 3 and 4) for addition operation, and then import the result into the stack, then, call * sub-program to extract the top two elements, namely 7 and 5, and perform multiplication. Then, the result is written into the stack, last. extract the result from the stack. In fact, this is a simple and effective concept machine. Of course, forth is far more than that. You can find out what features it has.
Logo
It is called the best language of enlightenment. In fact, its function is far more simple than that of enlightenment. What other languages can accomplish is also more concise. Generally, the logo is written in LISP, and we can imagine its high flexibility.
MSW logo
Http://www.softronix.com/This website also has a logical digital circuit simulation software, very interesting, no longer why trigger door circuit and so on worried.
Star logo
According to the http://www.media.mit.edu/starlogo starlogo website, starlogo is a programming Modeling Environment used to study the operating mechanism of distributed systems. A decentralized system refers to a system that is organized without an organizer and coordinated with no coordinators. With starlogo, you can model and observe many phenomena in the real world, such as birds, transportation, ant financial, and market economy. Starlogo is a special logo language. Like the traditional logo language, you can draw images by sending commands to turtles. In addition, starlogo allows you to control thousands of turtles concurrently and set different behavior patterns for these turtles. Starlogo is very suitable for AI research.
Pythonhttp: // www.python.org/python is an interpreted, interactive, and object-oriented language. We often use it to compare it with TCL Perl scheme Java. It has clear syntaxes, modules, classes, exception handling, and advanced dynamic data structures. It is easier to learn and more powerful than Perl. Python uses dynamic data structures. That is to say, variables do not have data types. This is very similar to lisp. in Python, everything is an object, a string, a function, and a class and a module. This object-oriented concept is similar to Smalltalk. It also comes with a rich module library. For beginners, python is suitable for learning programming ideas without causing headaches for complicated syntaxes. For advanced users, python is the best scripting language. It can easily embed a software into it as an extension of that software, for example, the famous 3D design software blender can use an embedded Python script language to design complex animations.
Smalltalk is the originator of an object-oriented programming language and is booming. It is a pure object-oriented language, and even integers are objects. The open environment is also very integrated. If you are interested, you can download it from the website. It is absolutely refreshing. For example,
In smalltalk, cyclic statements send messages to an integer object:
10 timesrepeat: [Teresa moveright: 10].
Timesrepeat: indicates the message name, and 10 indicates the integer object that receives the message,
[Teresa moveright: 10]. It is a message parameter,
This is where Smalltalk is powerful. It can pass a program as a parameter to an object !!!
Squeak Smalltalk
Http://www.squeak.org/it's a very interesting Smalltalk version that looks like simulating another complete Window System on your computer, where the window is more interesting and you can even rotate it, I don't know, but I can only find that there is such a wonderful language and a wonderful development environment. About 10 MB
Cincom Smalltalk
Http://www.cincom.com/scripts/smalltalk.dll/home.ssp this version is more practical, with detailed help, can develop real windows program. About 30 m
Doldolphin Smalltalk
Http://www.object-arts.com/free Smalltalk version provided here is less than 3 m, if you want to try this language first, you can download this.
Prographhttp: // 192.219.29.95/prograph may be the only visual language in the world. Here, the program is represented by a chart, and the editing program is used to draw a chart. I didn't see the advantages of doing so, but it is really helpful for beginners, and it is always good to try new things. Maybe this is also a development direction. You can download a free version from the above website, which can be explained and run, but cannot be compiled. The size is about 27 MB.
The icon language has nothing to do with the icon. Do not misunderstand it. This is a magical language. Although it has not been updated for several years, I think many of its ideas are advanced. Http://www.cs.arizona.edu/icon/ is similar to C, Pascal in syntax form, but more powerful, the following are some of its characteristics: icon expression can produce a series of values, rather than a value. The target-oriented evaluation method can automatically search for the correct answer (this is similar to Prolog). The powerful string processing function is of course, as for the linked list, set, and even Dictionary (dictionary, it can also be called a hash table) is its basic data type. The memory is also automatically managed, so you don't have to worry about trivial issues such as memory leakage or overflow. He is particularly suitable for programming in text analysis, text editing, data formatting, artificial intelligence, expert systems, and symbol operations. Below are some simple examples:
Every F (I to J) --- icon
For (k = I; k <= J; k ++) f (k); --- C
Every write (find ("or", sentence) --- outputs the location of all substring or in sentence
Basicbasic is used to search for a large number of resources on the Internet. This section describes a basic that is most suitable for programming games. Http://www.blitzbasic.com/demo download, 2d, 3D are available, can not be compiled into EXE, but can explain the execution, 3D version limit the number of use, if you need to crack, can send me an email. This basic is specially designed for game development. If you want to quickly develop a game, please download it. :) The main functions of 2D are: high-speed rendering of blocks, images, circles, lines, and other graphics and images support popular image formats: BMP, JPG, and PNG dual-buffer rendering of smooth animation collision detection, accurate-to-point games can be run on Windows or full screen at high speed!
C & C ++ returns to C language. After all, this is the most popular language currently. If you do not want to use piracy, do not want to install more than 100 MB of garbage (most beginners cannot use all the functions of Borland C ++ builder or visual C ++, but only to learn the C language itself ), I don't want to use the TC Program under the DOS edit face, so try the following stuff. The next load of the absolute value of 3 m.
KP
Http://www.cs.virginia.edu /~ Lcc-win32/index.html
Dev-C ++
If you want to download the C ++ compiler.
Tiny CC
[Zoomq supplement, the information you just saw!]
The smallest C-language compiler in GNU/Linux. Tiny C compiler does not
It is just a C-language compiler in the general sense. It also allows users to use C-language for quick Script Programming just like scripting.
Http://www-900.ibm.com/developerWorks/cn/linux/l-tinyc/part1/index.shtml
[Zhouting supplement]
Underc
This is the interpreted execution environment of C ++, including Windows and Linux versions. With the source code.
Http://home.mweb.co.za/sd/sdonovan/underc.html