Language without code: intentionally unusable, uncomputable, or conceptual programming languages
Main Article Content
Abstract
The 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.
Downloads
References
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. https://doi.org/10.1145/3102113.3102115
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