Modern Programming Languages

Introduction

Programming languages ...

There are ...

What language(s) should be used?

Modern Programming Languages

D 2.0
D 2.0 is like C/C++ a system-level language, but with garbage collection and integrates imperative object oriented programming with functional and concurrent programming (actor model).
Erlang
Erlang is a concurrent programming language with a functional language as it's core, strict evaluation and dynamic typing. It was designed by Ericsson to support distributed, fault-tolerant, soft-real-time, concurrent systems and has been used esp. in the telecommunications area.
Groovy
Groovy is an agile dynamically typed language extension of Java.
Fortress
Fortress is brand new specification of a next generation programming language specifically designed for high performance computing (HPC). It is very innovative, but not yet ready for practice.
Haskell
Haskell is a purely functional programming language. I wrote my diploma thesis about the implementation of geometrical algorithms in this language.
Python
Python is a multi-paradigm programming language that ´ incorporates imperative, functional and object-oriented features. Python has a dynamic type system.
Ruby
Ruby is a reflective, dynamic, object-oriented language and often used in web development.
Scala
Scala is a statically typed multi-paradigm programming language, that integrates features of object-oriented and functional languages. It is integrated into Java and .NET.

Future Programming Languages

The following languages are all in development. It is not foreseeable if they are gonna be successful.

Chapel
Chapel is a imperative and concurrent language and has an interesting concept of "domain maps" to partition data onto processors.
Fortress
Fortress is an specification of a very advanced programming language that resembles mathematical notation. It is so advanced that there is no implementation available yet.
X10
X10 is developed by IBM and supports the hardware of IBM, esp. the "partitioned global address spaces" (PGAS).

Mainstream Programming Languages

Java
In the early nineties i dreamed of a interpreted language similar to C++, because the development cycle at that time was painfully slow (and often still is with C++): code, compile, run, crash (because of a pointer or memory allocation error) and reboot and again. And then Java arrived. Java is very old, but it evolved and I still like to program in Java. There never has been such a huge code library for a single programming language before.
C++
A new version of C++ called C++0x will be released soon. See above for the painful development cycle with C++.

Innovative Programming Languages (but outdated or no longer developed)

Gödel
Gödel named after the logician Kurt Gödel is a declarative logic programming language. Gödel programs look much better than corresponding prolog programs.
λProlog
λProlog is higher order logic programming language. It provides lambda terms (aka closures) and a lot of other advanced features.

Old Programming Languages

Perl
Perl is a language that incorporates features of a lot of languages and tools from the 80ies and 90ies (sed, awk, C, shell scripting and Lisp). It was my all purpose scripting and prototyping language for years. The language caught my interest again recently with the book Higher-Order Perl by Mark Jason Dominus. But newer languages provide the features described in the book in a better way. The newest version Perl6 is under development.
Various old programming languages i used
Basic, C, Eiffel, Forth, GFA Basic, Lisp, Logo, Pascal, Prolog, Scheme, Smalltalk, Turbo Pascal

Copyright © 2007-2012 Jörn Dinkla. All rights reserved.

Valid XHTML 1.0 Strict Valid CSS! Firebug - Web Development Evolved
Last modified: