Skip to content

Instantly share code, notes, and snippets.

@yuriyzubarev
Created April 10, 2012 23:29
Show Gist options
  • Star 6 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save yuriyzubarev/2355590 to your computer and use it in GitHub Desktop.
Save yuriyzubarev/2355590 to your computer and use it in GitHub Desktop.
Categories of programming languages

Categories of programming languages

Generated from ‘List of programming languages by type’ from Wikipedia: http://en.wikipedia.org/wiki/Categorical_list_of_programming_languages

.NET Framework

  • Reflective languages

32032

  • Machine languages

4DOS

  • Command line interface languages

6502

  • Machine languages

6510

  • Machine languages

ABAP

  • Fourth-generation languages

ABC

  • Off-side rule languages

ABCL/1

  • Object-oriented prototype-based languages

ABCL/R

  • Object-oriented prototype-based languages

ABCL/R2

  • Object-oriented prototype-based languages

ABCL/c plus

  • Object-oriented prototype-based languages

ABCL/c+

  • Curly-bracket languages

ADMINS

  • Fourth-generation languages

AIMMS

  • Numerical analysis

AKI

  • Assembly languages

ALF

  • Logic-based languages
  • Multiparadigm languages

ALGOL

  • Compiled languages
  • Procedural languages

ALGOL W

  • Wirth languages

AMD’s

  • Machine languages

AMPL

  • Numerical analysis

ANTLR

  • Syntax handling languages

APL

  • Array languages
  • Impure
  • Interpreted languages
  • Multiparadigm languages

ARLOGO

  • Non-English-based languages

ARM

  • Machine languages

ASCENT

  • Assembly languages

ASEM-51

  • Assembly languages

ASPER

  • Assembly languages

AUTOCODER

  • Assembly languages

AWK

  • Curly-bracket languages
  • Scripting languages

ActionScript

  • Curly-bracket languages
  • Client side
  • Multiparadigm languages
  • Object-oriented prototype-based languages
  • Procedural languages
  • Reflective languages
  • Scripting languages

Actor

  • Single dispatch

Ada

  • Compiled languages
  • Concurrent languages
  • Multiparadigm languages
  • Procedural languages

Ada 95

  • Single dispatch

Afnix

  • Concurrent languages

Agora

  • Object-oriented prototype-based languages

Aldor

  • Iterative languages

Alef

  • Concurrent languages
  • Curly-bracket languages

Algae

  • Numerical analysis

Alice

  • Compiled languages
  • Impure

Alma-0

  • Logic-based languages
  • Multiparadigm languages
  • Procedural languages

Alphard

  • Iterative languages

AngelScript

  • In object code

Ant

  • Declarative languages
  • Interpreted languages
  • XML-based languages

AppleScript

  • Scripting languages

Arc

  • List-based languages – LISPs

Argus

  • Synchronous languages

Array-based

  • Data-structured languages

AspectC++

  • Aspect-oriented languages

AspectJ

  • Aspect-oriented languages

Ateji PX

  • Compiled languages
  • Concurrent languages
  • Extension languages

AutoHotkey

  • Curly-bracket languages
  • Interpreted languages

AutoIt

  • Interpreted languages

AutoLISP

  • Extension languages

Averest

  • Synchronous languages

BAL

  • Assembly languages

BASIC

  • Compiled languages
  • Interactive mode languages
  • Interpreted languages
  • Procedural languages

BCPL

  • Compiled languages
  • Curly-bracket languages
  • Procedural languages

BETA

  • Multiparadigm languages
  • Single dispatch

BLISS

  • Procedural languages

Bash

  • Scripting languages

BeanShell

  • Scripting languages

Befunge

  • Esoteric languages
  • Reflective languages

Bigwig

  • Authoring languages

Bistro

  • Single dispatch
  • Reflective languages

Boo

  • Off-side rule languages

Brainfuck

  • Esoteric languages

BuildProfessional

  • Fourth-generation languages

C

  • Compiled languages
  • Curly-bracket languages
  • Procedural languages

C#

  • Compiled languages
  • Curly-bracket languages
  • Iterative languages
  • Multiparadigm languages
  • Single dispatch
  • Procedural languages
  • Reflective languages

C++

  • Compiled languages
  • Curly-bracket languages
  • Metaprogramming languages
  • Multiparadigm languages
  • Single dispatch
  • Procedural languages

C—

  • Assembly languages
  • Assembly languages

C/AL

  • Extension languages

CAL

  • Extension languages
  • Impure

CHAIN

  • Command line interface languages

CLACL (CLAC-Language)

  • Logic-based languages

CLEO

  • Compiled languages

CLIPPER 5.3

  • Compiled languages

CLIPS

  • Rule-based languages

CLIST

  • Command line interface languages
  • Scripting languages

CLU

  • Iterative languages

CLush

  • Compiled languages

CMS EXEC

  • Command line interface languages
  • Scripting languages

COBOL

  • Compiled languages
  • Procedural languages

CODE

  • Visual languages

COMPASS

  • Assembly languages

CSC

  • Fourth-generation languages

CaesarJ

  • Aspect-oriented languages

Candle

  • Curly-bracket languages
  • Declarative languages
  • Impure
  • Scripting languages
  • Syntax handling languages
  • XML-based languages

Cat

  • Stack-based languages

Cecil

  • [[Multiple dispatch]]
  • Object-oriented prototype-based languages

Ch

  • Command line interface languages
  • Scripting languages

Chapel

  • Array languages
  • Concurrent languages

Charity

  • Pure

Charm

  • Reflective languages

Chef

  • Esoteric languages

Chinese BASIC

  • Non-English-based languages

ChucK

  • Concurrent languages
  • Curly-bracket languages
  • Multiparadigm languages
  • Single dispatch
  • Procedural languages
  • Reflective languages

Cilk

  • Concurrent languages
  • Curly-bracket languages

Clarion

  • Data-oriented languages

Clean

  • Pure

Clipper

  • Data-oriented languages

Clojure

  • Concurrent languages
  • Impure
  • Interactive mode languages
  • Reflective languages

Co-array Fortran

  • Concurrent languages

Cobra

  • Compiled languages
  • Iterative languages
  • Multiparadigm languages
  • Single dispatch
  • Off-side rule languages
  • Procedural languages
  • Reflective languages

Coco/R

  • Syntax handling languages

ColdFusion

  • Single dispatch
  • Procedural languages
  • Scripting languages

Combined Programming Language

  • Procedural languages

Comet

  • Little languages

Common Lisp

  • Compiled languages
  • Impure
  • Interactive mode languages
  • List-based languages – LISPs
  • Multiparadigm languages
  • [[Multiple dispatch]]
  • Reflective languages

Component Pascal

  • Procedural languages
  • Reflective languages
  • Wirth languages

Compose*

  • Aspect-oriented languages

Concurrent Pascal

  • Concurrent languages

Constraint Handling Rules

  • Rule-based languages

CorVision

  • Fourth-generation languages

Corn

  • Compiled languages
  • Concurrent languages
  • Multiparadigm languages
  • Single dispatch

Coursewriter

  • Authoring languages

Coyote

  • Curly-bracket languages

Curl

  • Compiled languages
  • Impure
  • Metaprogramming languages
  • Multiparadigm languages
  • Single dispatch
  • Procedural languages
  • Reflective languages

Curry

  • Concurrent languages
  • Pure
  • Logic-based languages
  • Multiparadigm languages
  • Off-side rule languages

Cyclone

  • Curly-bracket languages

  • Concurrent languages
  • XML-based languages

D

  • Compiled languages
  • Curly-bracket languages
  • Metaprogramming languages
  • Multiparadigm languages
  • Single dispatch
  • Procedural languages

DASL

  • Compiled languages
  • Curly-bracket languages
  • Declarative languages
  • Single dispatch
  • Procedural languages

DATABUS

  • Interpreted languages

DCL

  • Command line interface languages

DIBOL

  • Compiled languages

DINO

  • Curly-bracket languages

DOS batch language

  • Command line interface languages

DeScribe Macro Language

  • Extension languages

Delphi

  • Compiled languages
  • Multiparadigm languages
  • Single dispatch
  • Reflective languages

Dylan

  • Compiled languages
  • Impure
  • List-based languages – LISPs
  • Multiparadigm languages
  • [[Multiple dispatch]]
  • Reflective languages

E

  • Aspect-oriented languages
  • Concurrent languages
  • Curly-bracket languages
  • Single dispatch

EA_QB_Command

  • Command line interface languages

ECMAScript

  • Curly-bracket languages
  • Multiparadigm languages
  • Object-oriented prototype-based languages
  • Procedural languages
  • Reflective languages
  • Scripting languages
  • XML-based languages

ECMAScript for XML

  • Curly-bracket languages
  • Multiparadigm languages
  • Object-oriented prototype-based languages
  • Procedural languages
  • Reflective languages
  • Scripting languages

EDTASM

  • Assembly languages

EEL

  • In object code

EICASLAB

  • Visual languages

EXEC 2

  • Command line interface languages
  • Scripting languages

Easytrieve

  • Fourth-generation languages

EcmaScript

  • Client side

Eiffel

  • Compiled languages
  • Concurrent languages
  • Interpreted languages
  • Iterative languages
  • Multiparadigm languages
  • Single dispatch
  • Procedural languages
  • Reflective languages

Emu8086

  • Assembly languages

Erlang

  • Concurrent languages
  • Impure
  • Interactive mode languages

Es shell

  • Command line interface languages

Esterel

  • Synchronous languages

Etoys

  • Object-oriented prototype-based languages

Expect

  • Command line interface languages

F

  • Procedural languages

F#

  • Impure
  • Interactive mode languages
  • Multiparadigm languages
  • Off-side rule languages

F-Script

  • Single dispatch
  • Single dispatch
  • Reflective languages
  • Scripting languages

FALSE

  • Esoteric languages

FAP

  • Assembly languages

FASM

  • Assembly languages

FOCUS

  • Fourth-generation languages

FPr

  • Impure
  • Interactive mode languages
  • Interpreted languages
  • List-based languages – LISPs
  • Multiparadigm languages
  • Single dispatch

Fabrik

  • Visual languages

Factor

  • Compiled languages
  • Stack-based languages

Falcon

  • Scripting languages

Fancy

  • Compiled languages
  • Interactive mode languages
  • Metaprogramming languages
  • Single dispatch
  • Scripting languages

Fantom

  • Multiparadigm languages

Fjölnir

  • Non-English-based languages

Flex

  • Syntax handling languages

Formula One

  • Compiled languages
  • Declarative languages
  • Logic-based languages
  • Multiparadigm languages

Forth

  • Compiled languages
  • Interactive mode languages
  • Interpreted languages
  • Metaprogramming languages
  • Reflective languages
  • Stack-based languages

Fortran

  • Compiled languages
  • Procedural languages

Fortran 2003

  • Single dispatch

Fortress

  • Single dispatch

Free Pascal

  • Procedural languages

Fril

  • Interactive mode languages
  • Logic-based languages

Frink

  • Curly-bracket languages
  • Interpreted languages
  • Scripting languages

GAMS

  • Numerical analysis

GAS

  • Assembly languages

GEMBASE

  • Fourth-generation languages

GNU E

  • Single dispatch

GNU bison

  • Syntax handling languages

GOAL agent programming language

  • Rule-based languages

Gambas

  • Single dispatch

Game Maker Language

  • Interpreted languages
  • Single dispatch
  • Scripting languages

Glagol

  • Non-English-based languages

Glyphic Script

  • Object-oriented prototype-based languages

Go

  • Compiled languages
  • Concurrent languages
  • Procedural languages

Goo

  • [[Multiple dispatch]]

Groovy

  • Curly-bracket languages
  • Interpreted languages
  • Single dispatch
  • Procedural languages
  • Reflective languages
  • Scripting languages

Guile

  • Extension languages

HLA

  • Assembly languages

HLASM

  • Assembly languages

HPL

  • Non-English-based languages

Harbour

  • Compiled languages
  • Multiparadigm languages
  • Single dispatch
  • Procedural languages
  • Reflective languages

Hartmann pipeline

  • Dataflow languages

Haskell

  • Compiled languages
  • Curly-bracket languages
  • Pure
  • Interactive mode languages
  • Interpreted languages
  • Metaprogramming languages
  • Off-side rule languages

Hop

  • Impure
  • Multiparadigm languages

Hope

  • Pure

HyperTalk

  • Off-side rule languages
  • Procedural languages

IBM Informix-4GL

  • Fourth-generation languages

IBM NetRexx

  • Single dispatch

IBM System/360

  • Machine languages

IBM VisualAge

  • Single dispatch
  • Reflective languages

ICI

  • Curly-bracket languages
  • Scripting languages

IDL

  • Interactive mode languages

INTERCAL

  • Esoteric languages

IPL-v

  • Iterative languages

ISWIM

  • Off-side rule languages

Icon

  • Iterative languages

Intel

  • Machine languages

Intel 80186

  • Machine languages

Intel 80286

  • Machine languages

Intel 80386

  • Machine languages

Intel 80486

  • Machine languages

Intel 8088

  • Machine languages

Intel Pentium

  • Machine languages

Intel’s

  • Machine languages

Io

  • Object-oriented prototype-based languages
  • Scripting languages

Io (programming language)

  • In object code

Ivy

  • Off-side rule languages

J

  • Impure
  • Interactive mode languages
  • Interpreted languages
  • Multiparadigm languages
  • Single dispatch

JASS

  • Scripting languages

JCL

  • Command line interface languages

JOVIAL

  • Compiled languages
  • Procedural languages

JScript

  • Curly-bracket languages
  • Multiparadigm languages
  • Object-oriented prototype-based languages
  • Procedural languages
  • Reflective languages
  • Scripting languages

Janus

  • Logic-based languages

Java

  • Compiled languages
  • Concurrent languages
  • Curly-bracket languages
  • Client side
  • Single dispatch
  • Procedural languages
  • Reflective languages

Java Virtual Machine

  • Reflective languages

JavaCC

  • Syntax handling languages

JavaScript

  • Curly-bracket languages
  • Multiparadigm languages
  • Object-oriented prototype-based languages
  • Procedural languages
  • Reflective languages
  • Scripting languages

Javascript

  • Client side

Jelly

  • XML-based languages

Jess

  • Rule-based languages

Join Java

  • Concurrent languages
  • Curly-bracket languages
  • Single dispatch
  • Procedural languages
  • Reflective languages
  • Scripting languages

Join-calculus

  • Concurrent languages

Joule

  • Concurrent languages

Joy

  • Impure
  • List-based languages – LISPs
  • Stack-based languages

Jscript

  • Client side

Kite

  • Impure
  • Single dispatch

LC-3

  • Assembly languages

LEA

  • Synchronous languages

LINC 4GL

  • Fourth-generation languages

LOLCODE

  • Esoteric languages

LPC

  • Curly-bracket languages
  • Interpreted languages

LZX

  • XML-based languages

LabVIEW

  • Compiled languages
  • Dataflow languages
  • Multiparadigm languages
  • Single dispatch
  • Visual languages

Lagoona

  • Procedural languages
  • Wirth languages

Lasso

  • Multiparadigm languages
  • Procedural languages

Lava

  • Multiparadigm languages
  • Single dispatch
  • Visual languages

Leda

  • Logic-based languages
  • Multiparadigm languages

Lexico

  • Non-English-based languages

Limbo

  • Concurrent languages
  • Curly-bracket languages

Limnor

  • Visual languages

Linoleum

  • Assembly languages

Lisaac

  • Object-oriented prototype-based languages

Lisp

  • Impure
  • Interpreted languages
  • List-based languages – LISPs
  • Metaprogramming languages
  • Reflective languages

List-based

  • Data-structured languages

Little Smalltalk

  • Single dispatch
  • Reflective languages

Little b

  • Impure

Logo

  • Impure
  • List-based languages – LISPs
  • Reflective languages

Lua

  • Aspect-oriented languages
  • Concurrent languages
  • In object code
  • Extension languages
  • Interactive mode languages
  • Interpreted languages
  • Iterative languages
  • Metaprogramming languages
  • Multiparadigm languages
  • Single dispatch
  • Object-oriented prototype-based languages
  • Reflective languages
  • Scripting languages

Lucid

  • Dataflow languages

Lush

  • Impure
  • Interpreted languages
  • Iterative languages
  • List-based languages – LISPs

Lustre

  • Declarative languages
  • Synchronous languages

M4

  • Syntax handling languages

MACRO-11

  • Assembly languages

MACRO-20

  • Assembly languages

MACRO-32

  • Assembly languages

MAPPER

  • Fourth-generation languages

MARK-IV

  • Fourth-generation languages

MASM

  • Assembly languages

MATLAB

  • Interactive mode languages
  • Numerical analysis
  • Procedural languages

MAXScript

  • Scripting languages

MDMscript

  • Curly-bracket languages

MEL

  • Scripting languages

MIPS architecture

  • Assembly languages

ML

  • Compiled languages
  • Impure
  • Interactive mode languages

MOO

  • Object-oriented prototype-based languages

MOS Technology

  • Machine languages

MSL

  • Curly-bracket languages

MUMPS

  • Data-oriented languages
  • Interactive mode languages
  • Interpreted languages
  • Procedural languages

MXML

  • XML-based languages

Malbolge

  • Esoteric languages

Maple

  • Interactive mode languages
  • Interpreted languages

Mathematica

  • Impure
  • Interactive mode languages
  • Interpreted languages
  • Metaprogramming languages

Maude system

  • Metaprogramming languages
  • Reflective languages

Max

  • Dataflow languages
  • Visual languages

Mercury

  • Logic-based languages

MetaL

  • Metaprogramming languages

MetaOCaml

  • Metaprogramming languages

MetaPost

  • Declarative languages

Metaobject protocols

  • Multiparadigm languages

Miranda

  • Pure
  • Off-side rule languages

Modelica

  • Declarative languages

Modula

  • Wirth languages

Modula-2

  • Single dispatch
  • Procedural languages
  • Wirth languages

Modula-3

  • Single dispatch

Mondrian

  • Scripting languages

Monk

  • Dataflow languages

Moto

  • Single dispatch

Motorola 6800

  • Machine languages

Motorola 68000 family

  • Assembly languages
  • Machine languages

Mozart Programming System

  • Concurrent languages
  • Logic-based languages
  • Multiparadigm languages
  • Single dispatch

MultiLisp

  • Concurrent languages

Mythryl

  • Curly-bracket languages
  • Impure
  • Interactive mode languages
  • Multiparadigm languages
  • Scripting languages

NASM

  • Assembly languages

NCR

  • Assembly languages

NXT-G

  • Visual languages

Nemerle

  • Compiled languages
  • Curly-bracket languages
  • Impure
  • Metaprogramming languages
  • Multiparadigm languages
  • Single dispatch
  • Procedural languages

NewtonScript

  • Object-oriented prototype-based languages

OCaml

  • Compiled languages
  • Impure
  • Multiparadigm languages
  • Single dispatch

OPS5

  • Impure
  • Rule-based languages

Oberon

  • Wirth languages

Oberon and Oberon-2

  • Procedural languages

Oberon-2

  • Single dispatch
  • Reflective languages
  • Wirth languages

Object Pascal

  • Multiparadigm languages
  • Single dispatch
  • Procedural languages
  • Wirth languages

Object REXX

  • Single dispatch

ObjectTeams

  • Aspect-oriented languages

Objective-C

  • Compiled languages
  • Single dispatch
  • Reflective languages

Obliq

  • Object-oriented prototype-based languages
  • Wirth languages

Occam

  • Off-side rule languages
  • Procedural languages

Opal

  • Impure

OpenCL

  • Extension languages

OptimJ

  • Extension languages

Oracle Express 4GL

  • Fourth-generation languages

Oriel

  • Interpreted languages
  • Procedural languages
  • Scripting languages

Orwell

  • Off-side rule languages

Oxygene (formerly known as Chrome)

  • Single dispatch

Oz

  • Concurrent languages
  • Dataflow languages
  • Logic-based languages
  • Multiparadigm languages
  • Single dispatch

PAL-III

  • Assembly languages

PASM

  • Assembly languages

PCASTL

  • Curly-bracket languages
  • Interpreted languages
  • Procedural languages
  • Reflective languages

PHP

  • Curly-bracket languages
  • Server side
  • Multiparadigm languages
  • Single dispatch
  • Reflective languages
  • Scripting languages

PILOT

  • Authoring languages

PL/C

  • Procedural languages

PL/I

  • Procedural languages

POP-11

  • Reflective languages

POWER

  • Machine languages

Pascal

  • Compiled languages
  • Interpreted languages
  • Procedural languages
  • Wirth languages

Perl

  • Curly-bracket languages
  • Interactive mode languages
  • Interpreted languages
  • Metaprogramming languages
  • Multiparadigm languages
  • Procedural languages
  • Reflective languages
  • Scripting languages

Perl 5

  • Single dispatch

Pico

  • Curly-bracket languages
  • Reflective languages

Pict

  • Concurrent languages

Pict programming language

  • Visual languages

Piet

  • Esoteric languages
  • Stack-based languages

Pike

  • Curly-bracket languages

Pikt

  • Interpreted languages
  • Scripting languages

Pliant

  • Multiparadigm languages
  • Single dispatch
  • Off-side rule languages
  • Reflective languages

Plus

  • Compiled languages
  • Procedural languages

Poplog

  • Impure
  • Logic-based languages
  • Multiparadigm languages
  • Reflective languages
  • Stack-based languages

Portugol

  • Non-English-based languages

Poses++

  • Curly-bracket languages
  • Declarative languages
  • Rule-based languages

PostScript

  • Interactive mode languages
  • Interpreted languages
  • Stack-based languages

Power Architecture

  • Machine languages

PowerPC

  • Machine languages

Processing

  • Curly-bracket languages
  • Single dispatch

Prograph

  • Dataflow languages
  • Multiparadigm languages
  • Single dispatch
  • Visual languages

Progress 4GL

  • Fourth-generation languages

Prolog

  • Declarative languages
  • Logic-based languages
  • Reflective languages
  • Rule-based languages

Pure Data

  • Dataflow languages
  • Visual languages

Python

  • Extension languages
  • Interactive mode languages
  • Interpreted languages
  • Iterative languages
  • Metaprogramming languages
  • Multiparadigm languages
  • Single dispatch
  • Off-side rule languages
  • Procedural languages
  • Reflective languages
  • Scripting languages

Q (equational programming language)

  • Impure

Q (programming language from Kx Systems)

  • Impure

Quartz Composer

  • Visual languages

Qwertycode

  • Esoteric languages

R

  • Curly-bracket languages
  • Impure
  • Interactive mode languages
  • Interpreted languages
  • List-based languages – LISPs
  • Multiparadigm languages
  • Object-oriented prototype-based languages
  • Procedural languages
  • Scripting languages

R2000/R3000

  • Machine languages

RDQL

  • Data-oriented languages
  • Declarative languages

REBOL

  • Multiparadigm languages
  • Object-oriented prototype-based languages
  • Reflective languages
  • Scripting languages

REFAL

  • Impure

REXX

  • Command line interface languages
  • Extension languages
  • Interactive mode languages
  • Interpreted languages
  • Scripting languages

ROOP

  • Logic-based languages
  • Multiparadigm languages

RPG

  • Compiled languages
  • Procedural languages

RPL

  • Stack-based languages

Racket

  • Multiparadigm languages

Racket (formerly PLT Scheme)

  • Impure

Rapira

  • Non-English-based languages
  • Procedural languages

Rats!

  • Syntax handling languages

Rc

  • Command line interface languages

Revolution

  • Fourth-generation languages
  • Single dispatch
  • Scripting languages

RosAsm

  • Assembly languages

Ruby

  • Extension languages
  • Interactive mode languages
  • Interpreted languages
  • Metaprogramming languages
  • Multiparadigm languages
  • Single dispatch
  • Reflective languages
  • Scripting languages

Russell

  • Impure

S-Lang

  • Curly-bracket languages
  • Extension languages
  • Interactive mode languages
  • Interpreted languages
  • Procedural languages
  • Scripting languages

SALSA

  • Concurrent languages

SAS

  • Fourth-generation languages

SC123

  • Assembly languages

SISAL

  • Multiparadigm languages

SMALL Machine Algol Like Language

  • Compiled languages
  • Procedural languages

SMX

  • Server side

SNUSP

  • Esoteric languages

SPARC

  • Machine languages

SPARQL

  • Data-oriented languages
  • Declarative languages

SPIN

  • Single dispatch
  • Off-side rule languages

SPS

  • Assembly languages

SQL

  • Data-oriented languages
  • Declarative languages
  • Extension languages
  • Little languages

SR

  • Concurrent languages

SSK

  • Assembly languages

Sather

  • Compiled languages
  • Iterative languages
  • Single dispatch

Scala

  • Concurrent languages
  • Curly-bracket languages
  • Impure
  • Interactive mode languages
  • Multiparadigm languages
  • Single dispatch

Scheme

  • Compiled languages
  • Impure
  • Interactive mode languages
  • List-based languages – LISPs
  • Metaprogramming languages
  • Reflective languages

Scratch

  • Single dispatch
  • Visual languages

Sculptor

  • Fourth-generation languages

Seccia

  • Single dispatch

Seed7

  • Multiparadigm languages

Self

  • Object-oriented prototype-based languages
  • Reflective languages

Seneca

  • Numerical analysis
  • Procedural languages

Shadow Command Line Interface

  • Command line interface languages

Shakespeare

  • Esoteric languages

Signal

  • Synchronous languages

Simula

  • Single dispatch

Simulink

  • Visual languages

Smalltalk

  • Compiled languages
  • Interactive mode languages
  • Metaprogramming languages
  • Single dispatch
  • Reflective languages
  • Scripting languages

Snobol

  • Reflective languages

Spin

  • Interpreted languages

SpiritShadow Command Line Interface

  • Command line interface languages

Spreadsheet

  • Impure
  • Multiparadigm languages

Squeak

  • Single dispatch
  • Reflective languages

Stack-based

  • Data-structured languages

Standard ML

  • Compiled languages
  • Impure

Strawberry Prolog

  • Logic-based languages

StrongARM

  • Machine languages

Subtext

  • Visual languages

Suneido

  • Curly-bracket languages

SuperCollider

  • Curly-bracket languages
  • Single dispatch

SyncCharts

  • Synchronous languages

TACL

  • Command line interface languages

TADS

  • Object-oriented prototype-based languages

TASM

  • Assembly languages

TI-BASIC

  • Interpreted languages

TRAC

  • List-based languages – LISPs

TUTOR

  • Authoring languages

Tcl

  • In object code
  • Extension languages
  • Interactive mode languages
  • Interpreted languages
  • List-based languages – LISPs
  • Multiparadigm languages
  • Reflective languages
  • Scripting languages

Tea

  • Curly-bracket languages
  • Impure
  • Interpreted languages
  • List-based languages – LISPs
  • Multiparadigm languages
  • Single dispatch
  • Procedural languages
  • Scripting languages

Today

  • Fourth-generation languages

ToonTalk

  • Rule-based languages
  • Visual languages

TorqueScript

  • Curly-bracket languages
  • Interpreted languages
  • Scripting languages

Turing

  • Compiled languages

Tutorial D

  • Data-oriented languages

UNIX shell

  • Scripting languages

Ubercode

  • Compiled languages
  • Fourth-generation languages
  • Single dispatch

Uniface

  • Fourth-generation languages

Unified Parallel C

  • Concurrent languages

UnrealScript

  • Curly-bracket languages

Urq

  • Compiled languages
  • Stack-based languages

VBA

  • Extension languages

VBScript

  • Interpreted languages
  • Single dispatch
  • Procedural languages
  • Scripting languages

VBscript

  • Server side

VEE

  • Dataflow languages
  • Visual languages

VHDL

  • Dataflow languages

Vala_(programming_language)

  • Compiled languages

Var’aq

  • Esoteric languages

Vimscript

  • Extension languages

VisSim

  • Dataflow languages
  • Visual languages

Visual Basic

  • Compiled languages
  • Procedural languages

Visual DataFlex

  • Fourth-generation languages
  • Single dispatch

Visual FoxPro

  • Compiled languages
  • Data-oriented languages
  • Fourth-generation languages
  • Single dispatch
  • Procedural languages

Visual Prolog

  • Compiled languages
  • Logic-based languages
  • Single dispatch

VisualWorks

  • Single dispatch
  • Reflective languages

WebDNA

  • Data-oriented languages
  • Server side
  • Scripting languages

WebMethods Flow

  • Dataflow languages

WebQL

  • Data-oriented languages

Western Design Center

  • Machine languages

Whitespace

  • Esoteric languages

WinDev

  • Compiled languages

Winbatch

  • Scripting languages

Windows PowerShell

  • Command line interface languages
  • Curly-bracket languages
  • Extension languages
  • Interactive mode languages
  • Interpreted languages
  • Multiparadigm languages
  • Scripting languages

Windows batch language

  • Command line interface languages

X++

  • Compiled languages
  • Single dispatch
  • Procedural languages
  • Reflective languages

X10

  • Array languages
  • Concurrent languages
  • Curly-bracket languages
  • Single dispatch
  • Reflective languages

XAML

  • XML-based languages

XL

  • Compiled languages
  • Iterative languages
  • Metaprogramming languages
  • Multiparadigm languages
  • Off-side rule languages
  • Procedural languages
  • Reflective languages

XMLmosaic

  • Fourth-generation languages
  • Interpreted languages
  • Procedural languages
  • XML-based languages

XOTcl

  • Single dispatch
  • Reflective languages

XPath

  • XML-based languages

XProc

  • Concurrent languages
  • XML-based languages

XQuery

  • XML-based languages

XSL Transformations

  • Declarative languages

XSLT

  • XML-based languages

Yasm

  • Assembly languages

Yorick

  • Curly-bracket languages

Z++

  • Compiled languages

Z80A

  • Assembly languages

ZPL

  • Array languages

Zilog Z80

  • Machine languages

apply

  • Little languages

awk

  • Little languages
  • Rule-based languages

bash

  • Command line interface languages

bc

  • Curly-bracket languages

below

  • Interpreted languages

colorForth

  • Stack-based languages

cpp

  • Textual substitution macro languages

csh

  • Command line interface languages

dBase

  • Data-oriented languages

dylan.NET

  • Compiled languages
  • Fourth-generation languages
  • Single dispatch
  • Procedural languages

eC (Ecere C)

  • Compiled languages
  • Curly-bracket languages
  • Single dispatch
  • Procedural languages

eLisp

  • Compiled languages
  • Impure
  • List-based languages – LISPs

intermediate language

  • Assembly languages

ksh

  • Command line interface languages

lex

  • Syntax handling languages

m4

  • Textual substitution macro languages

merd

  • Esoteric languages

occam

  • Concurrent languages

occam-π

  • Concurrent languages

ppC++

  • Compiled languages
  • Curly-bracket languages
  • Multiparadigm languages
  • Single dispatch

sed

  • Curly-bracket languages
  • Scripting languages

sh

  • Command line interface languages

tcsh

  • Command line interface languages

thinBasic

  • Interpreted languages

vvvv

  • Visual languages

x86-16

  • Machine languages

x86-32

  • Machine languages

x86-64

  • Machine languages

xBase

  • Declarative languages
  • Fourth-generation languages

yacc

  • Syntax handling languages

zsh

  • Command line interface languages

λProlog

  • Logic-based languages
import urllib
import json
from collections import defaultdict
#f = urllib.urlopen("http://en.wikipedia.org/wiki/Categorical_list_of_programming_languages")
f = urllib.urlopen("http://en.wikipedia.org/w/api.php?format=json&action=query&titles=List%20of%20programming%20languages%20by%20type&prop=revisions&rvprop=content")
s = f.read()
f.close()
j = json.loads(s)
def find_value_for_key(key, d):
""" returns a value for 'key' in a dict 'd' """
if type(d) == type([]):
for x in d:
return find_value_for_key(key, x)
for k,v in d.items():
if k == key:
return v
if type(v) == type({}) or type(v) == type([]):
return find_value_for_key(key, v)
def parse_category(s):
""" == Wirth languages == """
return s.strip("= ")
def parse_lang(s):
"""
* [[Pascal (programming language)|Pascal]]
* [[XPath]]
* [http://xmlmosaic.codeplex.com XMLmosaic]
* [http://www.ozonehouse.com/mark/codeworks.html Glyphic Script]
* Nemerle (compiled into Intermediate Language bytecode)
* Sculptor
"""
if "[[" in s:
ss = s[s.find("[[") + 2 : s.find("]]")].split("|")
# return s
return ss[1] if len(ss) > 1 else ss[0]
elif "[" in s:
ss = s[s.find("[") + 1 : s.find("]")].split()
return " ".join(ss[1:])
elif "(" in s:
return s[:s.find("(")].strip("* ")
return s.strip("* ")
def parse(s):
langs = defaultdict(list)
category = "?"
for line in s.splitlines():
if line.startswith("== See also"):
break
elif line.startswith("=="):
category = parse_category(line)
elif line.startswith("*"):
langs[parse_lang(line)].append(category)
return langs
def format_textile(d):
print "h1. Categories of programming languages"
print
print "h2. Generated from 'List of programming languages by type' from Wikipedia: http://en.wikipedia.org/wiki/Categorical_list_of_programming_languages"
for k in sorted(d.iterkeys()):
print
print "h3. " + k.encode("utf-8")
for category in d[k]:
print "* " + category.encode("utf-8")
format_textile(parse(find_value_for_key("*", j)))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment