One Letter Programming Languages

A collection of programming languages named as a single letter. Non-letter-non-digit characters are allowed as well.


The A+ programming language is an APL descendant, like various other languages on this page, because the APL community loves one-letter names. Arthur Whitney (creator of many APL dialects) created A, then Morgan Stanley extended it into A+.


The B programming language is a predecessor of C and not used anymore these days.

There is B Method, a specification language similar to Z.


No need to introduce C. If this article interests you, you know C. We could also count C++ and C#, since non-letter-non-digit extensions are allowed.

The Connection Machine was programmed in C*, a data-parallel superset of ANSI C.


D is the better C++. This is currently my most favorite language, so anything would be very biased. If you have an opportunity to choose languages, consider this a recommendation to checkout out D!


The E programming language is a quite unique language. It focuses on distributed programming and especially on making that secure through capabilities.

There is also Amiga E which was often just called E as well. Wouter van Oortmerssen intended it as as a game scripting language and describes it "a tremendous success, it became one of the most popular programming languages on the amiga." It is available as Freeware.


F# is relatively well known. Basically, O'Caml ported to .NET.

There is also F, which is a subset of Fortran. It wants to be easier to teach, use, and debug than full Fortran.

F* is an ML-like functional programming language aimed at program verification. The main ongoing use case of F* is building a verified, drop-in replacement for the whole HTTPS stack.


G-code is also called G programming language, so it qualifies. It is a numerical control programming language, primarily used to program CNC machines. It looks assembly-like.

There is a real G programming language inside LabView. This one is a graphical data-flow language.


H is a text-based, weakly-typed language. Not much more is known about it.

There is another H which is just as useful.

One of the things I want to do with computers is to create art for the sake of art. h is one of these such projects. h is not a productive tool. You cannot create anything useful with h. This is an exercise in creating a compiler and runtime from scratch, based on my past experiences with parsing lojban, WebAssembly on the server and frustrating marketing around programming tools. I wanted to create something that deliberately pokes at all of the common ways that programming languages and tooling are advertised.


I is a J-inspired language, which wants to widen the focus on arrays to more data structures.


J is another APL descendant and probably the most popular one. For example on Rosetta Code, J is one of the more popular languages.

There is also J# which is Visual J++ for .NET. These are not related to J, but rather to Java.


K is one of the major APL descendants by Arthur Whitney. It is a commercial product used in banks for finance and trading stuff.


L was a language which gave C syntax to TCL.

L is a sibling of E by HP Labs.

L is a Common Lisp subset.

L is a theoretical language in the book "Computability, Complexity, and Languages: Fundamentals of Theoretical Computer Science".


The M language has been invented by the French Direction Générale des Finances Publiques (DGFiP), equivalent to the IRS, to transcribe the tax code into machine-readable instructions. It is a small Domain Specific Language based on variable declarations and arithmetic operations. A reverse-engineered compiler is available here.

M# focuses on .NET business applications and websites.

The MUMPS programming language is also called "M".

Microsofts Power Query contains the M formula language.


There is this paywalled paper from 1989 and this is the abstract:

Expecting a wide use of neural network algorithms in the near future, our objective is to get a complete software development environment for programming and testing new applications. We intend to produce a high level language for neural network specification, as a part of such an environment. The language we propose is characterized by a high degree of modularity, based on parameterizable data structures, with functionalities in the form of update methods attached to them. Composition rules of structures and methods enable to build, step by step, more complex structures from smaller ones previously defined. Objects are viewed as autonomous modules which are linked through plugs for communications. We particularly cared for the parallelization of methods running concurrently on different objects of the network. The syntax is largely related to those of the C and C++ languages.

I'm not sure if it ever worked since the paper reads more like a plan with sentences like "A complete simulator in C is expected to be running in the begining of 1990".


O is a stack based language with one letter commands. For example, "io" reads a line of input (i) and then prints it (o).


The P programming language is for asynchronous event-driven programming. It has been used to implement and validate the USB device driver stack that ships with Microsoft Windows 8 and Windows Phone.

P′′ is primitive formal language from 1964. It was the first language without GOTO proven Turing-complete. Brainfuck is P′′ plus IO.

P# is a Prolog interpreter for .NET.


Q is a wrapper around K and the kdb+ database to make it more readable.

The other Q language is a functional programming language based on term-rewriting. It is succeeded by Pure.

There is also Q#, "a domain-specific programming language used for expressing quantum algorithms. It is to be used for writing sub-programs that execute on an adjunct quantum processor, under the control of a classical host program and computer."


R is a well known statistical programming language. It is considered on par with commercial tools like SAS.


S is a statistical programming language and R is considered an implementation. Most S code runs in R.


T is a Scheme or Lisp dialect. The last release was in 1984, so it can be considered dead.


The U programming language is a personal project of Rob Upcraft. He wanted a simple C-like language to write his own operating system.


There is a V programming language mentioned in a 1985 summary.

A newer V with huge ambitions is in alpha state.


The W was created by Viktor Toth in 2001 to program two vintage handeld computer from HP. It is a very simple language, described as C without keywords, types, and standard library.


X# is a low-level programming language somewhere between x86 assembly and C. It is developed within Cosmos, an open-source operating system toolkit.

X++ is a programming language used in one of Microsoft's enterprise resource planning software products. It is derived from C++ and adds garbage collection and SQL query syntax.


The Y Programming Language and Y, a chained(?) language.


Z notation is a formal specification language standardised as ISO/IEC 13568:2002.

Another Z is a tiny, strict, impure, curried, partially applied programming language with rather peculiar syntax.


If you are looking for a free name, there is none. However, you can probably overwrite H, I, T, V, or W.

On the other hand, why would you give a language a name impossible to google? If that doesn't deter you, then why not use some Unicode which is also impossible to type?

If you are looking for a free name, there is none.