Mar 02

This is part 14 in a series of articles on obscure programming languages.

What is Nimrod?

Nimrod is a general purpose, statically-typed, imperative programming language that supports procedural, object-oriented, functional and generic programming styles while remaining simple and efficient.  Nimrod runs on Windows, Linux, BSD and MacOS X.

Nimrod Design

The Nimrod compiler generates optimized C code and defers compilation to a wide range of external compilers.  Nimrod supports objects with inheritance, overloading, polymorphism and multiple dispatch.  Nimrod treats procedures as first-class entities, meaning it can also be used for functional programming.  Nimrod also supports metaprogramming by a combination of generics, templates, macros, conditional compilation with compile-time function execution, and user-defined operators.

Nimrod has high-level data types, including strings, arrays, sequences, sets, tuples, enumerations, etc.  Most objects created on the heap are managed with garbage collection.

Nimrod also supports a module mechanism to create independent libraries.  The Nimrod standard library has I/O and OS operations, string utilities, Unicode support, regular expressions, and various parsers such as command line options, XML, CSV, and SQL.

Nimrod History

Nimrod was created in 2004 by Andreas Rumpf.  It was originally coded in Object Pascal (FreePascal) and Python.  However, the first version that bootstrapped (was able to compile itself) was released in 2008.

“Hello World” in Nimrod

echo("Hello, World!")

References

Popularity: 1% [?]

Oct 08

This is part 13 in a series of articles on obscure programming languages.

What is M?

The Microsoft “M” programming language is a declarative language for working with data and building domain models.  M lets users write down how they want to structure and query their data using a textual syntax that is convenient to both author and reader.  M does not mandate how data is stored or accessed, nor does it mandate a specific implementation technology.  This is not to be confused with the MUMPS language, which is also known as M.

Continue reading »

Popularity: 1% [?]

Aug 26

This is part 12 in a series of articles on obscure programming languages.

What is L# .NET?

L Sharp .NET is a Lisp-like scripting language for .NET.  It uses a modern Lisp dialect and integrates with the .NET Framework, which provides a rich set of libraries.  The L# library is open source under the copyleft free software license.

L# .NET Design

L# .NET is a dynamic computer programming language intended to be compiled and executed on the Ecma-334 and Ecma-335 Common Language Infrastructure (CLI).  It has a small, simple, extensible core that’s coded in C#.  The source code is easy to follow, and you can easily add your own functions in C# or L#.

L# .NET History

The L# language and its first implementation were designed by Rob Blackwell in 2007.  It was adapted from Paul Graham’s proposed Arc programming language and redesigned to use the .NET Framework. 

“Hello World” in L# .NET

"Hello World"

References

Popularity: 1% [?]

Jul 23

This is part 11 in a series of articles on obscure programming languages.

What is Kite?

Kite is a programming language designed to minimize the required experience level of the programmer.  It aims to allow quick development and running time and low CPU and memory usage.

Continue reading »

Popularity: 1% [?]

Jun 03

This is part 10 in a series of articles on obscure programming languages.

What is JADE?

image

JADE is an object-oriented software development platform.  It has its own programming language that seamlessly integrates an application server and object-oriented database management system.  JADE also provides APIs for other languages such as .NET, Java, C/C++ and Web services.

As a programming language, JADE’s main competitors are Java and C#, while as a database it competes with other object-oriented databases and post-relational databases such as Versant, Caché and Matisse, as well as with traditional relational database software packages such as Oracle and Microsoft SQL Server. 

Continue reading »

Popularity: 2% [?]

Apr 30

This is part 9 in a series of articles on obscure programming languages.

What is Io?

IoIo is a small, prototype-based programming language.  The ideas in Io were inspired by Smalltalk (all values are objects, all messages are dynamic), Self (prototype-based, eliminating the distinction between instance and class), NewtonScript (differential inheritance), Act1 (actors and futures for concurrency), LISP (code is a runtime inspectable/modifiable tree) and Lua (small, embeddable).

Continue reading »

Popularity: 2% [?]

Mar 18

This is part 8 in a series of articles on obscure programming languages.

HaskellWhat is Haskell?

Haskell is an open source, standardized, purely functional programming language with non-strict semantics.  With strong support for integration with other languages, built-in concurrency and parallelism, debuggers, profilers, rich libraries and an active community, Haskell enables developers to produce flexible, maintainable, high-quality software.

Continue reading »

Popularity: 2% [?]

Dec 18

This is part 7 in a series of articles on obscure programming languages.

GroovyGroovy is an object-oriented programming and scripting language for the Java Platform.  It is a dynamic language that builds upon the strengths of Java but has additional features found in Python, Ruby and Smalltalk.

Continue reading »

Popularity: 2% [?]

Nov 11

This is part 6 in a series of articles on obscure programming languages.

Many .NET fans will recognize F# as anything but obscure.  F# (pronounced “F-Sharp”) is a succinct, expressive, efficient, type-inferred, functional and object-oriented programming language for the .NET platform.  Although F# is a research language, it can also serve as a quality environment for large-scale symbolic programming commonly used to implement verification, analysis, optimization and transformation applications. 

Continue reading »

Popularity: 4% [?]

Oct 03

This is part 5 in a series of articles on obscure programming languages.

Euphoria is a powerful yet simple interpreted programming language.  “Euphoria” is an acronym for “End-User Programming with Hierarchical Objects for Robust Interpreted Applications.”

Euphoria was developed to be easier to learn and use than BASIC, but with high-level constructs.  Euphoria supports both loose and strict variable typing.  Euphoria functions are naturally generic and can operate on any type of data.  Euphoria is not object-oriented, yet it achieves many of the benefits of OO languages in a simpler way.

Continue reading »

Popularity: 3% [?]