Programming-Languages
at 12h54min, 16 December 2011 with Tags: Languages Programming
I'm really fascinated by programming languages & I've tried many of them.
For me, they're like chess openings : each one has its stenghts and weaknesses., and choosing among them is often a matter of taste/fashion.
Other sites
Multi purpose languages
- OpenDylan Dylan is an advanced, object-oriented, dynamic language which supports rapid program development. When needed, programs can be optimized for more efficient execution by supplying more type information to the compiler. Nearly all entities in Dylan (including functions, classes, and basic data types such as integers) are first class objects. Additionally Dylan supports multiple inheritance, polymorphism, multiple dispatch, keyword arguments, object introspection, macros, and many other advanced features...
- Clay Clay has the same memory footprint and runtime overhead as C. It is suitable for writing garbage collectors, embedded systems, database servers, games etc.
- Dylan.net an implementation of Dylan on .Net (using V.B: I have some doubts)
- Euphoria claims to be one of the fastest ones. The syntax seems easy, I really need to test it one day.
- TCL is widely used but has a bad reputation. It's a shame because the language has really powerfull features. One of the best articles I know about it is the following one : Tcl the misunderstood
- SalmonPL is a new general purpose scripting programming language.
- Katahdin is an interesting try: modifying the syntax at runtime.
- Swym This programming language is designed to let you Say What You Mean, as clearly and elegantly as possible. (It's pronounced "swim", in case you were wondering.)
- Rebol is worth studying. It's a completly different language. I would say between Lisp and TCL. I really liked its parse function.
- Red is a new programming language strongly inspired by REBOL, but with a broader field of usage thanks to its native-code compiler, from system programming to high-level scripting, while providing a modern support for concurrency and multi-core CPU.
- Icon Icon is a high-level, general-purpose programming language with a large repertoire of features for processing data structures and character strings. Icon is an imperative, procedural language with a syntax reminiscent of C and Pascal, but with semantics at a much higher level.
- Unicon brings oriented object facilities to its father Icon
- ObjectIcon another implementation bringing oo facilities, unicode support, etc.
- Converge traces its heritage back to languages as diverse as Python, Haskell, Icon and Smalltalk.
- Wrapl is a high level, dynamically typed interpreted programming language.
- Epoch seems to be a Go / Rust concurrent.
Scripting languages
- Squirrel is very similar to Lua.
- MoonScript is for Lua what CoffeeScript is to JavaScript.
Assembler
- One of the best tutorial I've seen so far.
JVM Languages
- Mirah is a new way of looking at JVM languages. In attempting to build a replacement for Java, we have followed a few guiding principals: Mirah does not impose any jar files upon you. YOU decide what your application’s dependencies should be. We have borrowed heavily from Ruby, but added static typing and minor syntax changes to support the JVM’s type system. The result is pleasing to the eye, but as powerful as Java. Mirah supports various mechanisms for compile-time metaprogramming and macros. Much of the "open class" feel of dynamic languages is possible in Mirah. Because Mirah directly targets the JVM’s type system and JVM bytecode, it performs exactly as well as Java.
Functionnal Languages
- Shen/Qi the last project of Mr.Tarver, author of Q.I is trying to bring Lisp to a highter level.
- Arc is a new dialect of Lisp, written by Paul Graham. Arc is designed for exploratory programming: the kind where you decide what to write by writing it. A good medium for exploratory programming is one that makes programs brief and malleable, so that's what we've aimed for. This is a medium for sketching software.
- GOO is a new type-based prefix syntaxed language that is simple, powerful and extensible. GOO is an acronym for Generic Object Orientator. Seems dead.
- Curl Curl's push for a next-generation web platform was born in a research lab at the Massachusetts Institute of Technology (MIT). In 1995, DARPA provided a grant to MIT to produce a rich client language for what was quickly becoming an internet society. Three years later, in 1998, twelve researchers from MIT founded the Curl Corporation, the predecessor to today's SCSK Corporation/
Curl, as a product, can be broadly divided into four categories: the Curl language, development environment, runtime engine, and development libraries. - 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. We have developed many applications including sophisticated collaborative tools, multi-agent systems, and digital assistants, as well as applications in natural language understanding and knowledge representation, in scheduling and time-tabling, and in placement and configuration.
- Pure is a modern-style functional programming language based on term rewriting. It offers equational definitions with pattern matching, full symbolic rewriting capabilities, dynamic typing, eager and lazy evaluation, lexical closures, built-in list and matrix support and an easy-to-use C interface. The interpreter uses LLVM as a backend to JIT-compile Pure programs to fast native code.
- Atomo by the Slate author mixes Slate, Scheme, Ruby and Erlang. All is done with Haskell.
- LispForum is the place to go if you're starting out with all Lisp related languages.
Prototype-based Languages
- Io is a prototype-based programming language inspired by Smalltalk (all values are objects, all messages are dynamic), Self (prototype-based), NewtonScript (differential inheritance), Act1 (actors and futures for concurrency), LISP (code is a runtime inspectable/modifiable tree) and Lua (small, embeddable).
Logic langages
- Logtalk is an object-oriented logic programming language that can use most Prolog implementations as a back-end compiler. As a multi-paradigm language, it includes support for both prototypes and classes, protocols (interfaces), component-based programming through category-based composition, event-driven programming, and high-level multi-threading programming.
Categories: Languages Programming