In Partnership with AOL Search
 
ABC is an interpreted, procedural programming language originally designed for easy learning, and education use, to replace BASIC. Guido van Rossum worked extensively on ABC, at the CWI, the National Research Institute for Mathematics and Computer Science, Netherlands. But he wanted a language with more features, object-orientation, flexibility, and extensibility. So he took many ideas and traits of ABC, especially the syntax, and created the Python language.
This category holds links for books, paper or online, on the Ada programming language and very closely related issues.
Anything related to the Ada programming language has a home here.

This category is currently undergoing a major overhaul, so please just overlook the unfinished state.
Algol 68 is a procedural language designed under the auspices of IFIP Working Group 2.1 as a successor to Algol 60. The language is formally defined in the Revised Report on the Algorithmic Language Algol 68 by A. van Wijngaarden et al using a VW (2 level) grammar. It is designed to be as orthogonal as possible and is block structured via the constructs: if - then - else - fi, case - in - out - esac, from - by - from - to - while - do. It is strongly typed with user definable modes and automatic de-referencing and coercion. Memory management is automatic, via garbage collection. Transput (I/O) is defined in the language and includes comprehensive formatting abilities. It did not gain widespread popularity, possibly due to the price/availability of compilers, or its perceived complexity. In some ways it was ahead of its time and some features have influenced subsequent languages such as C++.
Please consider very carefully if your submitted link would not be better in one of the subcategories.
APL is a high-productivity computing tool which is concise, has a consistent mathematical foundation, is intrinsically an array processing language, and has been developed over a period of more than 30 years. It is distinguished by its simple and consistent rules, a large set of built-in capabilities, powerful facilities for defining new operations, and a general and systematic treatment of arrays. Major APL users include financial institutions, insurance companies, engineers, scientists, mathematicians and teachers. Applications for which it is used range from pure mathematics through engineering calculations and on to free-form text retrieval.
Acceptable articles include specifications, documentation, tutorials, and sample code.
OpenGL's low-level (assembly) shading language. All high-level OpenGL shaders compile to ARB before execution.
Please only submit sites dealing mainly with assembly language for the Zilog z80 processor family.

Don''t submit if you''re site is under construction or not working properly.

If your site contains restrictions of any kind, please include a short notice.

Please submit only to one category. If you''re in doubt whether this is the right one for you, submit your site and we''ll decide where it fits best.

There is currently no description created for this category.
Please submit only sites devoted to Blitz Basic in this category. Before your site is added to this category, it will be authenticated by one of the editors. The editors'' decision is final.
There is currently no description created for this category.
BETA is an object-oriented language with strong support and comprehensive facilities for procedural and functional programming. It is a direct descendant of the Simula series of languages. One of the two original designers of the Simulas was Kristen Nygaard. He was on BETA's design team.
programming language sites. is a high-level programming language for developing interactive Web services. Complete specifications are compiled into a conglomerate of lower-level technologies such as HTML, CGI Scripts, JavaScript, HTTP Authentication, and Java Applets.
Brainfuck is one of the most famous esoteric programming languages that uses only eight commands which are represented by eight symbols. It is a Turing-complete language but with obfuscated and unstructured code. Not practically useful but even the implementation of a simple program can turn into a brainteaser.
This category is for sites about the C programming language. Please take a minute and see which C subcategory to submit your link(s) to. Otherwise, your submission may not get processed for a long time.
C is among the most common programming languages used today. It was developed by the co-inventors of Unix, Brian Kernighan & Dennis Ritchie, of Lucent Technologies (then AT&T Bell Labs). C is low-level, weakly typed, static, and non-modular.
This category is for compilers that compile only or mainly the C++ language, and no other language. C++ is a superset of C, so all C++ compilers can compile C too. Submit C-only compilers to C/Compilers.
Embracing all aspects of C++ software development including but not limited to compilers, tools, freeware class libraries, STL, and methodologies.
Please do not submit books that deal with ASP or .Net topics unless there are C# codes used as examples.
C# (C sharp) is a Java-like, interpreted, object-oriented, C syntax programming language by Microsoft. It is intended to compete with Java.
Cecil is a pure object-oriented, prototype-based language made to support fast building of high-quality, extensible software. It combines multi-methods with a simple classless object model (prototypes), a kind of dynamic inheritance, modules, and optional static type checking. Instance variables are accessed only via messages, allowing instance variables to be replaced or overridden by methods and vice versa. A predicate objects mechanism allows objects to be classified automatically based on run-time (mutable) state. The static type system distinguishes between subtyping and code inheritance, but enables these two graphs to be described with one set of declarations, streamlining the common case where the two graphs are parallel. It has a fairly flexible form of parameterization, with explicitly parameterized objects, types, methods, and implicitly parameterized methods related to the polymorphic functions commonly found in functional languages. By making type declarations optional, it aims to allow mixing of and migration between exploratory and production programming styles. It supports a module mechanism that lets independently-developed subsystems be encapsulated, letting them be type-checked and reasoned about in isolation despite presence of multi-methods and subclassing. Objects can be extended externally with added methods and instance variables, often encapsulated in separate modules, supporting a kind of role-based or subject-oriented programming style.
Acceptable articles include specifications, documentation, tutorials and sample code.
Cg is nVidia's portable shading language, supported by OpenGL and D3D.
This category is for only CobolScript related sites. Cobol related sites must be placed to Cobol category.
CobolScript is a scalable, cross-platform, interpreted programming language, and development environment.
This is a category for sites and Web pages on the Cocoa visual prgramming lanaguge. This is NOT the place to submit links about the Cocoa libraries found in Mac OS X. Those are likely found in Computers/Systems/Apple/Macintosh/Development/Mac_OS_X.
Cocoa is a visual programming language developed at Apple's R&D department in the early through mid 1990s. It lets users (even kids) program by giving objects example rules that those objects then follow when run. Thus, users are able to program without having to gain an abstract understanding of what they are trying to make their objects do.
This category holds web pages and sites that compare two or more programming languages. To qualify for this page, submissions must be about, and of interest to, those interested in, more than one language. Submissions on converting from one language to one other belong in the target language''s category, those on converting equally, bidirectionally, between two or more languages belong in suitable translating or cross compiling categories.
This category holds web pages and sites that compare two or more programming languages, on one or more variable, via text, feature lists, tables, code samples, equations, pictures, jokes, or any other means, sensible or nonsensical. To qualify for this page, submissions must be about, and of interest to, those interested in, more than one language. On this page, languages are arranged in three groups and levels: 1) Top group: issues spanning multiple unrelated languages. 2) Middle group: components, frameworks. 3) Bottom group: specific languages, with their own category.
To this category, please submit only links on or related to compiled programming languages. Submit links on compilers to the Compilers category.
Compiled programming languages are those that historically usually use compilers to compile source code, to output object (machine) code, usually in batches (batch mode) in a four step/phase edit-compile-link-debug cycle. This makes programming slower and less productive, but usually produces faster running programs (object code). JIT (Just In Time, or dynamic) compilers act like interpreters, but compile (not interpret) source code as they run. They can turn interpreted languages into compiled ones, and can be written for any language. But the basic difference persists: interpreted languages, and JIT compilers, make more decisions, do more work, at runtime than compiled languages. On this page, languages are arranged in three groups and levels: 1) Top group: issues spanning multiple unrelated languages. 2) Middle group: types or classes of languages. 3) Bottom group: specific languages, with their own directory category.
Concurrent programming languages are characterized by language level support of programming with more than one process.
Constraint programming was invented, or discovered, in the early 1960s. A main idea in constraint programming is to tell a computer what you want without specifying an exact procedure and/or process to follow. Constraints are relations that must be satisfied; examples: a line must remain horizontal, a component in an electrical circuit simulation must obey Ohm's Law, one column in a web page table must be at least twice as wide as another. Constraints have been used in many types of languages and systems, especially in user interface toolkits, planning and scheduling, and simulation. It is often easy to write constraints where the answer is hard to compute. Example: In constraint programming, X * X = 2 will find X even if you don't tell a program exactly how to do it. For this, it solves by iteratively changing X and converging on an answer, without knowing how to do the square root algorithm; this was Isaac Newton's method for finding square roots. In programming and mathematics, constraints can be algebraic or logical (Boolean): often an equality or inequality relation, between the values of one or more variables, often between two; example: x > 2 is a constraint on x. Constraint satisfaction is the process of assigning values to variables so all constraints are true. In programming, constraints are relationships that are declared once, and then maintained automatically by a system. Constraints are automatically evaluated when needed, rather than needing programmers to call them when needed. They should have no side effects. Constraints can also serve as a type of inheritance. Constraint programming uses methods from mathematics, artificial intelligence, and operations research. It allows fast development, economic maintenance, and high performance. Directly representing a problem as constraints results in shorter, simpler programs, easier to understand and adapt to changing needs. On this page, languages are arranged in three groups and levels: 1) Top group: types or classes of languages. 2) Middle group: languages for which there are more than one instance of a language of this name/type, a language family. 3) Bottom group: specific languages, individual instances; there is only one language of this name/type.
Please submit only links to the homepage of Open Source projects in the Curl Content Language.
New software technology to help programmers develop and deploy the next generation of Web pages and applications. Curl's software technology provides full application-level functionality and a substantially richer, more interactive experience for the Web user. The technology, which offers real-time execution of all Web content from simple pages to complex computational applications, can significantly reduce the long downloads typically associated with highly interactive and dynamic Web pages.
Curly bracket programming languages are those which syntax is highly influenced by the syntax of the C language.

Generally, they share several syntactic features; use of:

Balanced brackets { and } also called "brace brackets" or simply "braces", to define blocks in their syntax or formal grammar.

Semicolons ; as statement terminators, not as separators.

Three-part "for" statement syntax.

Ignore whitespace: compilers or interpreters treat all contiguous, adjacent non-characters (tabs, spaces) as one blank space; also called free-form languages.

This category is for web pages and sites on the D programming language. Please take a moment and be sure your submission belongs here. Otherwise, it may not be processed for a long time.
D is a compiled, garbage collected, general purpose system and application programming language. It supports three programming models: imperative (function + data), object-oriented, and generic (template metaprogramming); making it a multiparadigm language. It is higher level than C++, but retains abilities to write low level, high performance code, and to interface directly with operating system APIs, and hardware, via an inline assembler. D is well suited to writing medium to large scale, million line programs, with teams of developers. D is easy to learn, more so for C/C++ and Java programmers, has many abilities to aid programmers, and is intended for aggressive compiler optimizing. It maximizes similarity to C/C++ language, processes, and tools, except where backward compatibility interferes with productive coding and more efficient compiling. The effort is lead by Walter Bright, who wrote or co-wrote many respected programs. Compilers: Zortech C/C++ that became Symantec C/C++ that is now Digital Mars C/C++, Northwest Software C, Datalight C, Zorland C, Visual Cafe Java, DMDScript (ECMA 262 (JavaScript) compiler/interpreter), ABEL (Advanced Boolean Expression Language). Games: Mattel Las Vegas Roulette, Empire: Wargame of the Century.
To this category please submit only links on general database programming language topics. Please submit links on specific languages or databases to the specific categories.
This category is on database programming languages, database-oriented languages, and very closely related environments and topics. Such languages are programming languages which only or main purpose is to facilitate database functions: development, management, queries, etc. This is a very large and growing field, especially important to businesses and some institutions. Some of these programming languages may not be in Computers/Programming/Languages but they are still powerful, and often widely used languages. Some are more general and are used with many brands and types of database, and some with only one brand of database.
DATABUS is a high level computer language designed for writing business oriented applications. In some respects it is like COBOL, but it has several sophisticated features not available in COBOL or other business languages. DATABUS is used to create highly interactive applications that contain friendly user interfaces, and processing programs that deal with the large data files typically found in business applications. It was created and named originally by Datapoint. DATABUS was accepted as an ANSI standard in December 1994. In the process, it was given the name PL/B because Datapoint refused to relinquish its trademark on the name DATABUS. It is still often referred to as DATABUS. The main developer now is Sunbelt Computer Systems, Inc.
Dataflow programming studies began in the 1970s, as the limits of von Neuman (normal) computers were found: such systems use an inherent control-driven programming model. Dataflow models are alternative to, and different from this, and are much studied and researched in many areas of basic computer science: computation models, programming languages, machine architecture, compilers, parallelism. Many early dataflow researchers thought dataflow would become a new and general model of computing, able to exploit all parallel aspects extant in general purpose programs, and that it would enable developing high-level languages where programmers need not manage all details of efficient program and data mapping on parallel machines. Most dataflow research and papers are on architecture and language aspects of dataflow models in fine-grained parallelism and program execution. Dataflow concepts exist in many aspects of normal computing, such as pipelining and multiple instruction issue techniques used in many RISC processors. Dataflow programming was once a promising approach to a new generation of high-performance computing, but still may be too immature to be a mainstream technology in general parallel computing, and is not much accepted and used in the high-performance community and industry, even though it has many benefits and unique traits that can be used in today's parallel software environment. Likely, von Neuman-based processors, on which current parallel technology is built, will dominate high-performance computing and applications for years to come.
Data structured languages are those in which the data structure is a main organizing principle, knowledge representation, model, for data and logic (code, programs) alike, in which both are stored and operated on, i.e., program data and logic are structured and operated on in the same way. They are generally well suited to reflection and introspection, and are generally more consistent in some ways, than many other languages. This makes them easier to learn, and to program in for the set of problems which naturally fits, maps to, that language's data structure, the type of data representation on which the language is based. Where this occurs, some types of programming, or programming some types of problems, becomes simpler, even trivial. For the set of problems which do not naturally fit a language's data structure, programming may be no easier than in other languages. For the set of problems which naturally conflict with a language's data structure, programming may be harder than in other languages. In programs written in some data structured languages, when an instance occurs of the data representation on which the language is based, then such instance is treated as a special case of quoted program. A similar concept based on consistency exists in some object-oriented languages, called "pure", which use a consistent object model: everything in them is treated uniformly as an object, from primitives such as characters and punctuation, all the way up to whole classes, prototypes, blocks, modules, etc. Three main classes of data structured languages exist, determined by the type of data structure on which they are based.

Array-based: APL, J.

List-based: Arc, Joy, Lisp (Logo, Scheme), Dylan, Tcl, TRAC.

Stack-based (open stacks): Forth, Poplog, PostScript. Some languages can statically link data inline with instructions. These can be considered data structured, in the most basic, primitive way. Some Assembly languages can do this. On this page, languages are arranged in three groups and levels: 1) Top: unrelated types or classes of languages. 2) Middle: related types or classes of languages. 3) Bottom: specific languages, with their own directory category.

Please submit websites offering Delphi cryptography to programmers as units, components, libraries or applications.

End-user cryptography products written in Delphi without source code are not programming resources and should be submitted to: Computers/Security/Products_and_Tools/Cryptography.

Many people consider Borland Delphi the best Rapid Application Development (RAD) development tool on the Market. With it, you can create Windows applications with minimal effort.
This category is only for programming language directories and collections. Preferably more than 10.

Reviews and comparisons must go to the Comparison and Review category.

This category is on programming languages with the proper name "E". Please take a moment and be sure your submission belongs here. Otherwise, it may not be processed for a long time.
This category is on programming languages with the proper name "E". So far, there are two, both Open Source. Wouter van Oortmerssen's Amiga E, an object-oriented, procedural, unpure functional language, common on Amiga. Main influences: C++, Ada, Lisp, etc. It has fast compiling, inline assembler, many integrated functions, strong modules, flexible types, quoted expressions, immediate and typed lists, parametric and object polymorphism, exception handling, inheritance, data-hiding, methods, multiple return values, default arguments, register allocation, fast memory management, unification, LISP-Cells, macro-preprocessing, powerful source code debugger, GUI toolkit, library linker, more. Description, readme, downloads, mail list. It is Freeware and Open Source. Mark S. Miller's E, a secure, distributed, pure-object platform and p2p (peer-to-peer) scripting language for writing capability-based Smart Contracts. It defines and implements a pure object model of secure distributed persistent computing. Its roots are Actor Model programming, KeyKOS operating system, and the Concurrent Prolog language. Kernel E is a minimalist lambda-language much like Scheme, and Smalltalk. These are some of the more potent and promising approaches and projects addressing security issues in software. It is Open Source.
To this category, please submit only links on languages which were created, and have as a main or major purpose, education and teaching about language concepts, design, programming, and/or larger, more general system issues; and/or supporting other types of education (networking, math, physics); languages existing solely or in large part, to educate. Submit links about education for specific languages to a category for such. Examples: Perl language education must go to a Perl category; Visual Basic education must go to a Visual Basic category.
This category is for programming languages which were created, and have as a main or major purpose, to educate and teach about language concepts, design, programming, and/or larger, more general system issues; and/or support other types of education (networking, math, physics); languages existing solely or in large part, to educate. These usually start out far simpler than more general, or widely used languages, but some grow greatly, become very powerful, and find use in business or science; examples: BASIC, Pascal, Python, Smalltalk. Mostly the links in this category point to other language categories and languages there. The only languages listed exclusively here are those for which no better or clearer category seems suitable.
Please submit only sites related with libraries for Eiffel, every eiffel compiler.
This category is on the Eiffel programming language. It is a compiled, pure object-oriented language (everything is an object, even characters), designed for extensive re-use, creating and distributing components, and to support software engineering practices, similar to the motives behind Ada, Ada95.
Please submit only web pages and sites related only to the elastiC programming language.
This category holds websites related to the elastiC programming language, which is high-level, object-oriented, interpreted, with a C syntax, portable bytecode compiling, dynamic typing, automatic fast garbage collection, strongly influenced by C, Smalltalk, Scheme, and Python.
This category is for sites related to the Erlang programming language and its applications. See Science/Math/Mathematicians for information on Agner Erlang, the mathematician. See Computers/Software/Industry-Specific/Telecommunications to find software for Erlang calculations for traffic management.
Erlang is a soft realtime, declarative programming language for building concurrent and distributed systems. Open source and commercial implementations are available for the operating systems: BSD, Linux, Solaris, VxWorks, Windows, and more.
Please only submit sites here that relate to the programming language Euphoria.
Euphoria is a programming language that is interpreted yet surprisingly fast, procedural, garbage collected (automatic memory management), with one public domain (open source) implementation, and designed to be simple, flexible, and easy to learn. So far, it runs only on 32-bit Intel x86 ported OSs: DOS, Windows; and Unix variants: FreeBSD, Linux.
This category holds links for books, paper or online, on the Forth programming language, and very closely related issues.
Forth: Very compact, fast, imperative programming language based on last-in first-out (LIFO) stacks. It can be characterized as an interpreted, stack-based, postfix notation, macro Assembly language. If stacks are an optimal representation for your problem, and you have tight hardware requirements, strongly investigate and consider Forth. Many implementations exist, free and commercial.
Fortress is a draft specification for a new programming language currently developed by Sun Microsystems. It is intended to be a successor to Fortran in areas such as numerical methods and scientific computing, although it is not based on Fortran in any way. It is inspired by various modern object-oriented and functional languages such as Java, NextGen, Scala, Eiffel, Self, Standard ML, Objective Caml, Haskell, and Scheme.
Very early pure-functional language invented by John Backus.
UserLand Frontier is a cross-platform content management system for Windows and Macintosh.
Functional programming is a style of programming emphasizing evaluating expressions, rather than executing commands. Functional languages are those supporting and encouraging programming in a functional style, where expressions are formed by using functions to combine basic values.
Functional programming is a style of programming emphasizing evaluating expressions, rather than executing commands. Functional languages are those supporting and encouraging programming in a functional style, where expressions are formed by using functions to combine basic values. On this page, languages are arranged in three groups and levels: 1) Top group: issues spanning multiple unrelated languages. 2) Middle group: types or classes of languages. 3) Bottom group: specific languages, with their own directory category.
This category holds links to programming languages and systems that support garbage collection (GC, gc), also called automatic or automated memory management or storage reclamation.
This category holds links to programming languages and systems that support garbage collection (GC or gc), also called automatic or automated memory management or storage reclamation. This frees programmers from having to manually allocate and deallocate memory for various reasons (e.g., dynamic objects), aids programming productivity, and reduces errors. Almost all interpreted languages are garbage collected, use GC. On this page, languages are arranged in three groups and levels: 1) Top group: types or classes of language where all instances of such languages have GC. 2) Middle group: types or classes of language where many instances of such languages have GC. 3) Bottom group: specific languages.
OpenGL Shading Language tools and source code
A category for the standard pure lazy functional language, Haskell.
Acceptable submissions include specifications, documentation, tutorials and sample code.
Direct3D's High-Level Shading Language
A general purpose interpretive programming language with dynamic typing and flexible data types.
"INTERCAL's main advantage over other programming languages is its strict simplicity. It has few capabilities, and thus there are few restrictions to be kept in mind. Since it is an exceedingly easy language to learn, one might expect it would be a good language for initiating novice programmers. Perhaps surprising, then, is the fact that it would be more likely to initiate a novice into a search for another line of work. As it turns out, INTERCAL is more useful (which isn't saying much) as a challenge to professional programmers."

- from The INTERCAL Programming Language Reference Manual, Copyright (C) 1973 by Donald R. Woods, James M. Lyon

To this category, please submit only links on or related to interpreted programming languages.
Interpreted programming languages are those that historically, and/or usually, use interpreters to interpret source code line by line, as they run, and output object (machine) code, often interactively, in a simple edit-debug cycle. This makes programming faster and more productive, but usually produces slower running programs. Almost all interpreted languages are garbage collected, use GC. Dynamic, and JIT (Just In Time) compilers are synonyms. They act much like interpreters, but compile (not interpret) source code as they run. They can turn interpreted languages into compiled ones, and can be written for any language. But the basic difference persists: while executing, at runtime, interpreted languages and dynamic compilers, make more decisions, do more computing, than compiled languages. On this page, languages are arranged in three groups and levels: 1) Top group: types or classes of languages. 2) Middle group: languages for which there are more than one instance of a language of this name/type, a language family. 3) Bottom group: specific languages which have their own directory category.
Io is a small, interpreted, embeddable, pure object-oriented, prototype-based, garbage collected language. Speed: similar to Perl, Python, Ruby. Influences: Smalltalk; Act1, Self, NewtonScript; LISP; Lua. Descriptions, documents, download, mail list. It is open source, with a BSD license.

Java is a programming language, and platform for programming, applications, and Web software, from Sun Microsystems.

As a language, it is strictly object-oriented, aggressively platform-independent, self documenting, inherently multithreaded, security conscious, and garbage collected, with a rich standard library, including Internet communications, windowing graphics (AWT, Swing), and SQL database interface (JDBC). Java is closely related to C, but intentionally lacks many of the features of C++, namely multiple inheritance, operator overloading, and any explicit pointers. These exclusions are done specifically to make it a simpler language, and they seem to work. Many programmers choose to program in Java just to be more productive. Some programming instructors teach introductory courses to C++ by first using Java, and then, after students learn how to program, the move to C++, to save time and aid student comprehension; both languages can be taught in the time often needed for C++ alone.

As a platform, Java is compiled into still platform-independent bytecodes, then interpreted on each machine; interpreters, using virtual machines (VMs), for most computer types are widely available. This lets portable programs be written on any one of many computer architectures, with the slogan: "Write Once Run Anywhere". One powerful example of this is Java Applets, Java programs embedded in a Web page, downloaded by the Web browser, and executed on the user's computer. Java's inherent security minimizes the risks of running an untested, untrusted program, and platform independence lets most computers execute it. The Mozilla, Netscape Navigator, and Microsoft Internet Explorer Web browsers, among many others, can run Java applets.

But there's more. Sun has even wider goals for Java, including marketing it as a language for embedded systems, making it a standard for cross-platform object-oriented program communication, and possibly challenging the Microsoft Windows dominance of operating systems (OSs). The precedent of the JDK, Java interpreter/compiler packages, being free for download for most OSs from Sun and others, along with most of the source code, as well as the promise of platform independence, has spawned much interest in Java as part of the Open Source software movement. Many applets and even full applications are also downloadable free, with source code. Also available: compilers to translate from other languages to platform independent Java bytecode, decompilers to convert Java bytecode to readable Java, and obfuscators, to hinder them. All are popular categories.

This directory category intends to cover all of that. Ambitious goal, no? :-)

JavaScript was originally developed by Brendan Eich. Introduced by Netscape is currently the most popular client-side's language of the Web. Is also being used on mobile, desktop environments; and server-side for running high concurrency network applications.
Jovial is a block-structured procedural language derived from early versions of Algol. It provided Algol-like data types and syntax, with structural extensions for large-scale software engineering and for real-time systems. Jovial is standardized. The original 1973 specification was US MIL-STD-1589, and the most recent 1984 edition of the language standard is MIL-STD-1589C.
Submit general interest, non-commercial LabVIEW links here. Developers and consultants must submit to their subcategory: Developers and Consultants. Companies selling software add-ons and hardware must submit to their sub-category: 3rd Party Hardware and Software.
LabVIEW is an acronym for Laboratory Virtual Instrument Engineering Workbench. It is a dataflow-based, visual (or graphical), thus multiparadigm, programming language. It is a full general purpose language, but used mostly for data acquisition and instrumentation applications. It is made and distributed by National Instruments Corp.
To this category, please submit only links on languages that have the properties of operating systems (OSs), and do OS tasks and services; and OSs intentionally built on a foundation of some specific language. If an OS exists because of, is based and depends on, has a design informed by, one language, then it belongs here. If an OS is language independent, and would exist or continue regardless of its language, thought it may be coded in only one language (usually Assembly or C), then it belongs elsewhere.
Synonyms: language operating systems (language-OSs), language-OS hybrids, language-OS combinations, language-integrated OSs, language-centric OSs, language-based OSs, language-dependent OSs. In computer science, after basic hardware, language comes first, before OSs, or applications. One needs a language first, even if only machine language, before one can write an OS or any other program. This category features languages that have the properties of OSs, and do OS tasks and services; and OSs intentionally built on a foundation of some specific language. This is usually done to increase system consistency, clarity, some type(s) of efficiency, programming productivity, and/or compactness. The key issue is language dependency. If an OS exists because of, is based and depends on, has a design informed by, one language, then it belongs here. If an OS is language independent, and would exist or continue regardless of its language, thought it may be coded in only one language (usually Assembly or C), then it belongs elsewhere. At the boundary, where so many arguments live, this is sometimes a difficult decision, and persons of goodwill can disagree. On this page, language-OSs are arranged in two groups and levels: 1) Top group: language-OSs for which there are more than one instance of a language-OS of this name/type, a language-OS family. 2) Bottom group: specific language-OSs, individual instances; there is only one language-OS of this name/type.
Leda is a multiparadigm programming language made for programming education. The goal of multiparadigm languages is to provide a framework in which programmers can work in a variety of styles, freely intermixing constructs from different paradigms. Programming paradigms supported by Leda include imperative, object-oriented, logic-based, and functional.
The category is for the Limbo programming language.
Limbo is a programming language designed for the Inferno network operating system (NOS) from Lucent Technologies. Its syntax is influenced by C & Pascal. It is type-safe, and supports standard data types common to them, and several higher-level types: lists, tuples, strings, dynamic arrays, simple abstract data types.
In this category, please submit only links that apply to all Lisps, or which fit in no other Lisp category. Otherwise, please submit to a more specific Lisp category.
This category holds links to software, web, and ftp sites pertaining to the Lisp programming language in any form: Common Lisp, CLOS, ISLISP, Logo, Scheme, ZetaLisp, etc. The Lisps are among the oldest programming languages. Of computer languages still in wide use today, only FORTRAN is older. Lisp is mainly a functional language, usually interpreted, though many versions compile. LISP is an acronym for LISt Processing, invented by John McCarthy in the late 1950's as a formalism for reasoning on the use of recursion equations as a model for computation. Lisp has evolved with the field of Computer Science, always putting the best ideas from the field into practical use. In 1994, Common Lisp became the first ANSI standard to incorporate object-oriented programming. There is a Lisp variant for every taste, and they generally support several programming models: procedural + functional + object-oriented. "Lisp is a programmable programming language." -John Foderaro
Please submit links to this category involving only Constraint Logic languages. Submit links involving Constraint or Logic languages to their respective categories.
This category is on programming languages and documents that fully or partially support the basic principles of logic programming: declarative, relational programming based on first-order logic, via Horn clauses, where authors write databases of facts and rules (clauses), and users supply goals, which programs work to prove via resolution or backward chaining. Logic programming is used extensively in artificial intelligence, AI. The first such language was Prolog. On this page, languages are arranged in two groups and levels: 1) Top group: types or classes of languages. 2) Bottom group: specific languages, with their own directory category.
Lua is a powerful, light-weight programming language designed for extending applications, and often used as a general-purpose, stand-alone language. It is free software. Lua combines simple procedural syntax with powerful data description constructs based on associative arrays and extensible semantics. It is dynamically typed, interpreted from bytecodes, and has automatic memory management with garbage collection, making it ideal for configuration, scripting, and rapid prototyping.
Mercury is a new logic/functional programming language, which combines the clarity and expressiveness of declarative programming with advanced static analysis and error detection features. Its highly optimized execution algorithm delivers efficiency far in excess of existing logic programming systems, and close to conventional programming systems. Mercury addresses the problems of large-scale program development, allowing modularity, separate compilation, and numerous optimization/time trade-offs.
MivaScript, formerly known as htmlscript, is a scripting language loosely based on XML, used for developing web applications.
To this category, please submit only links on implementations of ML, existing and proposed.
ML is an abbreviation for Meta Language. It was created by R. Milner and a team, in 1973. It is a strict higher-order functional language, with a formal semantics. It is garbage collected, and the first language to include polymorphic typing that is statically checked. ML is one of the direct inspirations informing Alan Kay and the design of Smalltalk.
Moto is an Open Source web server based programming language that can run via interpreter or compiler, with type checking, syntax and semantic verification, and no 3rd party dependencies such as virtual machines (VMs), runtime environments, or application servers. Sites built with Moto can be compiled into Apache dynamic shared objects (DSOs) to run at native speeds.
Before submitting, please be sure the material you submit to this category is suitable for it, and relates to this topic.
Multiparadigm (or multi-paradigm) languages are combination programming languages, mergers, that support, strongly, two or more programming paradigms, models, forms of program representation, within one language. Examples: procedural+functional or procedural+functional+objects or procedural+functional+logic+objects, etc. Framework languages (or programming language frameworks), a subset of multiparadigm languages, are designed to also be highly extensible and modular, very paradigm agnostic, minimally biased, ideally with no one main paradigm. Lisp was not originally intended as a multiparadigm language, but it has evolved into one supporting procedural + functional + object programming models. Some multiparadigm languages allow creating multidimensional databases, providing high speed searching and sorting of complex data. They are growing more popular. Some experts say that these are the new wave in languages. They are often faster and easier to build and maintain due to their flexibility, and are well suited to Rapid Application Development: RAD. On this page, languages are arranged in three groups and levels: 1) Top group: issues spanning multiple unrelated languages. 2) Middle group: types or classes of languages. 3) Bottom group: specific languages, with their own directory category.
MUMPS (usually written in capitals), or M, is a procedural programming language used to build applications that usually have large and/or complex databases. Its most important and defining trait is that language and database are very tightly bound. To programmers, the database seems to be a set of persistent, sparse arrays; called globals in MUMPS. All good MUMPS versions use sophisticated techniques to manage, cache, buffer, compress, and sort persistent data. These are normally intrinsic to the implementation and transparent to programmers. Originally interpreted, now, semi-compiled, and fully compiled versions exist. Most interpreted versions have very good runtime speed. It is a very productive developer environment due to: being interpreted, the flexible globals to which the language is closely bound, consistency of syntax, and compact representation.
Oberon is a general-purpose programming language that evolved from Modula-2. Its principal new feature is the concept of type extension. It permits the construction of new data types on the basis of existing ones and to relate them.
This category is for languages deliberately designed to be often unusable, unimplementable, or both. The stress is on "deliberately". A language that is unsuitable for actual programming not by intention but merely (1) due to its inventor's ineptitude, or (2) due to lack of industry support or acceptance by the computer science community, is not obfuscated. Thus this category does not list Pascal, Modula, Ada, or C#. Obfuscated languages are of two types, those that are: (1) Nothing more, or less, than elaborate jokes; example: Intercal is not much more than a thinking person's diversion, albeit a hilariously funny and impressively creative one. (2) Thoughtful and systematic explorations of the subtleties of programming language and algorithm design, or of the theory of computability.
This category is on programming languages and documents that partly or fully support the basic principles of object-oriented programming: extensive modularity usually embodied in objects, classes, encapsulation, data hiding, inheritance, polymorphism, message passing, etc.
This category is on programming languages and documents that partly or fully support the basic principles of object-oriented programming: extensive modularity usually embodied in objects, classes, encapsulation, data hiding, inheritance, polymorphism, message passing, etc. On this page, languages are arranged in three groups and levels: 1) Top group: issues spanning multiple unrelated languages. 2) Middle group: types or classes of languages. 3) Bottom group: specific languages, with their own directory category.

This category is only for sites specifically relating to the Objective-C language or sites whose content is relevant to more than one implementation. If your site is Cocoa specific, please submit it to Computers/Systems/Apple/Macintosh/Development/Mac_OS_X.

For quicker placement in the directory please follow these Submission Tips:

Title: Name of Site or Organization

Description: This describes the website and should note distinguishing features found on the site without the use of hype, personal pronouns, or repetitive terms.

Objective-C is an extension to ANSI-C which provides inheritance, dynamic binding, ability to dump any object to a file, and in some versions garbage collection. The language is widely used in NeXT and MacOS development, it is also central to the GNUStep project.
Obliq is a programming language in the Wirth tradition, from the Algol-Pascal-Modula line. It is based on Modula-3 and can use Modula-3 libraries, but its features and application domains overlap several languages: ML, Modula-3, Self; scripting languages Tcl, AppleScript, VBA, Telescript; distributed languages Orca, Forté, Facile. It is lexically-scoped, untyped, interpreted, and supports distributed object-oriented computation. Obliq objects have state and are local to a site. Obliq computations may involve multiple threads of control within an address space, multiple address spaces on a machine, heterogeneous machines over a local network, and multiple networks over an internet: intranet, extranet, the Internet. Computations can roam over networks, while maintaining network connections.
Occam is an imperative procedural parallel programming language, based on Communicating Sequential Processes (CSP) methods, having many of its features. It can be viewed as a practical executable CSP implementation. It is named after William of Ockham, who is credited with stating the philosophy now called Occam's Razor. It was originally developed by INMOS as the native programming language for their Transputer processors. Development is now managed by others, with many versions for other platforms.
This category involves one means by which different programming languages, within program code, control the scope of declarations, have blocks, how such start and end, and are: marked, formed, shown, expressed, indicated, denoted; their span. Some programming languages obey the off-side rule: blocks are shown by their indentation, the whitespace that precedes them. The term was invented and named by Peter J. Landin in "The Next 700 Programming Languages", CACM vol 9 pp 157-165, March 1966: "Any non-whitespace token to the left of the first such token on the previous line is taken to be the start of a new declaration." Off-side Rule language families: ISWIM, an abstract language that introduced the rule in 1966; ABC, Python; Miranda, Haskell, Curry; Occam; Pliant. Alternatives:

The main alternative is paired symbols or keywords. Most programming languages use this means to mark blocks.

C-syntax family: whitespace is ignored. Blocks are marked between curly braces { and }. Advantage: code can be reformatted and neatly indented, even automatically, with no fear of change to block structure. Disadvantage: human readers see indentation easily and quickly and often miss much formal meaning communicated in braces, unless they are very careful.

Pascal family: blocks shown by keywords, start with "begin", end with "end".

LISP family: doesn't differentiate statements from expressions, parentheses are enough.

POSIX shell family: blocks start after each control keyword and end with the keyword written backwards: "case" starts conditional statements, "esac" ends them.

Please submit programming language links to other language categories which tell more about the structure and function of that language. In the link description, clearly state any open source status. Thank you.
This category holds links on programming languages for which at least one body of writings, specification, or implementation exists, that meets the definition of open source software found at Opensource.org. All links in this category point to languages that are already listed in the directory. On this page, languages are arranged in two groups and levels: 1) Top group: Languages where all versions are open source, none are closed. Such software usually began as open source, and stayed so, or was closed and then changed to open. 2) Bottom group: Languages where some versions are open source, some are closed. Such software usually began as closed source, and then one or more version changed to open, or one or more open source version was begun.
Please submit only links related to the Oz programming language, and its associated Mozart Programming System environment and virtual machine.
Oz is a multiparadigm programming language supporting eight models: concurrent, constraint, dataflow synchronization, distributed, functional (evaluation: eager, lazy), imperative, logic, object-oriented (class-based). It combines concurrent and distributed programming with logical constraint-based inference. The Mozart Programming System is a multiplatform programming environment used for Oz. It runs programs in a virtual machine.
Please think carefully if your site belongs here. Is Perl something that this particular business specializes in, or is it something they happen to do incidentally? Would this business be better represented in part of the Computers/Companies directory hierarchy?
There is currently no description created for this category.
Submit your site to this category only if you cannot find a more appropriate PHP subcategory.

Home pages with less content must be submitted to the Computers/Programming/Languages/PHP/Personal_Pages category.

Popular, easy to learn and use, general purpose, Open Source scripting language, very well suited for Web development and server-side scripting, can be embedded in HTML text and code. Syntax from C, Java, Perl. Goal: allow web developers to write dynamically generated pages quickly.
Pike is a modular, object-oriented, C-like programming language developed by Fredrik Hübinette of Roxen Internet Software. It has its roots in LPC, and is distributed under the GNU General Public License. The Pike project is currently hosted by Linköping University. Among its many features are threading, database connectivity, powerful graphic manipulation libraries and much more. The Roxen WebServer is built entirely in Pike.
Links related to the PL/x programming languages: PL/I, PL/M, and many others.
PL/SQL is Oracle Corporation's proprietary language for writing database event triggers and stored procedures. It is a procedural, interpreted, block-structured language based very loosely on Ada but having very tight integration with SQL. PL/SQL is also used in several of Oracle's client-side application development tools.
This category lists sites related to the Pliant programming language: software, documentation, conferences, more. Pliant is a reflective language (aware of its own implementation) which allows programming at any abstract level between meta-instructions and code generation.
Highly interactive, stack-based, Forth- and LISP-like functional language, with very clean syntax and block structure (appearance) like Pascal.
This category is on programming languages and documents that partly or fully support the basic principles of procedural programming: programmers must specify exact sequences of steps (procedures) computers must follow to produce results.
This category is on programming languages and documents that partly or fully support the basic principles of procedural programming: programmers must specify exact sequences of steps (procedures) computers must follow to produce results.
To this category, please submit links only on the Prograph visual, object-oriented, dataflow, multiparadigm programming language.
Prograph is a visual, object-oriented, dataflow, multiparadigm programming language. It started as an Acadia University research project in 1982. A commercial version existed from 1989 to 1995, when releases stopped. Several firms have sold Prograph: The Gunkara Sun Systems, renamed TGS Systems, Prograph International, Pictorius, now Andescotia Software LLC sells Marten for the Macintosh. A Windows version has existed but was never sold. The best known version may be Prograph CPX: Cross Platform eXtensions.
This category is about the Prolog programming language. Submit implementations in the corresponding sub category. Be careful and take your time.
Prolog is a logic based artificial intelligence language. It differs from Lisp in terms of the execution control which is based on unification and first order logic.
A system for the specification, prototyping, analysis and generation of parallel software.
This category holds articles, papers, and reviews of the Python language, in the online press and by independent authors.
Python is a highly dynamic, powerful, object-oriented programming language that scales easily from simple scripts for casual one-use programs, to a many-thousand line applications. Python is a very good language for learning programming, because it is interpreted, dynamically typed, well documented, and has several sources of free documentation. Part of this is due to Python's roots, which are in education. Python's originator is Guido van Rossum. He worked for the CWI, the National Research Institute for Mathematics and Computer Science, Netherlands. There he worked extensively on ABC, an interpreted, procedural programming language originally designed for easy learning, and education use, to replace BASIC. But in time, he wanted a language with more features, object-orientation, flexibility, and extensibility. So he took many ideas and traits of ABC, especially the syntax, and created Python.
Please limit submissions to this category to sites that provide interactive online discussion.

Blogs relating to REBOL should generally be submitted to Computers: Programming: Languages: REBOL: Articles.

REBOL is a messaging language for distributed Internet applications that run across all devices. It is pronounced like the word "rebel". REBOL was designed over a 20 year period by Carl Sassenrath, the system architect responsible for the world's first multitasking multimedia operating system (OS), the Commodore Amiga OS. The first REBOL implementation was released in 1997 to a small group of users running on three OSs, and today REBOL has grown to reach more than 1,000,000 users running on more than 40 OS platforms. REBOL is not a traditional computer language like C, BASIC, or Java. Instead, it was designed to solve one of the fundamental problems in computing: the exchange and interpretation of information between distributed computer systems. REBOL accomplishes this through the concept of relative expressions, which is how REBOL got its name as the Relative Expression-Based Object Language. Relative expressions, also called "dialects", provide greater efficiency for representing code as well as data, and they are REBOL's greatest strength. For example, REBOL cannot only create a graphical user interface in one line of code, but it can also send that line as data to be processed and displayed on other Internet computer systems around the world. REBOL's consistent architecture provides powerful range of abilities, from its small kernel interpreter (REBOL/Core) up to an entire Internet Operating System (REBOL/IOS). On this page, categories are arranged in two groups and levels: 1) Top group: issues which scope extends beyond this category and topic, but which directly involves it and is important. 2) Bottom group: issues specific to this language, with their own directory category.
To this category, please submit web sites and pages related to only the Refal functional programming language.
Refal is an acronym for REcursive Functions ALgorithmic language. This is usually written in mixed case "Refal", and sometimes in all upper case "REFAL". It is a functional programming language used mainly by mathematicians, for pattern matching, symbol manipulation (symbolic data processing): string processing; computer languages: translation, analysis, metacomputation, etc.; artificial intelligence: theorem proving, natural languages, knowledge bases; computer algebra; scripting and prototyping. It originated in the Soviet Union, created by Valentin F. Turchin. Related websites often have text in English and Russian.
Reflection: a method or means to let a system maintain information about itself (meta-information), and to use such to alter its behavior, to change, adapt; something acting upon itself. This is higher-order behavior than strict imperative models. More concretely, reflection is also an ability (for users) to modify software (even system software) of the underlying system during runtime, without leaving that system. Most programs written today are not reflective. With non-reflective systems, if one modifies (edits) any source code, one must recompile, and then restart it, thus leaving the system. With a reflective system, one can modify code (even kernel code), recompile, and replace the running system code as the system runs, with no restarting, rebooting, or often even leaving the editor. This allows and promotes more dynamic, fluid, productive work style. Such runtime modifiability is similar to what an extensible operating system (OS) allows, which can be viewed as a limited type of (application-level) OS reflectivity. Reflection, where program = data, simplifies writing compilers, interpreters, optimizers, theorem provers, and defining higher order functions. Reflective programming languages are those that take advantage of such traits and abilities, to various ends. Many exist. Some are used daily, in working systems, but they do not dominate, and are not mainstream, yet. They are a very interesting and promising class of languages. Some are found in research, where they form a fascinating branch of computer science. Some experts say they will grow more important in the future as computer power rises, programs grow more complex, and artificial intelligence properties are grafted onto, or blended with, languages. Or, like so many other technologies, they may remain more marginal, used only in certain areas and applications. On this page, languages are arranged in three groups and levels: 1) Top group: types or classes of languages. 2) Middle group: languages for which there are more than one instance of a language of this name/type, a language family. 3) Bottom group: specific languages, individual instances; there is only one language of this name/type.
Please submit great sites that provide broad overviews of regular expressions. For sites that focus on a narrower aspect of regular expressions, please consider submitting to some of the subcategory pages, such as the FAQs, Help, and Tutorials subcat page.
Regular expressions are text strings formed in a particular syntax that is used in various tools and programming languages for searching text patterns within text.
Rigal is a programming language whose main data structures are atoms, lists and trees. The control structures are based on advanced pattern matching. All phases of compilation, including parsing, optimization and code generation, can be programmed in this language in short and readable form. Rigal is intended to be a tool for parsing ( context checking, diagnosing and neutralization of errors included ), for code optimization, code generation, static analysis of programs, as well as for the programming of preprocessors and converters.
Please do only submit sites in English with RPG focus to this category. For other languages, suitable link to the respective language, maybe one or more levels higher in the directory hierarchy should be used. Unsuitably submitted sites have to be moved to the suitable cat and reviewed by the respective editor. This delays its listing unnecessarily, as does a description which does not conform to the ODP guidelines.
Report Program Generator, a programming language for business applications, was developed by IBM during the 1960's. Although IBM introduced RPG during an era of other commonly used programming languages such as Fortran, Cobol and Assembler, RPG gained wide acceptance as a quick and easy method of writing programs for a variety of business applications. As a result, RPG gained popularity on small-scale computer systems and quickly stepped into medium and large-scale installations. Evolving with IBM's various midrange and mainframe computer systems, the RPG programming language has progressed from RPG to RPG II, to RPG III, to RPG IV, to RPG ILE and now RPG Free. Much of the success and quick acceptance of RPG is because of its ability to handle some specific "housekeeping" chores that other languages only perform manually. The "inner clock" in the RPG Cycle addresses areas such as opening files, clearing and loading successive field values, turning indicators on and off, as well as following a program's logical progression from input to output. IBM has continually enhanced the RPG programming language, providing new operations that simplify the code and greater flexibility to control integration across platforms. The latest ILE version, Integrated Language Environment, presents RPG in the most structured, modular format ever, allowing programs to "branch out" to external routines of various languages, yet still perform as if they were one. Again, IBM has further enhanced the code by providing built-in functions (BIFs) and breaking away from fixed format specifications with RPG Free.
To this category, please submit links on Ruby websites that are not only or mainly about Ruby software. If a link is for only or mainly Ruby software, please submit to: ../Ruby/Software. Thank you.
Ruby is an Open Source, interpreted, dynamically typed, pure object-oriented scripting language for fast, easy programming, from Japan. It is simple, straightforward, extensible, more elegant than Perl, fewer parentheses than Lisp. It has many features to process text files and do system management, as in Perl. If you want a language for easy OO programming, don't like Perl inelegance, or like the concept of Lisp, but dislike many parentheses, Ruby is a good option. Japan has more users of Ruby than Python. Historically, this is the first, and thus oldest, sizable set of Ruby links outside of Japan.
Open-source systems programming language from Mozilla, emphasizing safety, concurrency, and speed.
The category "Computers: Programming: Languages: SAS" is dedicated to web sites that provide information about and support for SAS software (http://www.sas.com).
Sather is an object-oriented functional (multiparadigm) programming language. The first version was based on the language Eiffel, later versions diverged, and now have several functional programming features. One way to view Sather is as an object-oriented language with many ideas borrowed from Eiffel. The name was inspired by Eiffel: Sather Tower is a noted landmark in Berkeley, California, as the Eiffel Tower is noted landmark in Paris, France. Sather is designed to be simple, efficient, safe, flexible and non-proprietary. Goals: to be as efficient as C, C++, Fortran; as elegant as, and safer than, Eiffel; and to support higher-order functions and iteration abstraction as well as Common Lisp (CL), CLU, Scheme.
Scripting languages are expected to have at least these features/traits: 1) Interpreted. 2) Operate from a command line or file. 3) Embeddable within applications. 4) Operate outside multiple applications to glue them together. 5) Easily extendable. 6) Should be easier, simpler, faster to use than more ambitious languages.
A growing family of languages based on Set Theory and related notation and principles. Used mostly in mathematics by mathematicians, and in education to teach Mathematics.
Articles focused on a specific OpenGL shader languages should be submitted to the appropriate sub-category.
Articles on OpenGL Shaders: specifications, tutorials, sample code, and comparisons.
Simkin is an object-oriented, interpreted, embeddable, cross platform, scripting programming language, not garbage collected for small size, with simple syntax, that works with C++ or Java and XML. Easy, programmable interface for nonprogrammers. Scripts can be embedded in XML files. It is licensed as Open Source, under the Lesser GNU Public License.
Simula is an extension of the ALGOL 60 language, and is the language that introduced to programming the ideas of classes, objects, inheritance, and dynamic binding, making it is the first, original object-oriented language. It was created by Ole-Johan Dahl and Kristen Nygaard at the Norwegian Computing Center (NCC), Oslo, Norway, from 1962 to 1967. Simula is a direct predecessor of the BETA language. Nygaard was on BETA's design team. Simula was one of the direct inspirations for Alan Kay and Smalltalk.
SISAL (Streams and Iteration in a Single Assignment Language) a general-purpose single assignment functional programming language with strict semantics, automatic parallelisation and efficient arrays. Outputs a dataflow graph in IF1 (Intermediary Form 1). Derived from VAL, adds recursion and finite streams. Pascal-like syntax. Designed to be a common high-level language for numerical programs on a variety of multiprocessors.
Please submit Bistro-specific sites only. Do not add general Smalltalk or Java sites here, as they have their own categories.
Smalltalk is and was a breakthrough combination programming language and operating system, created between 1972 and 1980 at the legendary Xerox Palo Alto Research Center: PARC. It was the first fully (pure) object-oriented language, and thus is a grandparent of all OO languages. The main language influences inspiring and informing the creation of Smalltalk were Ivan Sutherland's Sketchpad graphics program/language, Simula, Lisp and Seymour Papert's Logo dialect, and ML. Smalltalk is far more than a programming language only. It is also a full, powerful operating system (OS). Many traits make it so. All original Smalltalks ran on bare hardware, with no intervening OS, and some still do. All Smalltalks have their own internal scheduling, storage management, display handling, keyboard input, subsystems access, debugger, graphic user interface (GUI), application programming interface (API), one can write programs, from short scripts to full applications to run in it, and ignore any OS below. Smalltalks not using the file system of an underlying OS, have their own. Being a language + OS is part of the early foundation philosophy behind the design and implementation of Smalltalk. Consider two quotes by one of Smalltalk's earliest and primary designers, Dan Ingalls:

"An operating system is a collection of things that don't fit into a language. There shouldn't be one." - Daniel H. H. Ingalls; Design Principles Behind Smalltalk; Byte Magazine, August 1981.

"In this way, the underlying metaphor of communicating objects can be seen to operate all the way up to the level which corresponds to a conventional operating system." - Daniel H. H. Ingalls; The Smalltalk-76 Programming System: Design and Implementation; Conference Record, Fifth Annual ACM Symposium on Principles of Programming Languages (POPL), 1978. Open Source versions: GNU Smalltalk, Pocket Smalltalk, #Smalltalk (sharp-Smalltalk), Squeak, StepTalk, Susie. Smalltalk's inventors, the famous Alan Kay team from Xerox PARC, are now working on the free implementation Squeak. It is only a download away. On this page, @links are arranged in three groups and levels: 1) Top group: issues spanning multiple unrelated languages. 2) Middle group: issues specific to one language. 3) Bottom group: specific implementations, with their own directory category.

SNOBOL is an acronym for: StriNg-Oriented symBOlic Language. Related acronyms and implementations: FASBOL (SNOBOL compiler), MAINBOL, SITBOL, SNOBOL2, SNOBOL3, SNOBOL4, SPITBOL (SPeedy ImplemenTation of snoBOL), Vanilla. SNOBOL had simple control structures, except for string matching abilities and power similar to regular expressions. These are the sorts of jobs now usually done via Perl.
Synonyms: specification language, specification notation.
This category is for sites about the language itself. Sites that focus on individual databases that use SQL are listed in Computers/Software/Databases/SQL_Databases/.
SQL, Structured Query Language, is a database query language that was adopted as an industry standard in 1986.
Synchronous programming languages are optimized for programming reactive systems, systems that are often interrupted and must respond quickly. Many such systems are also called realtime systems.
Tcl stands for "tool command language" and is pronounced "tickle." It is actually two things: a language and a library. First, Tcl is a simple textual language, intended primarily for issuing commands to interactive programs such as text editors, debuggers, illustrators, and shells. It has a simple syntax and is also programmable, so Tcl users can write command procedures to provide more powerful commands than those in the built-in set. Second, Tcl is a library package that can be embedded in application programs.
TOM is Smalltalk/ObjC like OO language, that puts the emphasis upon code reuse.
TRAC (Text Reckoning And Compiling) is an interpreted, interactive, ultra-light-weight programming language, in use since 1964. TRAC T64 was developed between 1959-1964 by Calvin N. Mooers. His goal was to develop a language that could be operated interactively from the keyboard of a "reactive typewriter." Growing from his earlier work on information retrieval systems, Mooers originally envisioned TRAC as a tool that could be used by librarians and others in their everyday work. TRAC T64 was first implemented on a PDP-10 in 1964 by L. Peter Deutsch. It was used until 1984, when Mooers redefined the language in its current version. A specification for a new version is being created, to be released with an open source license.
Scripting language of Revolution multi-platform rapid development tool and engine.
Turing is a young, compiled programming language optimized for teaching programming to beginners, often as an alternative to Pascal, and used in high schools and universities across North America. From Canada, it is named in honor of the late, great British mathematician, logician, WW II code breaker, and computer scientist Alan Mathison Turing.
Visual Basic, Visual C++, etc., are not visual languages. Submissions on those topics are never posted in this category. Please submit them to the correct category, by clicking on the correct topic name provided at the start of this notice. Thank you.
Visual programming languages (VPLs) let programmers instruct computers by drawing images or symbols, much like those seen in the mind when humans consider a solution to a certain problem. The images inform the computer, and other humans working on the program. Images are usually boxes, circles, or bubbles, treated as screen objects, connected by arrows, lines or arcs. Programming is done using visual methods to express relationships among, or transformations to, data; methods include sketching, pointing, demonstrating via direct manipulation. The software then creates any needed lower-level code. Visual Basic, Visual C++, etc., are not visual languages, but do use a few crude, primitive elements of visual programming. On this page, languages are arranged in three groups and levels: 1) Top group: issues spanning multiple unrelated languages. 2) Middle group: types or classes of languages. 3) Bottom group: specific languages, with their own directory category.
Please submit websites offering cryptography implementations to Visual Basic programmers as units, components, or libraries.

End-user cryptography products written in Visual Basic without source code are not programming resources and should be submitted to: Computers/Security/Products_and_Tools/Cryptography.

A category for resources related to Visual Basic.
Please submit sites relevant to the Microsoft Visual Foxpro product. Commercial sites offering Foxpro products and services should be submitted to Programming:Languages:Visual FoxPro:Commercial Services.
Visual FoxPro is both a computer programming language and a relational database packaged in one product.
Water is a new object-oriented, prototype-based, multiparadigm, native Web services programming language that allows programming in XML syntax. It is an open language designed to simplify creating new Web services. It is very flexible and adheres to a "Learn Once, Use Everywhere" philosophy where data, logic, and presentation have a uniform representation.
This category holds links on programming languages created by Dr. Niklaus Wirth (Pascal; Modula, Modula-2; Oberon), or derived directly therefrom (GNU Pascal; Delphi, Free Pascal; Obliq; Modula-3; Lagoona, Component Pascal). All are compiled, except Obliq. Wirth, now retired, lives, and worked at ETH Zürich, in Zürich, Switzerland. Some people think Ada is a Wirth language, and even send emails stating such. Ada was the work of several big groups, first in the US, and then Europe, over many years. Unlike true Wirth languages, Ada was not derived directly from any one or more Wirth language. Some aspects of Ada are derived from, or strongly influenced by, some Wirth concepts (especially Pascal) but this is true of many (most?) modern programming languages. Wirth was one of many who helped develop the "Strawman" document that defined the early requirements for what became Ada, documented in Ada - The Project: The DoD High Order Language Working Group. Exactly how much the final result reflects Wirth's input is unclear. If you can provide further documentation showing that Wirth had more direct or significant involvement in the Ada development process, please email the URL to directory editor jerryobject.
Yorick is an interpreted programming language available for a wide variety of machines. Yorick specializes in numeric analysis and graphs, and is widely used by physicists and other scientists.
This category is for the Z formal specification notation, and very closely related topics.
Z, pronounced "zed", is a formal specification notation, a notation for formally, mathematically specifying, describing, computer-based systems. It is not a programming language, so it has no compiler as such, but many tools exist: type-checkers, animators for Z subsets, proof tools, more. Z is based on Zermelo-Fraenkel set theory and first order predicate logic. Inspired by the work of Jean-Raymond Abrial, it has been developed by the Programming Research Group (PRG) at the Oxford University Computing Laboratory (OUCL), and elsewhere, since the late 1970s. It is public domain, under ISO/IEC Z Standard 13568:2002, and Z symbols are part of Unicode character encoding.
Copyright © 1998-2014 AOL Inc. Terms of Use
Last update: Monday, May 12, 2014 12:45:19 PM EDT - edit