Jaką literą możesz nazwać swój język programowania?

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.

jednoliterowe języki programowania

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? 😉

Linki i źródła

  1. TIOBE Index for August 2019.