programming languages
The Mozart Programming System 1.4.0.20080702
Free programming system based on the OZ language more>>
Mozart has an interactive incremental development environment and a production-quality implementation for Unix and Windows platforms. Mozart is the fruit of an ongoing research collaboration by the Mozart Consortium.
Mozart is based on the Oz language, which supports declarative programming, object-oriented programming, constraint programming, and concurrency as part of a coherent whole.
For distribution, Mozart provides a true network transparent implementation with support for network awareness, openness, and fault tolerance. Mozart supports multi-core programming with its network transparent distribution and is an ideal platform for both general-purpose distributed applications as well as for hard problems requiring sophisticated optimization and inferencing abilities.
Mozart was used to developed many applications including multi-agent systems, digital assistants and sophisticated collaborative tools, as well as applications in natural language understanding and knowledge representation, in scheduling and time-tabling,
Major Features:
- Programming:
- Oz is a concurrent object-oriented language. In a first approach, Oz can be programmed in a very similar way to other such languages, like Java. With experience gained, programs tend to become simpler, for example, as they use the powerful concepts of dataflow execution and first-class procedures.
- Oz is an eminently concurrent language. The Mozart system implements ultralightweight threads with preemptive fair scheduling. It easily supports applications with many thousands of threads. Dataflow synchronization is achieved transparently through logic variables.
- Multi-Paradigm Programming: Unlike most other programming languages which lock you into a single programming paradigm, Oz unifies into one simple and coherent framework the functional, object-oriented, and logic flavors of programming. This is possible due to the very general and powerful underlying paradigm of concurrent constraint programming.
- Inferencing:
- Oz is a powerful constraint language with logic variables, finite domains, finite sets, rational trees and record constraints. The system is competitive in performance with state-of-the-art commercial solutions, but is much more expressive and flexible, providing first-class computation spaces, programmable search strategies, a GUI for the interactive exploration of search trees, parallel search engines exploiting computer networks, and a programming interface to implement new and efficient constraint systems.
- Logic Programming: Oz goes beyond Horn-clauses to provide a unique and flexible approach to logic programming. Oz distinguishes between directed and undirected styles of declarative logic programming. For both, Oz lets you specify a programs logical semantics separately from its resolution strategy. Powerful tools and libraries are provided built on the concepts of first-class computation spaces and determinacy-driven disjunctions. Together with distribution, this makes Mozart an ideal platform for both intelligent multi-agent systems and parallel search.
- Distribution:
- Open Distributed Computing: The Mozart system is an ideal platform for open distributed computing: it makes the network completely transparent. The illusion of a common store is extended across multiple sites and automatically supported by very efficient protocols. In addition, full control is retained over network communication patterns, permitting very efficient use of network resources. Furthermore, reliable, fault tolerant applications can easily be developed.
- Distributed Component-Based Programming: Mozart provides first-class software component specifications (called functors) and software components (called modules). The module system facilitates application development and deployment. Both component specifications and components can be transparently referenced through URLs, absolute and relative, and loaded by need. Flexible security policies are implemented by module managers.
- Mobile Agents: With its dynamic component technology, open computing support, and full-featured implementation, Mozart is an ideal platform for serious programming with mobile agents. A computation can create new computations dynamically. Computations can roam the shared Mozart space at will. Each site has full control over what resources it makes available to incoming computations.
- Separation of Concerns (Aspects): The Mozart system separates the concerns of application functionality, distribution structure, fault tolerance, and openness (application connectivity). The separation is almost perfect for the first two concerns and quite good for the last two. In the context of aspect-oriented programming, this can be seen as a ``vertical approach, where a few aspects are treated in depth, versus the ``horizontal approach of tools like AspectJ, which provide primitives for handling many aspects.
- Platform Issues:
- Cross-Platform Compatibility: Like Java, Oz is `write once, run everywhere and provides automatic local and distributed garbage collection. The Oz virtual machine is portable and known to run on most flavors of Unix as well as on Windows.
- GUI Programming: The Mozart system comes with an object-oriented library that provides a high-level well integrated interface to Tcl/Tk. This is supplemented with QTk, a tool that supports a mixed declarative/procedural approach to user interface design. This needs only a fraction of the code of standard procedural approaches and is particularly well-suited for building context-sensitive interfaces.
- Native Extension Modules: The Mozart system was designed to be easily extended with new native functionality packaged as DLLs. Comprehensive support is provided for the convenient creation of DLLs. Thus, the Mozart system is not only aggressively open, but also an ideal very high-level glue language.
Requirements: Aquamacs Emacs
An Introduction to Java Programming 1.0
This PDF tutorial from Apple Computers focuses on building a slideshow application and is meant to give you a basic and pragmatic understanding of this type of programming more>>
An Introduction to Java Programming 1.0 is such a convenient Java tool that it mostly focuses on building a slideshow application and is meant to give you a basic and pragmatic understanding of this type of programming. This tutorial is aimed at beginning programmers who have little or no experience with programming in Java, and experienced programmers who are interested in learning Java.
Processing 1.0.8
Processing is considered to be a functional and handy open source programming language and environment for people who want to program images, animation, and interactions. more>>
Processing 1.0.8 is considered to be a functional and handy open source programming language and environment for people who want to program images, animation, and interactions. It is used by students, artists, designers, researchers, and hobbyists for learning, prototyping, and production. It is created to teach fundamentals of computer programming within a visual context and to serve as a software sketchbook and professional production tool. Processing is developed by artists and designers as an alternative to proprietary software tools in the same domain.
Enhancements:
- A bonfire of bug fixes.
- Environment:
-
- Fix bug causing preferences to not save correctly.
- Fix bug causing preferences to not save correctly.
Gwydion Dylan 2.3.4
Gwydion Dylan is a tool to compile the programming language Dylan. more>>
Gwydion Dylan 2.3.4 is a tool to compile the programming language Dylan. The d2c compiler was developed at Carnegie Mellon University and open sourced 1998. A group of volunteers is improving the compiler and porting it to other platforms since then.Dylan is a modern object-oriented programming language featuring multiple dispatch, multiple inheritance, closures and a pattern matching, hygienic macro system.Gwydion Dylan PPC is a port of d2c to the CodeWarrior integrated environment. It compiles to C which is in turn automatically compiled to object code by CodeWarrior.
Gwydion Dylan PPC 2.3.3r2
Compiler for the programming language, Dylan. more>>
Dylan is a modern object-oriented programming language featuring multiple dispatch, multiple inheritance, closures and a pattern matching, hygienic macro system.Gwydion Dylan PPC is a port of d2c to the CodeWarrior integrated environment. It compiles to C which is in turn automatically compiled to object code by CodeWarrior.
Dictionary of Computing 1.1
Dictionary of Computing is proved to be a highly-efficient, high-quality dictionary module for use with the shareware programs: Verbs & Nouns or Verbs & Nouns Lookup. more>>
Dictionary of Computing 1.1 is proved to be a highly-efficient, high-quality dictionary module for use with the shareware programs: 'Verbs & Nouns' or 'Verbs & Nouns Lookup'.
The source for this dictionary comes from the 'Free On-line Dictionary of Computing' by Denis Howe and has been converted to the format suitable for use with 'Verbs & Nouns'. It is a searchable dictionary of acronyms, jargon, programming languages, tools, architecture, operating systems, networking, theory, conventions, standards, mathematics, telecoms, electronics, institutions, companies, projects, products, history, in fact anything to do with computing. You can use the module for browsing, looking up words etc. You can add your own comments, definitions, or translations to any language.
Requirements: System 7.0 - Mac OS 9.2.2'Verbs & Nouns'
Diehl GraphSoft MiniCAD 7.0.3
Diehl GraphSoft MiniCAD is considered as a potential and easy to use 2D/3D program for the Macintosh and Windows with a built in database, macro programming language, and now a full complement of industry-specific tools. more>>
Diehl GraphSoft MiniCAD 7.0.3 is considered as a potential and easy to use 2D/3D program for the Macintosh and Windows with a built in database, macro programming language, and now a full complement of industry-specific tools.
Tony Lownds Python 2.5b1
Tony Lownds Python - Interpreted, interactive, object-oriented programming language more>>
Python combines remarkable power with very clear syntax. It has modules, classes, exceptions, very high level dynamic data types, and dynamic typing. There are interfaces to many system calls and libraries, as well as to various windowing systems (X11, Motif, Tk, Mac, MFC).
New built-in modules are easily written in C or C++. Python is also usable as an extension language for applications that need a programmable interface.
The Python implementation is portable: it runs on many brands of UNIX, on Windows, DOS, OS/2, Mac, Amiga... If your favorite system isnt listed here, it may still be supported, if theres a C compiler for it. Ask around on comp.lang.python -- or just try compiling Python yourself.
ChucK + miniAudicle 0.1.3.7
ChucK + miniAudicle - ChucK programming language editor, compiler, and virtual machine more>>
It can be used as a standalone ChucK development + runtime + on-the-fly programming environment, or in conjunction with traditional command-line modes of chuck operation and with other chuck tools.
Currently implemented features include: embedded ChucK runtime engine, syntax highlighting + coloring, on-the-fly programming support, GUI building API in ChucK (MAUI elements, experimental).
Join the chuck mailing lists for updates and around-the-clock support.
Main features:
- embedded ChucK runtime engine
- on-the-fly programming support
- syntax highlighting + coloring
- GUI building API in ChucK (MAUI elements)
Apache Lucene 2.2.0
Apache Lucene is a high-performance, full-featured text search engine library written entirely in Java more>>
Apache Lucene is a technology suitable for almost any application that requires full-text search, especially cross-platform.
Main features:
- Scalable, High-Performance Indexing
- over 20MB/minute on Pentium M 1.5GHz
- small RAM requirements -- only 1MB heap
- incremental indexing as fast as batch indexing
- index size roughly 20-30% the size of text indexed
- Powerful, Accurate and Efficient Search Algorithms
- ranked searching -- best results returned first
- many powerful query types: phrase queries, wildcard queries, proximity queries, range queries and more
- fielded searching (e.g., title, author, contents)
- date-range searching
- sorting by any field
- multiple-index searching with merged results
- allows simultaneous update and searching
- Cross-Platform Solution
- Available as Open Source software under the Apache License which lets you use Lucene in both commercial and Open Source programs
- 100%-pure Java
- Implementations in other programming languages available that are index-compatible
Cascade Terminal 1.2
Cascade Terminal - Terminal/programming language for teaching more>>
It is a good program for teaching terminal and basic concepts.
Completly freeware.
NetBeans 6.5.1
NetBeans is a simple to use, yet sophisticated IDE coding tool written in the Java programming language. more>>
NetBeans 6.5.1 is a simple to use, yet sophisticated IDE coding tool written in the Java programming language. A tools platform into which other tools and functionality can be seamlessly integrated by writing and incorporating modules. An application core which can be used as a generic framework to build any kind of application.
Python 3.1.1
Python is a multi-purpose, highly customizable programming language. It is often compared to Tcl, Perl, Scheme or Java. more>>
Python 3.1.1 is a multi-purpose, highly customizable programming language. It is often compared to Tcl, Perl, Scheme or Java. Python combines remarkable power with very clear syntax. It has modules, classes, exceptions, very high level dynamic data types, and dynamic typing. There are interfaces to many system calls and libraries, as well as to various windowing systems (X11, Motif, Tk, Mac, MFC). New built-in modules are easily written in C or C++.
Python is also usable as an extension language for applications that need a programmable interface.The Python implementation is portable: it runs on many brands of UNIX, on Windows, DOS, OS/2, Mac, Amiga... If your favorite system isn't listed here, it may still be supported, if there's a C compiler for it. Ask around on comp.lang.python -- or just try compiling Python yourself.
PyOXIDE 0.7.1
PyOXIDE is an open-source OS X based IDE for the Python programming language more>>
To build it yourself (requires XCode 1.2 or later), download both the source and the source for IDEKit.
PDF Clown 0.0.7 Alpha
Abstract library devoted to the manipulation of PDF files, implemented on multiple platforms more>> Abstract library devoted to the manipulation of PDF files, implemented on multiple platforms
PDF Clown is a free and open source library that implements the Portable Document Format (PDF) specification in multiple languages (Java 1.5 and C# 2.0).
PDF Clown is a software library. Its intended audience is therefore primarily software developers. Nonetheless, future efforts may result in GUI-based utilities for performing common tasks (e.g. PDF files merging/splitting) accessible to casual users too.
Main features:
- PDF generator: PDF Clown can create new PDF files
- PDF reader: PDF Clown can access existing PDF files
- PDF editor: PDF Clown can manipulate existing PDF files
System requirements:
-
Enhancements
- [add] Actions (see documents.interaction.actions.*)
- [add] Annotations (see documents.interaction.annotations.*)
- [add] Acroform (see documents.interaction.forms.*)
- [add] Page-level navigation (see documents.navigation.page.*)
- [add] Document-level navigation (see documents.navigation.document.*)
- [add] File specifications (see documents.fileSpecs.*)
- [add] Path drawing (see documents.contents.composition.PrimitiveFilter,
- documents.contents.objects.*)
- [fix:1909704] Symptom: case-insensitive programming languages experience namespace collision.
- Cause: some classes (ColorSpaces, Fonts, XObjects) had names equivalent to subnamespaces
- (colorSpaces, fonts, xObjects). See: documents.contents.ColorSpaceResources/
- FontResources/XObjectResources: namespace collision is now resolved.
- [fix:0.0.6:1:SC] Symptom: after a file-system file is opened it keeps being locked undefinitely.
- Cause: lack of explicit disposal. See: files.File.close()/.Dispose(): file lock is now appropriately
- released on object disposal.