C, D, R – co łączy te języki? Są całkiem popularne, a ich nazwy składają się z tylko jednego znaku [1]. Czy jednak wszystkie litery alfabetu łacińskiego są już zarezerwowanymi przez istniejące języki nazwami? Czy można programować w A, M albo X? Postanowiłem to sprawdzić!
Od czasu mojego pomysłu na ten wpis, aż do jego realizacji, powstała już w sieci podobna lista języków, ale postanowiłem wykonać research we własnym zakresie (ze względu na wybitnie małą unikatowość nazw języków wyszukiwarnie informacji o nich nie zawsze jest takie proste). Finalnie okazało się, że obie listy różnią się nieco od siebie, więc możecie zerknąć również na wpis Andreasa Zwinkau celem porównania ich.
Niektóre z poniższych języków to zaledwie małe projekty na GitHubie, języki ezoteryczne lub zabawkowe, ale skoro zostały upublicznione, to uczciwie zaliczam je w poczet szczycących się najkrótszymi możliwymi nazwami. Linki do źródeł, z których czerpałem informacje są na niniejszej liście ukryte pod nazwami poszczególnych języków.
- A – stworzony w roku 1988 przez Arthura Whitneya, bazuje na APL.
- B – powstał około roku 1969 w Bell Labs, jego autorami są Ken Thompson i Dennis Ritche, bazuje na BCPL.
- C – najpopularniejszy z tego zestawienia język, którego raczej nikomu tu nie trzeba przedstawiać. Stworzony przez Dennis Ritchiego w 1972 roku.
- D – powstał w 2001 roku z inicjatywy Waltera Brighta oraz Andreia Alexandrescu.
- E – jego początki sięgają roku 1997, stworzony przez Marka Millera i Dana Bornsteina, w dużej mierze bazuje na języku Joule.
- F – zaprojektowany z myślą o obliczeniach naukowych, bazuje na Fortranie 95.
- G – graficzny język programowania używany w środowisku LabVIEW, pochodzi z roku 1986.
- H – rozwijany przez Willa Hinsona, ale wciąż nie ukończony.
- I – bazuje na języku J, rozszerzając funkcjonalności związane z tablicami, tworzony przez Marshalla Lochbauma.
- J – zaprojektowany przez Kennetha Iversona i Roger Huia w roku 1990, opiera się m.in. na APL (również autorstwa Iversona).
- K – funkcyjny, tablicowy język programowania stworzony w roku 1993 przez Arthura Whitneya.
- L – open-sourcowy język ogólnego przeznaczenia z zaimplementowanym kompilatorem, powstał w 2012 roku..
- M – język, nad którym Microsoft pracował w okolicach roku 2010, jego rozwój został porzucony.
- N – zaprojektowany z myślą o tworzeniu sieci neuronowych, składniowo podobny do C i C++.
- O – ezoteryczny język programowania używany w rozgrywkach „Code Golf”.
- P – powstał w 2012 roku z inicjatywy Microsoftu, ułatwia tworzenie systemów zawierających komunikujące się asynchronicznie maszyny stanów.
- Q – stworzony w roku 2003 przez Arthura Whitneya jako język do przetwarzania tablic.
- R – zaprojektowany w 1993 roku przez Rossa Ihakę i Roberta Gentlemana, dedykowany wykonywaniu obliczeń statystycznych, bazował m.in. na języku S.
- S – narodził się w roku 1976 w Bell Labs, a ostatnia wersja standardu języka ukazała się w 1998.
- T – dialekt języka Scheme, wydany w roku 1982 przez Jonathana Reesa i Normana Adamsa.
- U – nieskopoziomowy język programowania stworzony hobbystycznie przez Roba Upcrafta.
- V – tworzony przez Alexandra Medvednikova, wydanie wersji 1.0 jest zapowiadane na końcówkę roku 2019, ma cechować się wydajnością, prostotą i bezpieczestwem.
- W – opublikowany przez Westona Sleemana w 2013 roku, zaprojektowany z naciskiem na szybkość programowania w nim oraz czytelność kodu.
- X – Istnieją wprawdzie takie twory jak xlang, X# oraz X++ – wszystkie powiązane z technologiami Microsoftu, jednak języka nazwanego „X” nie udało mi się znaleźć.
- Y – ezoteryczny język programowania bazujący na FALSE, stworzony przez Thomasa Fischbachera.
- Z – jak zaznacza sam autor, jest to „ostatni język programowania jakiego powinieneś używać”.
Jak widać, próżno szukać tu jakichkolwiek wolnych nazw. To może alfabet grecki?
- Α (alpha) – język bazodanowy zdefiniowany przez Edgara Codda w roku 1971.
- Β (beta) – zaprojektowany m.in. przez Kristena Nydgaarda i częściowo oparty na Simuli.
- Γ (gamma) – stworzony jako projekt akademicki na Uniwersytecie Columbia.
- Δ (delta) – powstał w 2017 roku z inicjatywy Emila Laine jako język ogólnego przeznaczenia.
- Ε (epsilon) – dialekt ALGOLA 68, wydany przez Andreya Ershova w roku 1967.
- Ζ (zeta) – bardzo raczkujący (obecnie w wersji 0.1) imperatywny język programowania.
- Η (eta) – dialekt Haskella używający platformy JVM.
- Θ (theta) – obiektowy język programowania stworzony dla systemu bazodanowego Thor.
- Ι (iota) – ezoteryczny język wymyślony przez Chrisa Barkera.
- Κ (kappa) – język logiczny (rule-based) przeznaczony do użytku w biologii molekularnej i chemii organicznej.
- Λ (lambda) – minimalistyczny język zaprojektowany przez Anne Veling.
- Μ (mi, mu) – przeznaczony do tworzenia aplikacji graficznych, opublikowany około roku 2001.
- Ν (ni, nu) – oparty na Lispie, stworzony w roku 2007 przez Tima Burksa.
- Ξ (xi) – język prawdopodobnie stworzony na potrzeby kursu akademickiego, proceduralny i imperatywny.
- Ο (omicron) – prosty obiektowy język zdefiniowany w ramach pracy dotyczącej rachunek zorientowany obiektowo (object-oriented calculus)
- Π (pi) – narodził się w roku 2009, bazuje na użyciu koncepcji wzorców.
- Ρ (rho) – lekki, dynamicznie typowany język zainspirowany główne Pythonem.
- Σ (sigma) – niewielki, funkcyjny język programowania, bazuje na Scheme, SML i Dylanie.
- Τ (tau) – nie znalazłem żadnego języka o tej nazwie.
- Υ (ypsilon, upsilon) – ezoteryczny język, którego składnia zainspirowana jest Lambdą.
- Φ (phi) – język skryptowy dla internetu rzeczy (IoT).
- Χ (chi) – eksperymentalny funkcyjny język programowania.
- Ψ (psi) – język w fazie rozwoju, tworzony przez Felixa Queißnera.
- Ω (omega) – czysto funkcyjny język stworzony przez Tima Shearda i jego studentów
Również i w tym przypadku prawie wszystkie litery są zajęte. Jeśli zatem koniecznie szukacie dla swojego języka krótkiej, jednoliterowej nazwy, musicie skierować się w stronę innych alfabetów: polskiego, rosyjskiego, a może chińskiego? Wprawdzie wymowa takich liter może być kwestią lekko problematyczną, ale chyba nie powinno to zatrzymać rozwoju i ekspansji dobrej technologii, prawda? Może więc doczekamy się kiedyś np. języka Ą, a w rankingach najpopularniejszych rozwiązań będzie królował Ó Programming Language? 😉