The Wirthless programming language is an instructional aid for ThyLordRoot's [Developing A Programming Language] (DPL) lecture series on YouTube. As the name implies, Wirthless is a language that is not designed for any particular fitness of use; instead, it is meant to teach concepts related to the development of programming languages. Development on the Wirthless language (in addition to DPL) began in October, 2015.
The need for a language like Wirthless arose due to the unsuitability of most contemporary languages for teaching programming language concepts. Even for programming languages that were designed to be simple enough to be used on the computers of yesteryear (such as BASIC), important theoretical and engineering background is missing from these laguages as they are more-or-less complete. Languages such as Scheme or Lisp are common candidates for this purpose; however, this usually comes at the cost of providing instruction in functional languages (a topic often foreign to budding programmers).
The name Wirthless was chosen for several reasons:
Wirthless is not designed to be an Esolang; while it is not designed to be useful as such, it is not meant to compare to Turing tarpits such as brainfuck or Piet. The aforementioned languages are far too impractical to be useful for general education in programming language concepts (excepting isolated incidents) and are actually designed with illegiblity in mind. From this standpoint, Wirthless must be able to clearly demonstrate a variety of new concepts, including the ability to "bootstrap" Wirthless. While the author is sure it is possible to bootstrap these languages, he would also hypothesize that this is a task for the masochistic.
However, Wirthless will (at times) have varying degrees of usability to reflect the concept presently being discussed. The initial version of Wirthless is constrained such that it simply will not be possible to write most programs; subsequent versions will overcome this limitation, but some will be less useful than others. It is possible that Wirthless may become less usable in the future as new concepts are discussed.
Given Wirthless's purpose, it is constantly evolving to meet the needs of each lecture. However, there are various milestones for Wirthless that allow some loose form of versioning.
Main article: [Wirthless Level 0]
Wirthless Level 0 is (WL0) is a trivial programming language to introduce learners to concepts such as formal grammars, tokenization, parsing, and interpreters. In fact, it is so trivial that it cannot be used to write some programs! Wirthless introduces a simple interpreter called WLI ("Willy") that is written in the C++ programming language.