"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