programming
Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 1071
TOM programming language 2.5
Tom is a software environment for defining transformations in Java. more>>
Tom is a software environment for defining transformations in Java. TOM programming language is an extension of Java designed to manipulate tree structures and XML documents. It is compatible with Java: a Java program is a correct Tom program.
Data are represented using an efficient tree based data-structure. Java built-ins (int, char, String, etc) can be used. Tom provides pattern matching facilities to inspect objects and retrieve values. A powerful strategy language can be used to control transformations.
Enhancements:
- The Eclipse plugin is now available again.
- In the %match construct, the sort of the subject is now optional.
- It is automatically inferred from the patterns when possible.
- Gom generates congruence strategies and offers new functionalities, such as the length of a list.
- A new "!" construct can be used to denote anti-patterns.
- The strategy library has been extended such that strategy expressions can be matched, like any other term.
- A strategy can now take another strategy in its argument.
- Support for Java bytecode analysis and transformation has been added.
<<lessData are represented using an efficient tree based data-structure. Java built-ins (int, char, String, etc) can be used. Tom provides pattern matching facilities to inspect objects and retrieve values. A powerful strategy language can be used to control transformations.
Enhancements:
- The Eclipse plugin is now available again.
- In the %match construct, the sort of the subject is now optional.
- It is automatically inferred from the patterns when possible.
- Gom generates congruence strategies and offers new functionalities, such as the length of a list.
- A new "!" construct can be used to denote anti-patterns.
- The strategy library has been extended such that strategy expressions can be matched, like any other term.
- A strategy can now take another strategy in its argument.
- Support for Java bytecode analysis and transformation has been added.
Download (3.7MB)
Added: 2006-10-05 License: GPL (GNU General Public License) Price:
1116 downloads
Hecl Programming Language 20060803
Hecl Programming Language is a simple, flexible scripting language for Java. more>>
The Hecl Programming Language is a high-level scripting language implemented in Java. Hecl Programming Language is intended to be small, extensible, extremely flexible, and easy to learn and use.
Hecl is intended as a complement to the Java programming language, not a replacement. As such, it tries to do well what Java doesnt, and leaves those tasks to Java for which it is best suited.
Hecl aims to be a very immediate language - you can pick it up and start doing useful things with it quickly. It is also meant to be easy to learn. Where Java is verbose and rigid, Hecl is forgiving and quick to write. For instance, System.out.println("Hello World"); vs puts "Hello World" - 41 keystrokes (shifted letters count double) versus 22. Hecl is built to "scale down".
This makes Hecl ideal for large applications written in Java that would like to provide a user friendly scripting interface, rather than, say, a clunky XML based configuration system.
Hecl is also a small language with a minimal core. The idea is to provide only whats necessary in the language itself, and as needed, add in extensions for specific tasks.
Core Hecl is small enough to run on my Nokia 3100 cell phone as a J2ME application, presenting the interesting possibility of writing scripts, or at some point, maybe even scripting entire applications, for devices running embedded Java. As an example, you can try this MIDlet: Hecl.jar Hecl.jad
<<lessHecl is intended as a complement to the Java programming language, not a replacement. As such, it tries to do well what Java doesnt, and leaves those tasks to Java for which it is best suited.
Hecl aims to be a very immediate language - you can pick it up and start doing useful things with it quickly. It is also meant to be easy to learn. Where Java is verbose and rigid, Hecl is forgiving and quick to write. For instance, System.out.println("Hello World"); vs puts "Hello World" - 41 keystrokes (shifted letters count double) versus 22. Hecl is built to "scale down".
This makes Hecl ideal for large applications written in Java that would like to provide a user friendly scripting interface, rather than, say, a clunky XML based configuration system.
Hecl is also a small language with a minimal core. The idea is to provide only whats necessary in the language itself, and as needed, add in extensions for specific tasks.
Core Hecl is small enough to run on my Nokia 3100 cell phone as a J2ME application, presenting the interesting possibility of writing scripts, or at some point, maybe even scripting entire applications, for devices running embedded Java. As an example, you can try this MIDlet: Hecl.jar Hecl.jad
Download (2.6MB)
Added: 2007-08-05 License: The Apache License 2.0 Price:
810 downloads
KDE Simple Programming Tutorial 1.2
KDE Simple Programming Tutorial is a tutorial for developing a KDE application. more>>
KDE Simple Programming Tutorial is a tutorial for developing a KDE application.
With the only requirement of a little C++ knowledge, and using the latest KDE snapshots, the reader will learn how to build his/her first KDE application from a simple "Hello world" button to a Web browser with a DCOP interface that communicates with a bookmark application running in a separate process.
Theres also a spanish and a romanian version of the documentation.
<<lessWith the only requirement of a little C++ knowledge, and using the latest KDE snapshots, the reader will learn how to build his/her first KDE application from a simple "Hello world" button to a Web browser with a DCOP interface that communicates with a bookmark application running in a separate process.
Theres also a spanish and a romanian version of the documentation.
Download (MB)
Added: 2006-10-04 License: GPL (GNU General Public License) Price:
1121 downloads
Super AJAX Programming Seed 1.0
Super AJAX Programming Seed is a little program that illustrates a simple implementation of AJAX technology. more>>
AJAX is all the rage these days, and for a good reason. With AJAX, you can create web applications with nearly the same functionality as your desktop programs. Super AJAX Programming Seed project is a tight script that illustrates a simple use of AJAX technology using PHP, HTML and JavaScript.
Main features:
- Super AJAX Programming Seed is easy to install. Just upload the files to your server and youre good to go.
- Super simple code makes it easy to start using AJAX in your own applications.
- Comes with a working exaple of AJAX so you can get started right away.
- Use Super AJAX Programming Seed as a starter for your own technology, or offer it as an example on your own web site of AJAX in action.
<<lessMain features:
- Super AJAX Programming Seed is easy to install. Just upload the files to your server and youre good to go.
- Super simple code makes it easy to start using AJAX in your own applications.
- Comes with a working exaple of AJAX so you can get started right away.
- Use Super AJAX Programming Seed as a starter for your own technology, or offer it as an example on your own web site of AJAX in action.
Download (0.004MB)
Added: 2006-02-27 License: Freeware Price:
1338 downloads
Intro to Bash Programming HOWTO 0.8
Intro to Bash Programming HOWTO is a bash programming tutorial. more>>
Intro to Bash Programming HOWTO is a bash programming tutorial.
The Intro to Bash Programming HOWTO is meant for newbies who wish to learn how to write shell scripts for bash, the GNU Boure-Again shell.
It contains several samples. It is very early in its development, but it is hoped that some people might find it useful.
Enhancements:
- New translations included and minor correcitons.
<<lessThe Intro to Bash Programming HOWTO is meant for newbies who wish to learn how to write shell scripts for bash, the GNU Boure-Again shell.
It contains several samples. It is very early in its development, but it is hoped that some people might find it useful.
Enhancements:
- New translations included and minor correcitons.
Download (MB)
Added: 2006-10-03 License: (FDL) GNU Free Documentation License Price:
1123 downloads
Felix Programming Language 1.1.1
Felix Programming Language is a high performance, statically typed scripting language. more>>
Felix is an advanced Algol like procedural programming language with a strong functional subsystem. It features ML style typing, first class functions, pattern matching, garabge collection, polymorphism, and has built in support for high performance microthreading, regular expressions and context free parsing.
The system provides a scripting harness so the language can be used like other scripting languages, but underneath it generates native code to obtain high performance.
A key feature of the system is that it uses the C++ object model, and provides an advanced binding sublanguage to support integration with C++ at both the source and object levels, both for embedding C++ data types and functions into Felix, and for embedding Felix into exitsing C++ architectures.
The Felix compiler is written in Objective Caml, and generates ISO C++ which should compile on any platform.
<<lessThe system provides a scripting harness so the language can be used like other scripting languages, but underneath it generates native code to obtain high performance.
A key feature of the system is that it uses the C++ object model, and provides an advanced binding sublanguage to support integration with C++ at both the source and object levels, both for embedding C++ data types and functions into Felix, and for embedding Felix into exitsing C++ architectures.
The Felix compiler is written in Objective Caml, and generates ISO C++ which should compile on any platform.
Download (1.2MB)
Added: 2005-09-27 License: Freely Distributable Price:
1487 downloads
AFNIX programming language 1.5.2
AFNIX is a multi-threaded functional programming language with dynamic symbol bindings that support the object oriented paradigm more>>
AFNIX is a multi-threaded functional programming language with dynamic symbol bindings that support the object oriented paradigm. AFNIX programming language features a state of the art runtime engine that supports both 32 and 64 bits platforms.
AFNIX is distributed with several clients and a rich set of libraries that are designed to be platform independent. For a short description, you can look at the contents or for a short introduction, you can look at the tutorial.
A flexible license has been designed for both individuals and corporations. Everybody is encouraged to use, distribute and/or modify the AFNIX engine for any purpose. You can register on our mailing list. We issue news once a month. Your email address is covered by our strict privacy policy.
AFNIX is a powerful engine associated with a rich set of libraries. The interpreter is written in C++. Its modular architecture makes the installation and maintenance an easy task.
AFNIX has a rich syntax which make the functional programming a pleasant activity. AFNIX is ready for use on various UNIX platforms. A rich documentation is also provided as a guide and reference material.
Enhancements:
- This is a minor release that fixes the build process with GCC 4.2.
<<lessAFNIX is distributed with several clients and a rich set of libraries that are designed to be platform independent. For a short description, you can look at the contents or for a short introduction, you can look at the tutorial.
A flexible license has been designed for both individuals and corporations. Everybody is encouraged to use, distribute and/or modify the AFNIX engine for any purpose. You can register on our mailing list. We issue news once a month. Your email address is covered by our strict privacy policy.
AFNIX is a powerful engine associated with a rich set of libraries. The interpreter is written in C++. Its modular architecture makes the installation and maintenance an easy task.
AFNIX has a rich syntax which make the functional programming a pleasant activity. AFNIX is ready for use on various UNIX platforms. A rich documentation is also provided as a guide and reference material.
Enhancements:
- This is a minor release that fixes the build process with GCC 4.2.
Download (1.5MB)
Added: 2007-06-08 License: BSD License Price:
881 downloads
PATH programming language 0.33
PATH programming language is a unique two-dimensional programming language. more>>
PATH is a very different programming language than what you are probably used to if youre an average programmer. If youve programmed in the language Brainf*ck, youll recognize the memory cell architecture. Also, Befunge programmers will recognize the two-dimensional way that PATH programs are laid out.
PATH programs are laid out on a two-dimensional grid. It follows a path of instructions on the program grid, turning 90 degrees when instructed to (hence the name). A character recognized by the interpreter is called an instruction symbol.
To show you what a PATH program actually looks like, heres a simple program that coincidentally spells out the word "PATH" in large ASCII art letters. (You may recognize it from the PATH program homepage, and its also included with the interpreter.) All it does is make the console beep. Ill explain it in detail later, once you know what all the instruction symbols do.
The interpreter starts at the first "$" symbol it finds and starts heading right. Every time it encounters a valid instruction symbol, it executes it. When it encounters certain special symbols, it may turn in another direction.
The interpreter keeps going until it reaches a "#" symbol. If it encounters a character that is not a valid instruction symbol, it ignores it and skips over it.
<<lessPATH programs are laid out on a two-dimensional grid. It follows a path of instructions on the program grid, turning 90 degrees when instructed to (hence the name). A character recognized by the interpreter is called an instruction symbol.
To show you what a PATH program actually looks like, heres a simple program that coincidentally spells out the word "PATH" in large ASCII art letters. (You may recognize it from the PATH program homepage, and its also included with the interpreter.) All it does is make the console beep. Ill explain it in detail later, once you know what all the instruction symbols do.
The interpreter starts at the first "$" symbol it finds and starts heading right. Every time it encounters a valid instruction symbol, it executes it. When it encounters certain special symbols, it may turn in another direction.
The interpreter keeps going until it reaches a "#" symbol. If it encounters a character that is not a valid instruction symbol, it ignores it and skips over it.
Download (0.010MB)
Added: 2005-04-15 License: MIT/X Consortium License Price:
1654 downloads
Qore Programming Language 0.6.2
Qore is a modular, multi-threaded, SQL-integrated, weakly- typed scripting language. more>>
Qore is a modular, multi-threaded, SQL-integrated, weakly- typed scripting language with procedural and object-oriented features, powerful and easy-to-use data types, structures, and operators, and a clean and easy-to-learn/read syntax.
Qore Programming Language features Oracle and MySQL DBI drivers, optional TIBCO AE integration, and easy date arithmetic, is very scalable on SMP systems, and much more.
Enhancements:
- 3 new DBI drivers, PostgreSQL, Sybase, and FreeTDS ("pgsql", "sybase", "mssql")
- more support for database and driver-independent programming
- new DatasourcePool class for transparent Datasource connection pooling
- HTTPClient improvements (redirections, basic authentication, proxy support)
- safe signal handling
- complete deadlock detection and thread primitive error handling
- all thread locking primitives now take an optional timeout value
- call references (including object method references that will be executed in the context of the object referenced)
- mysql and oracle driver improvements
- extensive enhancements for exception-safe programming (on_exit, on_error, on_success statements, new classes, etc)
- significant performance improvements
- tibae module improvements
- many new functions and methods, bug fixes, extensive documentation updates, etc
<<lessQore Programming Language features Oracle and MySQL DBI drivers, optional TIBCO AE integration, and easy date arithmetic, is very scalable on SMP systems, and much more.
Enhancements:
- 3 new DBI drivers, PostgreSQL, Sybase, and FreeTDS ("pgsql", "sybase", "mssql")
- more support for database and driver-independent programming
- new DatasourcePool class for transparent Datasource connection pooling
- HTTPClient improvements (redirections, basic authentication, proxy support)
- safe signal handling
- complete deadlock detection and thread primitive error handling
- all thread locking primitives now take an optional timeout value
- call references (including object method references that will be executed in the context of the object referenced)
- mysql and oracle driver improvements
- extensive enhancements for exception-safe programming (on_exit, on_error, on_success statements, new classes, etc)
- significant performance improvements
- tibae module improvements
- many new functions and methods, bug fixes, extensive documentation updates, etc
Download (0.88MB)
Added: 2007-06-14 License: LGPL (GNU Lesser General Public License) Price:
863 downloads
Luban programming language Beta 2.1
Luban is a component oriented scripting language. more>>
Luban is a component oriented scripting language. Luban is free and open source. Luban is named after a legendary ancient Chinese civil engineer and carpenter two thousand year ago whose constructions are still in use today.
The programming language spectrum seems crowded. Do we have all the tools we need? The author of Luban likes the scripting languages in general because of their usability. Though he always feels the pain for the lack of suitable component model for scripting.
And he personally considers object oriented scripting is too complicated for scripting purpose and will never compete with C++/Java. He eventually created Luban, a scripting language with a robust component model tailored for scripting purpose. Luban is an easy scripting language that is as clean and manageable as Java.
There have been numerous discussions about software component without clear definition. Lubans definition of component is property based object that is similar to Java Bean. User interacts with component by reading and writing property values, and computation could be triggered by the interactions.
The idea of Luban programming language that scripting language needs a different component model other than conventional class hierarchy to fit its scripting environment. A complete mechanism is built in Luban to define, save and categorize components, which is a fundamental feature of Luban.
Enhancements:
- This release adds the new feature to iterate through the elements in Java container objects.
- The following Java types can now be iterated in Luban: Java array, java.util.Collection, and java.util.Map.
<<lessThe programming language spectrum seems crowded. Do we have all the tools we need? The author of Luban likes the scripting languages in general because of their usability. Though he always feels the pain for the lack of suitable component model for scripting.
And he personally considers object oriented scripting is too complicated for scripting purpose and will never compete with C++/Java. He eventually created Luban, a scripting language with a robust component model tailored for scripting purpose. Luban is an easy scripting language that is as clean and manageable as Java.
There have been numerous discussions about software component without clear definition. Lubans definition of component is property based object that is similar to Java Bean. User interacts with component by reading and writing property values, and computation could be triggered by the interactions.
The idea of Luban programming language that scripting language needs a different component model other than conventional class hierarchy to fit its scripting environment. A complete mechanism is built in Luban to define, save and categorize components, which is a fundamental feature of Luban.
Enhancements:
- This release adds the new feature to iterate through the elements in Java container objects.
- The following Java types can now be iterated in Luban: Java array, java.util.Collection, and java.util.Map.
Download (0.37MB)
Added: 2006-04-20 License: Freely Distributable Price:
1283 downloads
The Qu Programming Language 1.21.10
The Qu Programming Language is a full-featured object oriented programming language. more>>
Qu is a powerful full-featured object oriented programming language. It is an Open Source software. The Qu Programming Language is absolutely free (as in free lunch) and distributed under the GNU General Public License (GPL).
Qu is inspired by other languages. Most noticeably Perl, Python, Ruby and C. It mostly resembles Python except that the syntax is more flexible, the internals are simpler, and Qu allows you to use either indentation or non-indentation style.
Qu has a clean syntax designed to promote readability. There is no need for semi-colons and commas to separate items except in rare cases when the end of an expression is not obvious.
Qu is a procedural language. A program consist of statements and expressions evaluated in the order they appear.
Qu is a strong semi-dynamic (optional-static) typing language. Adding a number to a string will throw an exception. A variable can hold anything or you can attach a validator to it. Validators can be as simple as a class, a constant object (Array, Range, Struct, etc.) or even a validator function.
Arrays, dictionaries, and sets can be constrained to hold only a specific "type" of data as well.
Everything in Qu are objects, including numbers, strings, etc. The number 123, for example, is actually an instance of the builtin Int class. Classes are instances of the builtin Class class, etc. But this does not mean that you must write your programs in an object oriented manner. That is entirely up to you.
Documentation can be embedded in the source code. The compiler will skip them. The documentation builder will extract them. The builder is included as part of the standard distribution.
In fact, when you install Qu or Qu modules, the documentations are automatically built for you.
Qu is entirely written in C. Readable documentations are embedded in the C sources directly.
Writing C modules for Qu is as easy as it can get!
Main features:
- fast
- clean syntax
- strong semi-dynamic typing
- module management
- multithread
- deadlock detection
- label loops, break, continue, redo
- loop, while, for, atomic, do
- fast exceptions
- try, catch, else, finally
- nested function
- lexical closure
- accummulator
- generator
- coroutine
- type validator
- run once function
- full and safe eval
- buffered printing
- auto self
- private, public and static attributes
- read/write & read-only attributes
- class property and methods
- dynamic attribute access
- single inheritance with mixins
- multiple constructors
- super class attribute access
- finalizers
- multiple assignment
- variable and default arguments
- argument flattening
- uniform attribute access
- complex number
- big integer
- mark & sweep garbage collector
<<lessQu is inspired by other languages. Most noticeably Perl, Python, Ruby and C. It mostly resembles Python except that the syntax is more flexible, the internals are simpler, and Qu allows you to use either indentation or non-indentation style.
Qu has a clean syntax designed to promote readability. There is no need for semi-colons and commas to separate items except in rare cases when the end of an expression is not obvious.
Qu is a procedural language. A program consist of statements and expressions evaluated in the order they appear.
Qu is a strong semi-dynamic (optional-static) typing language. Adding a number to a string will throw an exception. A variable can hold anything or you can attach a validator to it. Validators can be as simple as a class, a constant object (Array, Range, Struct, etc.) or even a validator function.
Arrays, dictionaries, and sets can be constrained to hold only a specific "type" of data as well.
Everything in Qu are objects, including numbers, strings, etc. The number 123, for example, is actually an instance of the builtin Int class. Classes are instances of the builtin Class class, etc. But this does not mean that you must write your programs in an object oriented manner. That is entirely up to you.
Documentation can be embedded in the source code. The compiler will skip them. The documentation builder will extract them. The builder is included as part of the standard distribution.
In fact, when you install Qu or Qu modules, the documentations are automatically built for you.
Qu is entirely written in C. Readable documentations are embedded in the C sources directly.
Writing C modules for Qu is as easy as it can get!
Main features:
- fast
- clean syntax
- strong semi-dynamic typing
- module management
- multithread
- deadlock detection
- label loops, break, continue, redo
- loop, while, for, atomic, do
- fast exceptions
- try, catch, else, finally
- nested function
- lexical closure
- accummulator
- generator
- coroutine
- type validator
- run once function
- full and safe eval
- buffered printing
- auto self
- private, public and static attributes
- read/write & read-only attributes
- class property and methods
- dynamic attribute access
- single inheritance with mixins
- multiple constructors
- super class attribute access
- finalizers
- multiple assignment
- variable and default arguments
- argument flattening
- uniform attribute access
- complex number
- big integer
- mark & sweep garbage collector
Download (1.3MB)
Added: 2007-04-11 License: GPL (GNU General Public License) Price:
928 downloads
Transmuter Programming Language 0.9.2
Transmuter Programming Language is an extremely dynamic, biologically-inspired prototyping language. more>>
Transmuter Programming Language is an extremely dynamic, biologically-inspired prototyping language providing a framework for experimenting with naturally evolving systems of objects over the net, and for exploring new ideas about recombinant software, code morphing, and evolutionary programming.
Trans is also a very capable general-purpose programming language. Its fast, flexible, compact, object-oriented, highly extensible, and easy-to-learn. It can be used for rapid prototyping, or as a scripting language, an embedded language, a network server or client, a system of cooperating network nodes, a real-time control and monitoring system, and more.
Trans is not only typeless, but also classless. Instead of defining static classes, existing objects serve as prototypes for new objects. New objects are then extended or modified as desired. This modification can occur both statically at compile-time, or dynamically at run-time. Unlike most earlier prototyping languages, Trans uses a concatenation-based prototype system, with no pointers to parent object chains. Parent objects are simply copied into the new object being constructed, allowing for much faster references to inherited members and better object encapsulation. Inheritance is fine-grained, implemented at the member level rather than the object level.
Objects can be saved and loaded externally either as Trans source code, or in bytecode format in network byte-order (as in Java). All Trans source code is compiled to an internal bytecode representation before execution. Since the Trans compiler and interpreter are completely integrated, the compiler is directly accessible to the interpreter at run-time, and the interpreter is also directly accessible to the compiler at compile-time, allowing for complex macro constructs and expressions. Trans uses a fast single-pass compiler, allowing source code to be passed over the net to any Trans instance or server, with little impact in performance.
Trans includes support for integers, floating point numbers, ANSI and Unicode (UTF-16) strings, many builtin functions (including File I/O and TCP/IP Sockets), user-defined functions, and native functions. All functions are atomic objects, and can be passed around and manipulated like any other data item. Builtin functions are treated like user-defined functions, and must be defined before they are used. Native functions located in already-compiled external libraries can also be defined, called, and manipulated like any other data item, with type conversions handled automatically by Trans. And since Trans is implemented as a runtime library with an external API, it can also be embedded in other software environments, such as Java.
Trans also includes a rich assortment of operators, expressions, and statements. Many of these will be familiar to C and Java programmers, but there are significant additions, enhancements, and contextual differences. There are also several important modifiers controlling the disposition of members within an object at compile-time and run-time. A powerful regular expression engine similar to the engines found in Perl, Python, and other languages is also provided. Multiple threads are supported via a simple deterministic threading model.
Trans is relatively lightweight, designed to consume minimal resources such CPU, memory, disk, bandwidth, etc - an important feature in performance-critical real-time environments. The compiler and interpreter are written in C++ and integrated into one library module, using only standard C libraries and Berkeley v1.1 sockets, with no other dependencies. As much as possible, Trans is designed to be operating system and hardware independent, and is currently implemented on the Win32 and x86 Linux operating systems.
The design of Trans was influenced by many other languages, including C/C++, Java, JavaScript, Lisp, Self, Python, Ruby, Perl, and others.
Enhancements:
- This substantial release includes a new x86 Linux version, many language and built-in function enhancements, new optional syntaxes, true aliases, enhanced macro code generation/construction, restructured and restyled import objects and shell, library objects, more detailed examples, a new external API, and increased stability and speed.
<<lessTrans is also a very capable general-purpose programming language. Its fast, flexible, compact, object-oriented, highly extensible, and easy-to-learn. It can be used for rapid prototyping, or as a scripting language, an embedded language, a network server or client, a system of cooperating network nodes, a real-time control and monitoring system, and more.
Trans is not only typeless, but also classless. Instead of defining static classes, existing objects serve as prototypes for new objects. New objects are then extended or modified as desired. This modification can occur both statically at compile-time, or dynamically at run-time. Unlike most earlier prototyping languages, Trans uses a concatenation-based prototype system, with no pointers to parent object chains. Parent objects are simply copied into the new object being constructed, allowing for much faster references to inherited members and better object encapsulation. Inheritance is fine-grained, implemented at the member level rather than the object level.
Objects can be saved and loaded externally either as Trans source code, or in bytecode format in network byte-order (as in Java). All Trans source code is compiled to an internal bytecode representation before execution. Since the Trans compiler and interpreter are completely integrated, the compiler is directly accessible to the interpreter at run-time, and the interpreter is also directly accessible to the compiler at compile-time, allowing for complex macro constructs and expressions. Trans uses a fast single-pass compiler, allowing source code to be passed over the net to any Trans instance or server, with little impact in performance.
Trans includes support for integers, floating point numbers, ANSI and Unicode (UTF-16) strings, many builtin functions (including File I/O and TCP/IP Sockets), user-defined functions, and native functions. All functions are atomic objects, and can be passed around and manipulated like any other data item. Builtin functions are treated like user-defined functions, and must be defined before they are used. Native functions located in already-compiled external libraries can also be defined, called, and manipulated like any other data item, with type conversions handled automatically by Trans. And since Trans is implemented as a runtime library with an external API, it can also be embedded in other software environments, such as Java.
Trans also includes a rich assortment of operators, expressions, and statements. Many of these will be familiar to C and Java programmers, but there are significant additions, enhancements, and contextual differences. There are also several important modifiers controlling the disposition of members within an object at compile-time and run-time. A powerful regular expression engine similar to the engines found in Perl, Python, and other languages is also provided. Multiple threads are supported via a simple deterministic threading model.
Trans is relatively lightweight, designed to consume minimal resources such CPU, memory, disk, bandwidth, etc - an important feature in performance-critical real-time environments. The compiler and interpreter are written in C++ and integrated into one library module, using only standard C libraries and Berkeley v1.1 sockets, with no other dependencies. As much as possible, Trans is designed to be operating system and hardware independent, and is currently implemented on the Win32 and x86 Linux operating systems.
The design of Trans was influenced by many other languages, including C/C++, Java, JavaScript, Lisp, Self, Python, Ruby, Perl, and others.
Enhancements:
- This substantial release includes a new x86 Linux version, many language and built-in function enhancements, new optional syntaxes, true aliases, enhanced macro code generation/construction, restructured and restyled import objects and shell, library objects, more detailed examples, a new external API, and increased stability and speed.
Download (0.34MB)
Added: 2006-09-06 License: Freely Distributable Price:
1147 downloads
2E Programming Language 0.8.2
2E Programming Language is a simple algebraic syntax language. more>>
2E Programming Language (two es, as in ee, or expression evaluator) is a simple algebraic syntax language. It natively supports expressions (composed of operators and operands), and function definitions, and basically nothing else. Therefore, it can be fairly straight-forward to learn (assuming you are already familiar with general programming constructs).
The language itself is refered to as 2e, however the interpreter is called ee.
An operand can be a literal, such as a numeric value (integer or floating point), a quoted string, a single-quoted character, a variable or a function call. Operators consist of the standard algebraic operators (i.e., *, /, +, -), assignment ("="), logical operators (, =, ==), sub-expression join operator (";"), and a conditional operator pair ("? :") like in C. Also added, is an iterative conditional pair ("?? :").
Heres a couple of examples:
ee -p 2 + 3 * 7
23
In this case, when called with the "-p" flag, the next parameter is evaluated and the final result printed. The "-c" flag does the same thing, but doesnt print the final result (use this when the expression already contains output statements).
ee -c x = 7; y = 11; z = (x * y); print(z; "n")
77
The ";" operator isnt really a statement terminator, it is actually a join operator. It evaluates the left and right expressions, and returns the result of the right hand side. It has the lowest order of precedence, so in general use you can treat it like a statement terminator (however it can be used in the middle of a larger expression, such as within parentheses grouping). It also does double-duty as a function parameter delimeter, such as the print function in the previous example.
The way that the "?" (conditoinal) operator works is as follows:
result = expr_test ? expr_true : expr_false
If expr_test is true (non-zero), then expr_true is evaluated and returned, otherwise expr_false is evaluated and returned. This is just like the inline conditional in C.
Also supported, is the iterative conditional:
result = expr_test ?? expr_true : expr_false
This will evaluate expr_test repeatedly, and as long as it is true, will evaluate expr_true. Once expr_test becomes false, then the final expr_true value is returned as the result of the whole expression. However, if expr_test never was true to begin with, then and only then is expr_false evaluated and returned. Therefore, expr_false can be used for some error handling, for example.
If an operator of lower precedence than ? or ?? is encounterd such as the ";" (join) operator, then a default false target will automatically be assumed. Therefore,
result = expr_test ? expr_true : 0; ...
result = expr_test ? expr_true; ...
are both the same. Heres a more extensive example, highlighting a few more of the operands avaliable. This example also calls the interpreter using the unix "#!" syntax, same as what is used for other scripting languages.
#!/usr/local/bin/ee
# This is a comment
i = 0;
x = 0;
i < 10 ?? ( # Read this as "while i is less than 10"
j = 0;
j < 5 ?? ( # while j < 5
array[i][j] = x; # here we are assigning a value to a 2-dimentional array
j++;
x++
);
i++
)
This example uses the iterative conditional operator to initialize an array. Notice the missing ";" after x++ and i++. this is because they are not followed by an operand (instead, in this case are followed by a closing parenthese). The ";" operator is a binary operator, no different than +, -, *, /, etc. Therefore, it is only used between to operands or two sub-expressions.
Enhancements:
- This release adds a bunch of functions to round out the string handling capabilities of 2e.
- Also added are "anonymous" functions, bitwise operators, and a few code cleanups.
<<lessThe language itself is refered to as 2e, however the interpreter is called ee.
An operand can be a literal, such as a numeric value (integer or floating point), a quoted string, a single-quoted character, a variable or a function call. Operators consist of the standard algebraic operators (i.e., *, /, +, -), assignment ("="), logical operators (, =, ==), sub-expression join operator (";"), and a conditional operator pair ("? :") like in C. Also added, is an iterative conditional pair ("?? :").
Heres a couple of examples:
ee -p 2 + 3 * 7
23
In this case, when called with the "-p" flag, the next parameter is evaluated and the final result printed. The "-c" flag does the same thing, but doesnt print the final result (use this when the expression already contains output statements).
ee -c x = 7; y = 11; z = (x * y); print(z; "n")
77
The ";" operator isnt really a statement terminator, it is actually a join operator. It evaluates the left and right expressions, and returns the result of the right hand side. It has the lowest order of precedence, so in general use you can treat it like a statement terminator (however it can be used in the middle of a larger expression, such as within parentheses grouping). It also does double-duty as a function parameter delimeter, such as the print function in the previous example.
The way that the "?" (conditoinal) operator works is as follows:
result = expr_test ? expr_true : expr_false
If expr_test is true (non-zero), then expr_true is evaluated and returned, otherwise expr_false is evaluated and returned. This is just like the inline conditional in C.
Also supported, is the iterative conditional:
result = expr_test ?? expr_true : expr_false
This will evaluate expr_test repeatedly, and as long as it is true, will evaluate expr_true. Once expr_test becomes false, then the final expr_true value is returned as the result of the whole expression. However, if expr_test never was true to begin with, then and only then is expr_false evaluated and returned. Therefore, expr_false can be used for some error handling, for example.
If an operator of lower precedence than ? or ?? is encounterd such as the ";" (join) operator, then a default false target will automatically be assumed. Therefore,
result = expr_test ? expr_true : 0; ...
result = expr_test ? expr_true; ...
are both the same. Heres a more extensive example, highlighting a few more of the operands avaliable. This example also calls the interpreter using the unix "#!" syntax, same as what is used for other scripting languages.
#!/usr/local/bin/ee
# This is a comment
i = 0;
x = 0;
i < 10 ?? ( # Read this as "while i is less than 10"
j = 0;
j < 5 ?? ( # while j < 5
array[i][j] = x; # here we are assigning a value to a 2-dimentional array
j++;
x++
);
i++
)
This example uses the iterative conditional operator to initialize an array. Notice the missing ";" after x++ and i++. this is because they are not followed by an operand (instead, in this case are followed by a closing parenthese). The ";" operator is a binary operator, no different than +, -, *, /, etc. Therefore, it is only used between to operands or two sub-expressions.
Enhancements:
- This release adds a bunch of functions to round out the string handling capabilities of 2e.
- Also added are "anonymous" functions, bitwise operators, and a few code cleanups.
Download (0.031MB)
Added: 2006-12-26 License: GPL (GNU General Public License) Price:
1032 downloads
The Squirrel programming language 2.1.2
The Squirrel programming language is a light-weight scripting language. more>>
The Squirrel programming language is a high level imperative/OO programming language, designed to be a powerful scripting tool that fits in the size, memory bandwidth, and real-time requirements of applications like games. Although Squirrel offers a wide range of features like:
- Open Source zlib/libpng licence
- dynamic typing
- delegation
- higher order functions
- generators
- cooperative threads(coroutines)
- tail recursion
- exception handling
- automatic memory management (CPU bursts free; mixed approach ref counting/GC)
- both compiler and virtual machine fit together in about 6k lines of C++ code.
- optional 16bits characters strings
Squirrel is inspired by languages like Python,Javascript and expecially Lua(The API is very similar and the table code is based on the Lua one).
squirrels syntax is similar to C/C++/Java etc... but the language has a very dynamic nature like python/Lua etc...
local array=[1,2,3,{a=10,b="string"}];
foreach (i,val in array)
{
::print("the type of val is"+typeof val);
}
Entity<<less
- Open Source zlib/libpng licence
- dynamic typing
- delegation
- higher order functions
- generators
- cooperative threads(coroutines)
- tail recursion
- exception handling
- automatic memory management (CPU bursts free; mixed approach ref counting/GC)
- both compiler and virtual machine fit together in about 6k lines of C++ code.
- optional 16bits characters strings
Squirrel is inspired by languages like Python,Javascript and expecially Lua(The API is very similar and the table code is based on the Lua one).
squirrels syntax is similar to C/C++/Java etc... but the language has a very dynamic nature like python/Lua etc...
local array=[1,2,3,{a=10,b="string"}];
foreach (i,val in array)
{
::print("the type of val is"+typeof val);
}
Entity<<less
Download (0.38MB)
Added: 2007-07-29 License: zlib/libpng License Price:
821 downloads
The Blue Programming Language 1.1.1
The Blue Programming Language project is a unique bytecode-compiled language. more>>
The Blue Programming Language project is a unique bytecode-compiled language that implements the most effective capabilities of many popular programming languages in a clear and concise syntax. Plugin modules are easy to develop and can add functions, types, and even programming paradigms to the language without interfering with the syntax.
Blue is still early in its early development stage so very little optimization has been done, and its functionality grows every day. The following introduction is by no means a comprehensive description of blues capabilities.
Main features:
- Free (GPLd)
- A cross-platform programming language
- A dynamic language with a simple and consistant syntax
- Bytecode compiled
- Garbage collected
- Incredibly easy to expand with native functionality
Installation:
- Download the source
- Extract the archive. "tar -xvzf blue1.0.tar.gz"
- cd into the extracted directory. "cd blue"
- Execute make. "make"
- su to root. "su root"
- Execute make install 1. "make install"
- Execute make test. "make test"
Replace "make install" command with "make install INSTALL_DIR="/different/dir" to install to an alternate location.
Enhancements:
- This update contains a compiler bugfix, many more tests, and a function call optimization.
<<lessBlue is still early in its early development stage so very little optimization has been done, and its functionality grows every day. The following introduction is by no means a comprehensive description of blues capabilities.
Main features:
- Free (GPLd)
- A cross-platform programming language
- A dynamic language with a simple and consistant syntax
- Bytecode compiled
- Garbage collected
- Incredibly easy to expand with native functionality
Installation:
- Download the source
- Extract the archive. "tar -xvzf blue1.0.tar.gz"
- cd into the extracted directory. "cd blue"
- Execute make. "make"
- su to root. "su root"
- Execute make install 1. "make install"
- Execute make test. "make test"
Replace "make install" command with "make install INSTALL_DIR="/different/dir" to install to an alternate location.
Enhancements:
- This update contains a compiler bugfix, many more tests, and a function call optimization.
Download (0.12MB)
Added: 2007-07-22 License: GPL (GNU General Public License) Price:
826 downloads
Secleted [ 0 ] software to compare
Copyright Notice:
Software piracy is theft, Using crack, password, serial numbers, registration codes, key generators is illegal and prevent future software development. The above programming search only lists software in full, demo and trial versions for free download. Download links are directly from our mirror sites or publisher sites, torrent files or links from rapidshare.com, yousendit.com or megaupload.com are not allowed