Programming Languages List

Assembly LanguagesBASIC Dialects
CCompiler and Parser Tools
Database LanguagesEmbeddable Languages
Functional LanguagesGame Languages
GeneralGraphical Languages
Hardware Description LanguagesHaskell
Languages to Prove a PointLisp Dialects
Logic, Declarative and Constraint based LanguagesMarkup Languages
MLMusical/Audio Processing Languages
Rapid Application DevelopmentScientific and Mathematical Languages
SmalltalkToy Languages
Web Programming LanguagesWirth

Assembly Languages

Okay, its really more of a "class" of languages. Anyway, here's a list by architecture.

BASIC Dialects

BASIC used to stand for "Beginner's All Purpose Symbolic Instruction Code", but I guess the fact that I REMEMBER that means I'm old-skool. Of course, I programmed Basic on a TRS-80 Color Computer II, line numbers were MANDATORY, and GoSub was HIGH CLASS :). Largely due to Microsoft's Visual Basic, the language has morphed into more of a RAD tool, and many recent languages calling themselves "Basic" are attempts at being RAD tools.

C

C gets its own category. Its one of my favourite languages despite its weaknesses(because of :). Anyway, I'm not going to even TRY to list all the C compilers/intepreters there have ever been. Just some that are important and/or useful to know about. Also links to languages that are heavily related to C. For those needing a grammar or parser for C, here's a C99 parser under the GPL, here's a BNF grammar for D Parser, and finally here's a Yacc/Lex grammar for C.

Compiler and Parser Tools

Database Languages

Embeddable Languages

Some of these languages(Lua, GameMonkey, etc.) have a lot of use in games, and some might question why I put them in "embeddable", and all game languages are(For the most part) embeddable. So what's the difference? My test is whether the language is designed to be embedded and not limited to use for games. If the language is effectively limited to games, or literally the interpreter's sole purpose is to RUN games written entirely in the language, OR historically the language was a game creation tool, then it goes in Game Languages. Oh yeah, some of this could also go in the toy language category. I myself am not sure how I decide, and freely admit I may get it wrong.

Functional Languages

Languages which emphasize functional programming techniques, and lack of mutation. This includes non-pure languages(i.e. Scheme) as well as pure.

Game Languages

Games have always been one of the heavy users of scripting languages, and the history of their use in games is very intriguing. Many of these languages are mostly interesting from a historical perspective(but not all). Sierra On-line fans will also like to visit The Ultimate AGI & SCI Web Site.

General

Not all of these are totally mainstream, but they don't fit nicely into my current categories, so here they are.

Graphical Languages

Hardware Description Languages

I should really put this in the hardware hacking section, but they are "programming languages". Also, if you're interested in "open source" hardware, check out Open Cores. Also, if you think hardware development is something too remote to be able to do cheaply in your house, you'd be surprised... If you're a student check out the Altera University Development Kit, for $150 you get an Altera board with an Flex10K, FPGA(Field Programmable Gate Array) and a Max7000, CPLD(Complex Programmable Logic Device). Another option if you're not a student, or want something that can be integrated into a project is this Max7000 based device only costs about $60, and has far less cool stuff than the University Kit. If I were to build a robot tomorrow, this is what I would use.

Haskell

http://www.haskell.org/
A general purpose, purely functional programming language.

Languages to Prove a Point

I know the name is a little odd. But I want a category that is more general than that of "Joke Languages". These are languages that were designed to drive home some idea about programming, usually via some examples that are as much fun to read as getting a lobotomy.

Lisp Dialects

Logic, Declarative and Constraint based Languages

Markup Languages

ML

ML is a very fascinating language. It has strong, static typing, but much of the typing is done through "inferencing", in other words, the compiler figures out what "types" are acceptable to your cod, and so the code is mostly free of type annotations. I strongly recommend ML if you hate static typing. If you've already TRIED ML and still hate static typing, that's different, at least you have ground to stand on. Here's an introduction to ML.

Musical/Audio Processing Languages

Languages for processing audio(I suppose DSP stuff would count) and/or creating music.

Rapid Application Development

Scientific and Mathematical Languages

Fortran, the first high level language(aka Not Assembly Language :), was designed for scientific computing and engineering applications. Since then, there has been a long line of languages to support engineering, scientific, and mathematical needs.

Smalltalk

Smalltalk is one of the cooler languages around, and it has a long and varied history.

Toy Languages

I feel bad calling these toy languages, but they are mostly the work of individuals or small groups. They are all very obscure and/or new. I keep a look out for these because maybe they'll go somewhere, but mostly, they're just interesting. If one of them strikes your fancy, go for it, it may be the next big thing.

Web Programming Languages

Wirth

Languages designed by Niklaus Wirth.