"Every language was created for a specific purpose"

  • Perl, because developers should learn to appreciate pain
  • C++, because 5 people on the planet should be able to create Operational Systems and embedded systems and because D was too far into the alphabet
  • C, because B needed a successor
  • D, because C needed a "real" successor
  • Python, because writing angle brackets are bad to your health
  • Java, because C++ was too difficult and Gosling thought (falsely) that we needed a language without Multiple Inheritance
  • VB, because Bill Gates' children needed "VB inheritance"
  • C#, because Java started stealing market shares from "Visual C++"

But I guess that list might be controversial for some ... ;)


Brainfuck exists to show you can write a compiler for a Turing complete language in under 200 bytes :)


PHP Originally stood for "Personal Home Pages" which says it all I think.

APL Stands for "A Programming Language" and was created for "teaching and analysis of topics related to the application of computers"

TCL Pronounced "Tickle" was "born out of frustration" by John Ousterhout and was meant to be embedded in other applications

Applescript Was a progression from Hypertalk for Appels HyperCard application and was, like TCL, designed to be embedded in other applications to facilitate scripting.

That's all. My Programming Language history isn't great.


Just my opinions:

C# - Microsoft wanted their own Java

Haskell - research of pure functional languages

Perl - text manipulation

Python - readable scripting language

Procedural languages - easy to compile for Von Neumann style architectures

LISP & Functional languages - help with bottom-up software design

Ruby - OO-Perl

Lua - Embeddable scripting language

C - Portable assembler

C++ - Portable assembler with objects

Emacs Lisp - Scheme or CL didn't have enough performance at that time

Pascal - Teaching programming. For some perverted reason people insisted using it for production software too.

Assembly languages - Writing machine language and resolving JMP addresses manually on paper is tedious. (I've tried it)

Power shell - replace BAT scripting

PHP - for making internets

Javascript - for making internets 2.0

APL - to make obfuscated coding contests obsolete