Talk:Esoteric programming language

Page contents not supported in other languages.
From Wikipedia, the free encyclopedia

Unlambda vs. Brainfuck[edit]

I don't see any clear basis for saying Unlambda is more minimal than brainfuck. It would be correct to say it about Lazy K or Iota or the like. It's tricky comparing imperative languages to functional ones, but whereas brainfuck has eight commands in four matching pairs, Unlambda has a mixed bag of eleven or twelve functions, plus an application operation. So I'm going to delete the statement.

Perl?[edit]

I noticed that Perl is listed as a "notable esoteric language". Is that a joke? The top of the article specifically says that languages like APL aren't considered esoteric. --Piquan 23:57, 2 Feb 2005 (UTC)

You mean it's possible to write comprehensible code in Perl? ;) --Fredrik | talk 00:33, 3 Feb 2005 (UTC)
More so than in APL. --Piquan
In my book Perl is not an esoteric language. There can be made many arguments about the readability of Perl code, but that does not make it esoteric. It is, after all, a very commonly used language. --Runeberge 07:20, 10 Feb 2005 (UTC)
I'm pretty sure that was a joke. It's the only recent edit by 81.210.122.50. I've removed it (and the comment tag that was after that line). (cute, though. And we didn't even blink...) --RJFJR 22:08, Feb 10, 2005 (UTC)
For an obscure language which is rareley used owing to its irritating complexity is a form of Reverse Polish Notation Assembly code used for applets and compiled programs on the HP38G, HP39G, and HP39G+ grahics calculators produced by Hewlett-Packard (and possibly otheres). When programs written on the calculator in HP BASIC are compiled, the RPN assembly is formed and assembled. tehre are also external assemblers for producing highly optimised applets.

Turing tarpit[edit]

I question the etymology of Turing tarpit; the term is in fact due to Alan Perlis, who coined it well before the Whril language ever existed.

This ancient comment happened due to confusing the term Turing tarpit and Turning tarpit, with the latter term originally created as a joke on a misspelling of the former. Both terms find use among esolang enthusiasts. --Ørjan (talk) 02:30, 27 June 2014 (UTC)[reply]

Intention of beong adopted for real-world programming[edit]

I think that 'not with the intention of being adopted for real-world programming' in introduction section is inappropriate and not true; There are several esolangs invented to test the concepts in programming before applying them to real programming such as 3code, which means esolangs are sometimes used to play a role of touchstone. I think some other expression like 'not with the intention of being directly used for real-world programming' describes esolang better. --218.233.56.240 05:33, 25 October 2005 (UTC)[reply]

Esoteric programming terms[edit]

Prososed merge from Discrete computer[edit]

I have added a tag proposing that Discrete computer be merged into the Esoteric programming terms section of this article. The term doesn't seem to warrant its own article, at least not with the article in its current state, and this would seem to be the best place for the text. Please post comments on the proposal here. - N (talk) 18:19, 1 January 2006 (UTC)[reply]

Disagree. Wrong article. Maybe digital computer? --maru (talk) Contribs 22:00, 1 January 2006 (UTC)[reply]
Disagree. There's no reason to put discrete computer here; there's nothing esoteric about it. (Continuous computers also aren't esoteric in this sense.) Perhaps we should create an "alternative computer design" page or something to hold differences between discrete vs continuous, Von Neumann vs everything else, quantum computers, etc etc. Piquan 17:53, 4 January 2006 (UTC)[reply]
Fair enough. I've removed the tag. If anyone would like to have a go at doing something with the article, please do. - N (talk) 19:26, 14 January 2006 (UTC)[reply]

Isn't "...and still the most elegant" (History section) a smidge POV? Not to mention bad grammar. How about "...and are considered the most elegant"?

I just edited the above and removed the double brackets from around "Discrete computer". That page no longer exists. Guy Macon (talk) 02:46, 10 March 2011 (UTC)[reply]

Joke languages?[edit]

The article mentions the existence of joke languages, yet doesn't go into any more depth than that. Should examples be included?

I propose:

  • 99 [1] was created solely for 99-bottles-of-beer.net, and a blank file outputs the song
  • Whitespace [2] treats characters opposite of most other languages, with spaces, tabs, and newlines being the only valid syntax.

--BBM 03:28, 17 May 2006 (UTC)[reply]

removed a sentence[edit]

In the May 19 2006 revision [3], the last sentence in the second paragraph of the opening reads:

Thus, by adhering to some principles while deliberately making no sense as a whole (or attempting to hide any sense they make to most people), these languages are perhaps the programming equivalent of nonsense verse.

I'm not quite convinced at this comparison. Especially after skimming thru the article on "nonsense verse" the sentence linked to, I'm hard-pressed to find a good connection between the two. The sentence also suffers from being vague about what "making no sense as a whole" actually mean? A programming language's syntax and semantics, even for most if not all esoteric programming languages, are still highly specified and well-defined, so in that aspect there is nothing "nonsensical" about an esoteric language. Similarly, the fact that it might not be very human-readable is not a convincing criteria of "nonsensical" — just because you cannot read, say, Chinese, doesn't mean it is a nonsensical language, right? (Besides, obsfucation is quite possible in rather conventional languages such as C anyway.)

So overall, I just see little value in this sentence and have taken the bold step to remove it. If anyone wants to add it back in, please consider significantly rephrasing it to avoid the issues I've raised. 24.16.27.166 12:02, 6 June 2006 (UTC)[reply]

Formatting of multiple article titles[edit]

Why are the words "programming language" included as part of the article names for the esoteric programming languages? (See Category:Esoteric programming languages to understand what I mean. When we title an article, any text apart from the name of whatever the article is about is placed in brackets. So instead of TRUE programming language, the article should be titled TRUE, and instead of Lambda programming language, it should be Lambda (programming language) and linked to as disambiguation from the Lambda article. (Assuming Lambda programming language itself survives AfD, but that's not the point.)

This would bring the esoteric languages into consistency with the more familiar ones, such as C++, Visual Basic, Java (programming language) and a whole bunch of others. BrokenBeta [talk · contribs] 16:16, 26 September 2006 (UTC)[reply]

You're not quoting the category right. To quote a category, so it doesn't act as a category but as a link to that category, append a colon, as in "[[:Category:Esoteric programming languages]]". -- Gwern (contribs) 18:33, 26 September 2006 (UTC)[reply]
Ah. Thanks. BrokenBeta [talk · contribs] 18:50, 26 September 2006 (UTC)[reply]

OO-Esolangs?[edit]

Does there exist esolangs with objects (with of course highly limited functionality to the objects, but technically objects)? I am just pondering... --[Svippong - Talk] 15:31, 31 January 2007 (UTC)[reply]

See http://esoteric.voxelperfect.net/wiki/Category:Object-oriented_paradigmRuud 21:07, 31 January 2007 (UTC)[reply]

LOLCODE[edit]

LOLCODE has an entry in wikipedia and it links to here, esoteric programming langauge, however on looking through the examples here they don't refer back to lolcode. I thought I'd mention it. I was going to just make the change myself, it's probably not much harder than typing this, however I don't know how to put in the web links. 82.35.13.32 23:44, 8 October 2007 (UTC)[reply]

love this phrasing[edit]

"Some more popular languages may appear esoteric (in the usual sense of the word) to some, and though these could arguably be called "esoteric programming languages" too, this is not what is meant."

  • I hope I am not deemed overely frivolouse/whimsical when I say, whoever chose this phrasing did an awesome job of such imho.

Thaddeus Slamp (talk) 20:52, 24 February 2008 (UTC)[reply]

Non deterministic languages[edit]

There is another "important", practical use of non deterministic languages. Evolutionary programming, such as Tierra (computer simulation).

Keybounce (talk) 20:19, 29 September 2008 (UTC)[reply]


Ummm[edit]

I think to the vast majority of the planet, all programming language is esoteric... NERDS!- Moshe Constantine Hassan Al-Silverburg | Talk 18:55, 16 October 2008 (UTC)[reply]

Who programmed your computer? Rursus dixit. (mbork3!) 16:52, 2 December 2010 (UTC)[reply]

paper on the subject[edit]

For an academic take, it might be worth looking at whether there's anything relevant to cite in:

  • Michael Mateas (2005). "A Box, Darkly: Obfuscation, Weird Languages, and Code Aesthetics" (PDF). Proceedings of Digital Arts and Culture 2005. {{cite conference}}: Unknown parameter |booktitle= ignored (|book-title= suggested) (help); Unknown parameter |coauthors= ignored (|author= suggested) (help)

--Delirium (talk) 22:16, 18 August 2009 (UTC)[reply]

Notability[edit]

The notability of this article has been challenged, and the article proposed for deletion (to which I objected). I'm opening a discussion here. Zwilson (talk) 20:07, 14 February 2011 (UTC)[reply]

The notability of the subject is beyond question. There are 18 articles in Category:Esoteric programming languages, and it would be foolishness to delete the article on the subject as a whole. While the references could be improved, enough sources are available to easily satisfy the general notability guidelines. Feezo (Talk) 20:21, 14 February 2011 (UTC)[reply]
You'll get no argument from me. I just thought it was better to have a discussion than for me to remove the tag unilaterally. - Zwilson (talk) 21:14, 14 February 2011 (UTC)[reply]
After [4], proposing this article be deleted for lack of notability has to be trolling. Just remove the tag. Zeev.tarantov (talk) 07:56, 27 February 2011 (UTC)[reply]

I actually wonder about the notability, in terms of meeting Wikipedia's general notability guidelines. Citing Category:Esoteric programming languages or the specific Wikipedia articles doesn't satisfy GNG because Wikipedia is not considered a reliable source. Reddit and other user-generated content sites are also not considered reliable sources.

I was trying to verify some of the article's material, and most information is unreferenced or cites wikis, blogs, and personal websites that are not reliable sources. I found some reliable sources for some details, but almost none use the terms "esoteric programming language", "esoteric language", or "esolang". Many use "esoteric" in the generic, adjective sense, commonly referring to LISP, Prolog, PL/I, and APL as esoteric languages, but I'm not counting those. I found three published sources that use the terms the way this article does, plus some sort of slideshow used by a professor. All three published sources reference Wikipedia articles, but one of them does not reference Wikipedia specifically for the information on esoteric languages. (Not that it matters for notability; new terms and ideas are commonly created or popularized in Wikipedia articles, and once reliable sources use them, establish notability by citing those sources, even though the references are circular).

  • Cox, Geoff (2013). Speaking Code: Coding as Aesthetic and Political Expression. MIT Press. pp. 1–7. ISBN 978-0-262-01836-4. This is the only source I've seen that uses the term at length; it uses it exactly as used in this article (I'm guessing it's based on this article, but while it lists several other Wikipedia articles as references, it doesn't mention this one). It's published by MIT Press, and written by an Aesthetics and Communications professor, so I'd accept it as reliable.
  • McCormack, Jon; d’Inverno, Mark (2012). Computers and Creativity. Springer. p. 236. ISBN 978-3-642-31727-9. Another, perhaps looser, programmer culture is that of Esoteric Programming Languages or esolangs, which Wikipedia defines as 'programming language(s) designed as a test of the boundaries of computer programming language design, as a proof of concept, ... The rest I can't see (limited access via Google), but the index lists only that page for the term "esoteric programming language", so while reliable, it may not constitute "significant coverage".
  • Bobrik, Marian; Kvasnicka, Vladimir; Pospichal, Jiri (2008). "Artificial Chemistry and Molecular Darwinian Evolution of DNA/RNA-Like Systems II — Programmable Folding". In Kelemen, Arpad; Abraham, Ajith; Liang, Yulan (eds.). Studies in Computational Intelligence. Vol. 85. Springer. pp. 337–373. doi:10.1007/978-3-540-75767-2_15. ISSN 1860-949X. 15.2 Source of the Instruction Set: Simple, but efficient system of operators for program tree nodes is derived from an 'esoteric' programming language called brainf..k. [19], see Table 15.1. Its variant was used in [13], and shown the ability of 'digital abiogenesis' – emergence of a self-replicator among randomly generated programs. To study this ability, a further reduced system, in which only data processing instructions were preserved, was implemented here. {{cite book}}: |work= ignored (help); Missing or empty |title= (help) This is a passing mention of the term, but is a reliable source; the reference cited as "[19]" is to the Wikipedia article Brainfuck.
  • 2010 slideshow on Malbolge, perhaps for a course lecture or other presentation, by professor Masahiko Sakai of Nagoya University.

Can anyone suggest other reliable sources that use these terms? ––Agyle (talk) 10:15, 28 June 2014 (UTC)[reply]

I found three other sources that use the term. Two provide minor coverage (though one is about a specific language, Malbolge), while one provides significant coverage of the topic:
  • 長坂 哲 (Nagasaka Satoshi); 酒井 正彦 (Sakai Masahiko); 坂部 俊樹 [他] (Sakabe Toshiki); 草刈 圭一朗 (Kusakari Keiichirou) (2010). "難解言語 Malbolge のチューリング完全性について (On Turing Completeness of an Esoteric Language, Malbolge)". 電子情報通信学会技術研究報告 (Technical report of IEICE Software Science (in Japanese). 110 (227). The Institute of Electronics, Information and Communication Engineers: 55–60. ISSN 0913-5685. Just a brief one-line usage of the term to describe Malbolge: "Malbolge is known as one of the most esoteric programming languages. In this paper, we prove that Malbolge is weakly Turing complete."
  • Dasso, Aristides; Funes, Ana; Riesco, Daniel; Montejano, Germán; Peralta, Mario; Salgado, Carlos (2005). "Teaching Programming". JEITICS 2005 - Primeras Jornadas de Educación en Informática y TICS en Argentina: 183–186. Just a brief one-line usage of the term in the references, citing this article: "The following URL has some links to the different Esoteric Programming Languages: http://en.wikipedia.org/wiki/Esoteric_programming_language"
I think Mateas and Cox are enough to establish notability of the subject. As far as I can tell, the term as it's used here was invented by editor 163.1.103.122 in this article in 2002, and expanded in scope later that day by editor 213.253.40.113 (the definition has been stable since then). The term may have been taken out of context from an earlier website called "Esoteric Topics in Computer Programming"; that site used "Esoteric Programming Languages" as a section name about a much broader set of languages, seeming to use "esoteric" as an adjective like "unusual" rather than as part of a specific term. None of this is from a reliable source, it's original research and not suitable for inclusion in the article, but it may be useful for others trying to find information on the subject. Agyle (talk) 06:36, 30 June 2014 (UTC)[reply]
I was a subscriber to the mailing list lang at esoteric.sange.fi back in 2001. You can find the archive of that and the sibling misc list here. As the first messages show, the list was initially in parallel with the previously existing esoteric topics list at Catseye. (I think some kind of forwarding took place?)
Of course, you won't accept that as a Wikipedia reference, but it should still prove that the term didn't originate at Wikipedia, but was in fact already actively used in the community.
--Ørjan (talk) 03:04, 1 July 2014 (UTC)[reply]
That is interesting. It wasn't as clear from briefly scanning the list archives how they defined the term, but they included a link to a site active in 2001 that seems (through inference) to use the term the way this article later did: purists.org/esoteric. The site actually has a link to a FAQ subpage presumably defining the term, but through a stroke of bad luck, that page isn't archived. If a journalist or historian is ever looking to dig deeply into the topic, those are good starting points. By "Of course, you won't accept...", it sounds like you're singling out my reference standards as unusual; I try to follow community consensus-established guidelines. ––Agyle (talk) 05:03, 1 July 2014 (UTC)[reply]
Yeah sorry, I'm just grumpy about Wikipedia's ever more strictly applied policies removing esolang-related articles one by one. --Ørjan (talk) 07:18, 1 July 2014 (UTC)[reply]

FiM++[edit]

http://www.equestriadaily.com/2012/10/fim-update.html The fim++ programing languaje created by Cereal Velocity and published they specification on Equestriadaily (link) count as a esoteric languaje?? — Preceding unsigned comment added by 201.188.34.168 (talk) 03:04, 26 January 2013 (UTC)[reply]

Java[edit]

There isn't enough clear awareness on that Java is a esoteric language, and I keep seeing businesses use it because of this lack of knowledge, I vote it should be added to the page. --84.82.234.221 (talk) 16:43, 27 February 2013 (UTC)[reply]

Please use brainfuck instead. — Preceding unsigned comment added by 176.13.56.24 (talk) 20:01, 9 December 2013 (UTC)‎[reply]

Wierd vs Weird[edit]

Is the programming language really spelled "Wierd" or is that a typo? Upjav (talk) 03:20, 26 June 2014 (UTC)[reply]

It really is. (Note the Not typo template in the source.) The name is a portmanteau of "weird" (because it is) and "wired" (because execution of its programs follows visual "wires"). --Ørjan (talk) 02:14, 27 June 2014 (UTC)[reply]

Confusing tags[edit]

Hello. I have tagged the sections 'FALSE' with a confusing tag. I believe that the actual code should be set on a newline, and not in the same line as the sentence.
JamesJNHu (talk) 20:27, 23 July 2014 (UTC)[reply]

Done. --Ørjan (talk) 01:28, 24 July 2014 (UTC)[reply]

2 + 2 = 2048 Firefox Game[edit]

2 + 2 = 2048 is a impressive game, that is available in my ZEN Firefox O.S. mobile. I feel it is relevant to make a point about that game here.

When Horizontal & Vertical swipe happens addition of same 2'fold number happens in a 4x4 Grid, like 2 + 2 = 4, 4 + 4 = 8, 8 + 8 = 16.
2^11 = 2048, 10 + 1 = 11. So I think this game tries the limitation of decimal number in Quantum. I feel consecutive games from one another can do Esoteric Programming Language that can be delved into Quantum Mechanics. — Preceding unsigned comment added by Ansathas (talkcontribs) 15:30, 17 March 2015 (UTC)[reply]

Definition of Turing tarpit[edit]

User:Rhoark edited the section about Turing tarpits from

A Turing tarpit is a Turing-complete programming language whose number of commands, operators, or equivalent objects is very small.

to

A Turing tarpit is a Turing-complete programming language in which any computable function could theoretically be written, but in which it is impractically difficult to do so.

The latter is closer in spirit to the definition used in Wikipedia's Turing tarpit article, and has been so since 2010.

The problem is, the latter is definitely not the definition used in the esolang community for categorizing esolangs. As such, I think it doesn't belong in a list of esolang terms. To me the question, then, is whether to change it back (perhaps clarifying) or whether to delete the section outright. --Ørjan (talk) 03:45, 21 October 2015 (UTC)[reply]

I added clarification. Rhoark (talk) 15:50, 21 October 2015 (UTC)[reply]
Great! --Ørjan (talk) 06:03, 22 October 2015 (UTC)[reply]

Grass[edit]

Would it be more appropriate to call Grass a Toy programming language? 157.127.239.146 (talk) 19:43, 22 May 2017 (UTC)[reply]

Ook! new page has been nominated for deletion[edit]

I created Ook! and linked it to the already existing foreign language versions. I made the disambiguation page ( ook ) point to it. It was nominated for deletion almost immediately after I created it. I'm considering adding what I created to this page and allowing it to be deleted. Then the disambiguation could be pointed to the section here. Not sure how the foreign language links would work. Not at all I assume. -Crunchy Numbers (talk) 19:24, 28 June 2017 (UTC)[reply]

Trimming down the examples list[edit]

Maybe the list should be trimmed down a bit. There's quite a few, and some of them don't really have a good reason to be there. I already nipped the bud on Train, and removed it from the list. Any more that might need trimmed? --MoonyTheDwarf (Braden N.) (talk) 22:08, 10 November 2019 (UTC)[reply]

Deleted sections[edit]

Other wikipedia articles link to the sections #Chef and #FALSE, but these sections were removed. Would it be better to add them back in, or remove the references? 72.83.125.130 (talk) 14:16, 2 September 2020 (UTC)[reply]

The references ought to be removed. —moonythedwarf (Braden N.) 14:59, 2 September 2020 (UTC)[reply]

Modiscript[edit]

In my opinion, Modiscript is not notable enough to be included in the list. After reading its documentation, it is abundantly clear that it is nothing more than a standard language with some variables and methods renamed. It was first removed by User:MoonyTheDwarf during the first round of trimming, and then numerous times by me and other users. However, anonymous editors always revert the edits without providing any further comment. Would anyone like to weigh in? Envysan (talk) 22:47, 8 January 2021 (UTC)[reply]

Just looked at it.. It certainly looks "esoteric" - a programming language as religious-social-cultural commentary! I love it! Jimw338 (talk) 23:34, 8 January 2021 (UTC)[reply]
Concur: fun but not that notable really. The list should concentrate on notable examples. Jules (Mrjulesd) 23:41, 8 January 2021 (UTC)[reply]

"Chef programming language" listed at Redirects for discussion[edit]

A discussion is taking place to address the redirect Chef programming language. The discussion will occur at Wikipedia:Redirects for discussion/Log/2021 July 22#Chef programming language until a consensus is reached, and readers of this page are welcome to contribute to the discussion. Adumbrativus (talk) 04:46, 24 July 2021 (UTC)[reply]

J Programming Language[edit]

based on APL, which here is considered not "esoteric".

J allows composition of functions = Function-level programming, Function composition (computer science).

J is a very terse array programming language

src: J (programming language)

"very terse" can make J seem "esoteric".

other than "terse", J could be described as "cryptic" or "obscure" or "easy to obfuscate" (Obfuscation (software):

The lack of argument naming gives point-free style a reputation of being unnecessarily obscure, hence the epithet "pointless style".

src: Tacit programming

video: "The J Programming Language" by Tracy Harms (2013)

-- Milahu (talk) 16:04, 27 January 2022 (UTC)[reply]

"Popular among hackers"[edit]

What does this have to do with hacking? Would really like to see some source for this They're popular among anyone who codes and wants to explore Turing-completeness or just for the lolz. Has nothing to do with hacking as far as I see it. I don't see any application where I, specifically as a hacker, would use an esoteric language or any reason why I find it cool, just because I'm a hacker. LPfote (talk) 19:29, 9 September 2023 (UTC)[reply]

Wiki Education assignment: IFS213-Hacking and Open Source Culture[edit]

This article was the subject of a Wiki Education Foundation-supported course assignment, between 5 September 2023 and 19 December 2023. Further details are available on the course page. Student editor(s): CMA2379 (article contribs).

— Assignment last updated by KAN2035117 (talk) 18:00, 16 November 2023 (UTC)[reply]