The Discovery Component is about discovering, or finding, implementations for
pluggable interfaces. It provides facilities instantiating classes in general,
and for lifecycle management of singleton (factory) classes.
Fundamentally, Discovery locates classes that implement a given Java interface.
The discovery pattern, though not necessarily this package, is used in many
projects including JAXP (SaxParserFactory and others) and commons-logging
(LogFactory). By extracting this pattern, other projects can (re)use it and
take advantage of improvements to the pattern as Discovery evolves.
Discovery improves over previous implementations by establishing facilities for
working within managed environments. These allow configuration and property
overrides without appealing to the global System properties (which are scoped
across an entire JVM).
The Sigar API provides a portable interface for gathering system information
such as:
* System memory, swap, cpu, load average, uptime, loginsi
* Per-process memory, cpu, credential info, state, arguments, environment,
open files
* File system detection and metrics
* Network interface detection, configuration info and metrics
* TCP and UDP connection tables
* Network route table
This information is available in most operating systems, but each OS has their
own way(s) providing it. SIGAR provides developers with one API to access this
information regardless of the underlying platform. The core API is implemented
in pure C with bindings currently implemented for Java, Perl, Ruby, Python,
Erlang, PHP and C#. This port provides the Java bindings.
XDoclet is a Java code generation engine. It enables Attribute-Oriented
Programming for java. In short, this means that you can add more
significance to your code by adding meta data (attributes) to your java
sources. This is done in special JavaDoc tags.
XDoclet will parse your source files and generate many artifacts such as
XML descriptors and/or source code from it. These files are generated
from templates that use the information provided in the source code and
its JavaDoc tags.
XDoclet lets you apply Continuous Integration in component-oriented
development. Developers should concentrate their editing work on only
one Java source file per component.
The Cython language makes writing C extensions for the Python language
as easy as Python itself. Cython is a source code translator based on
the well-known Pyrex, but supports more cutting edge functionality and
optimizations.
The Cython language is very close to the Python language (and most
Python code is also valid Cython code), but Cython additionally supports
calling C functions and declaring C types on variables and class
attributes. This allows the compiler to generate very efficient C code
from Cython code.
This makes Cython the ideal language for writing glue code for external
C libraries, and for fast C modules that speed up the execution of
Python code.
The flat assembler is a fast and efficient self-assembling 80x86
assembler for DOS, Windows and Linux operating systems. Currently it
supports all 8086-80486/Pentium instructions with MMX, SSE, SSE2, SSE3
and 3DNow! extensions and x86-64 (both AMD64 and EM64T) instructions,
can produce output in binary, MZ, PE, COFF or ELF format. It includes
the powerful but easy to use macroinstruction support and does multiple
passes to optimize the instruction codes for size. The flat assembler
is self-compilable and the full source code is included.
The AUX compiler supports several languages: Ada, C, C++, Fortran and
Objective-C. Since Ada support must be built by an Ada-capable compiler,
only platforms for which a bootstrap compiler is available can build it.
The AUX compiler is based on release versions of the Free Software
Foundation's GNU Compiler Collection. It uses the GCC Runtime Library
Exception, so the resulting binaries have no licensing requirements.
Binaries produced by the AUX compiler should be legally handled the same
as binaries produced by any FSF compiler.
This compiler implements the full Ada-83, Ada-95, Ada-2005 and Ada-2012
standards.
Replacement for the GNU Objective-C runtime supporting the features
of modern dialects of Objective-C for use with GNUstep and other Objective-C
programs.
This runtime is based on the Etoile Objective-C Runtime, an earlier
research prototype, and includes support for non-fragile instance
variables, type-dependent dispatch, and object planes. It is fully
compatible with the FSF's GCC Objective-C ABI and also implements
a new ABI that is supported by Clang and is required for some of
the newer features.
Intel Cilk Plus is an extension to the C and C++ languages to support data
and task parallelism.
Primary Features
High Performance:
* An efficient work-stealing scheduler provides nearly optimal
scheduling of parallel tasks
* Vector support unlocks the performance that's been hiding in your
processors
* Powerful hyperobjects allow for lock-free programming
Easy to Learn:
* Only 3 new keywords to implement task parallelism
* Serial semantics make understanding and debugging the parallel
program easier
*Array Notations provide a natural way to express data parallelism
Easy to Use:
* Automatic load balancing provides good behavior in multi-programmed
environments
* Existing algorithms easily adapted for parallelism with minimal
modification
* Supports both C and C++ programmers
This compiler is based on the original Portable C Compiler by S. C. Johnson,
written in the late 70's. Even though much of the compiler has been
rewritten, some of the basics still remain.
The intention is to write a C99 compiler while still keeping it small, simple,
fast and understandable. I think of it as if it shall be able to compile and
run on PDP11 (even if it may not happen in reality). But with this in mind it
becomes important to think twice about what algorithms are used.
The AUX compiler supports several languages: Ada, C, C++, Fortran and
Objective-C. Since Ada support must be built by an Ada-capable compiler,
only platforms for which a bootstrap compiler is available can build it.
The AUX compiler is based on release versions of the Free Software
Foundation's GNU Compiler Collection. It uses the GCC Runtime Library
Exception, so the resulting binaries have no licensing requirements.
Binaries produced by the AUX compiler should be legally handled the same
as binaries produced by any FSF compiler.
This compiler implements the full Ada-83, Ada-95, Ada-2005 and Ada-2012
standards.