In our professional software development, we have focused on finding ways to help developers work more effectively. Despite the range of programming languages available today, we are still limited by them. It makes sense to extend the existing languages to create more domain-oriented ones, which allow writing programs on a higher level and in a manner that is more natural to each domain. With an instrument that allows creating language constructs as simple as creating classes or methods is in a conventional language, you can significantly change the way you develop software. This new style of programming, when you create specialized languages, use them to develop software, and extend them when and how required, is called Language Oriented Programming (LOP). MPS Story Meta Programming System started in 2003 as a research project. In 2004, its underlying concepts were described in the Language Oriented Programming article.
Pig is a platform for analyzing large data sets that consists of a high-level language for expressing data analysis programs, coupled with infrastructure for evaluating these programs. The salient property of Pig programs is that their structure is amenable to substantial parallelization, which in turns enables them to handle very large data sets. At the present time, Pig's infrastructure layer consists of a compiler that produces sequences of Map-Reduce programs, for which large-scale parallel implementations already exist Pig's language layer currently consists of a textual language called Pig Latin, which has the following key properties: * Ease of programming. It is trivial to achieve parallel execution of simple, "embarrassingly parallel" data analysis tasks. * Optimization opportunities. The way in which tasks are encoded permits the system to optimize their execution automatically * Extensibility.
Java-front is a package you can use to generate or transform Java code. It contains a handcrafted SDF grammar for Java, Stratego signatures generated from this grammar and a handcrafted pretty printer. * Modular and extensible syntax definition for Java * Full support for the new language features introduced in Java 5.0 * Heavily tested pretty-printer, which inserts parentheses where necessary! * Option to preserve comments * Conversion of abstract syntax tree to XML possible Available Versions of Java Java-front supports Java 5.0. The syntax definition closely follows the structure of the Java Language Specifcation, Third Edition (JLS3). All new features (generics, wildcards, varargs, static import, enums, foreach loop, annotations) are supported. The Java grammar in Java-front is able to parse and pretty-print all the Java sources in the GNU Classpath and the Java 2 SDK version 1.5.0 of Sun Microsystems. The results of the pretty-printer are verified.
Nailgun is a client, protocol, and server for running Java programs from the command line without incurring the JVM startup overhead. Programs run in the server (which is implemented in Java), and are triggered by the client (written in C), which handles all I/O.