Language Without Code: Intentionally Unusable, Uncomputable, or Conceptual Programming Languages
AbstractThe esoteric class of programming languages, commonly called esolangs, have long challenged the norms of programming practice and computational culture. Esolangs are a practice of hacker/hobbyists, who don’t primarily think of their work as art. Most esolangs are experiential works; we understand the languages by writing code in them. Through this action, the logic of the language becomes clear. However, a smaller subset of esolangs make their point not through actively writing code, but instead by simply contemplating their rules. We can think of these esolangs as conceptual rather than experiential. Some are designed in such a way that they don’t allow any code to be written for them at all. By stepping away from usability, the conceptual esolangs offer the most direct challenge to the definition of programming language, a commonly used term which is surprisingly unspecific, and usually understood through utility, despite the fact that programming languages predate digital computers. This paper delves into the conceptual esolangs and looks at their challenge to the idea of programming languages.
Aho, A. V, Lam, M. S., Sethi, R., & Ullman, J. D. (2006). Compilers: Principles, Techniques, and Tools.
Brainfuck - Esolang. (n.d.). Retrieved September 29, 2017, from https://esolangs.org/wiki/Brainfuck
Bratishenko, L. (2009). Technomasochism. Cabinet.
Churchill, A. (n.d.). Magic: the Gathering is Turing Complete. Retrieved September 28, 2017, from http://www.toothycat.net/~hologram/Turing/HowItWorks.html
Dourish, P. (2017). The Stuff of Bits. Cambridge: MIT Press.
Feeney, S. D. T. (2015). Interview with Scott Feeney. Retrieved September 25, 2017, from http://esoteric.codes/post/116998438745/interview-with-scott-feeney
Joke language list. (n.d.). Retrieved September 28, 2017, from http://esolangs.org/wiki/Joke_language_list
Kandar, S. (2013). Introduction to Automata Theory, Formal Languages and Computation. https://doi.org/10.1145/568438.568455
Keymaker. (2005). Unnecessary (another esoteric programming language). Retrieved September 28, 2017, from http://yiap.nfshost.com/esoteric/unnecessary/unnecessary.html
Keymaker. (2011). Interview with Keymaker - esoteric.codes. Retrieved September 28, 2017, from http://esoteric.codes/post/84939008828/interview-with-keymaker
Lapoujade, D., Rajchman, J., & Jordan, J. D. (2017). Aberant Movements.
Lenguage - Esolang. (2014). Retrieved September 28, 2017, from http://esolangs.org/wiki/Lenguage
Maciunas, G. (1966). Fluxfest Sale. Film Culture - Expanded Arts, (#43), 6–7.
Montfort, N. (2014). No Code: Null Programs, (December). Retrieved from http://dspace.mit.edu/handle/1721.1/87669
New Whitespace-Only Programming Language - Slashdot. (2003). Retrieved September 28, 2017, from https://slashdot.org/story/03/04/01/0332202/new-whitespace-only-programming-language
Olmstead, B.. (2014). Interview with Ben Olmstead - esoteric.codes. Retrieved September 28, 2017, from http://esoteric.codes/post/101675489813/interview-with-ben-olmstead
Ono, Y. (1964). Grapefruit.
Ostrovsky, I. (2009). Human heart is a Turing machine, research on XBox 360 shows. Wait, what? Retrieved September 18, 2017, from http://igoro.com/archive/human-heart-is-a-turing-machine-research-on-xbox-360-shows-wait-what/
Pressey, C. (2013). The Aesthetics of Esolangs. Retrieved September 25, 2017, from https://github.com/catseye/The-Dossier/blob/master/article/The Aesthetics of Esolangs.md
Raymond, E. S. (2015). Interview with Eric S. Raymond - esoteric.codes. Retrieved September 29, 2017, from http://esoteric.codes/post/130618094278/interview-with-eric-s-raymond
Scheffer, L. (2015). Programming in Malbolge. Retrieved September 29, 2017, from http://www.lscheffer.com/malbolge.shtml
Scott, M. L. (2006). Programming Language Pragmatics. Analysis (Vol. 20). https://doi.org/10.1016/B978-0-12-374514-9.00008-2
Simonite, T. (2017). Microsoft's Nadella Wants to Help Coders Take a Quantum Leap | WIRED. (2017). Retrieved September 29, 2017, from https://www.wired.com/story/microsofts-nadella-wants-to-help-coders-take-a-quantum-leap/
Smith, A. (2007). C-INTERCAL 0.29 Revamped Instruction Manual. Retrieved September 28, 2017, from http://catb.org/esr/intercal/ick.htm
Stroustrup, B., & Park, F. (2000). Generalizing Overloading for C ++ 2000.
Temkin, D. (2013). Brainfuck. Media-N. Retrieved from http://median.s151960.gridserver.com/?page_id=947
Three Star Programmer - Esolang. (2015). Retrieved September 29, 2017, from https://esolangs.org/wiki/Three_Star_Programmer
Veldhuizen, T. L. (2003). C++ Templates are Turing Complete. URL Http://osl. Iu. edu/tveldhui/papers/2003/turing. Pdf. Unpublished Manuscript, 1–3. https://doi.org/10.1.1.14.3670
Weingartner, P. (2006). A First Guide to PostScript. Retrieved September 28, 2017, from http://www.tailrecursive.org/postscript/postscript.html
Whitespace Tutorial. (2004). Retrieved from http://compsoc.dur.ac.uk/whitespace/tutorial.php
You are Reading the Name of this Esolang - Esolang. (n.d.). Retrieved September 28, 2017, from https://esolangs.org/wiki/You_are_Reading_the_Name_of_this_Esolang
Authors who publish in the CITAR Journal agree to the following terms:
- Authors retain copyright and grant the journal right of first publication with the work simultaneously licensed under a Creative Commons Attribution License that allows others to share the work with an acknowledgement of the work's authorship and initial publication in this journal.
- Authors are able to enter into separate, additional contractual arrangements for the non-exclusive distribution of the journal's published version of the work (e.g., post it to an institutional repository or publish it in a book), with an acknowledgement of its initial publication in this journal.
- Authors are permitted and encouraged to post their work online (e.g., in institutional repositories or on their website) prior to and during the submission process, as it can lead to productive exchanges, as well as earlier and greater citation of published work (see The Effect of Open Access).
Copyrights to illustrations published in the journal remain with their current copyright holders.
It is the author's responsibility to obtain permission to quote from copyright sources.
Any fees required to obtain illustrations or to secure copyright permissions are the responsibility of authors.