From a18fb5a401c6d399e9068d626732914194cf869c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miloslav=20=C4=8C=C3=AD=C5=BE?= Date: Sat, 20 Nov 2021 17:44:34 +0100 Subject: [PATCH] Update --- esolang.md | 37 +++++++++++++++++++++++-------------- 1 file changed, 23 insertions(+), 14 deletions(-) diff --git a/esolang.md b/esolang.md index 6d62afa..cc166e2 100644 --- a/esolang.md +++ b/esolang.md @@ -2,22 +2,25 @@ So called esoteric programming languages (esolangs) are highly experimental and [fun](fun.md) [programming languages](programming_language.md) that employ bizarre ideas. Popular languages of this kind include [brainfuck](brainfuck.md), [chef](chef.md) or [omgrofl](omgrofl.md). -There is a wiki for esolangs, the [Esolang Wiki](https://esolangs.org). If you want to behold esolangs in all their beauty, see [hello world in different languages](https://esolangs.org/wiki/Hello_world_program_in_esoteric_languages_(nonalphabetic_and_A-M). +There is a wiki for esolangs, the [Esolang Wiki](https://esolangs.org). If you want to behold esolangs in all their beauty, see [hello world in different languages](https://esolangs.org/wiki/Hello_world_program_in_esoteric_languages_(nonalphabetic_and_A-M). The Wiki is published under [CC0](cc0.md)! Some notable ideas employed by esolangs are: -- Using images instead of text as [source code](source_code.md). -- Doing nothing. -- Having two dimensional source code. -- Source code resembling cooking recipes. -- Trying to be as hard to use as possible. -- Trying to be as hard to compile as possible. -- Adding randomness to program execution. -- Obligation to beg the compiler to do its job. -- Using only white characters in source code. -- Using only single letter in source code. -- Using git repository structure as source code. -- Source code resembling dramatic plays. +- Using images instead of text as [source code](source_code.md) (e.g. *Piet*). +- Doing nothing (e.g. *Nothing*). +- Being 2 or more dimensional (e.g. *Befunge* or *Hexagony*). +- Source code resembling cooking recipes (e.g. *Chef*). +- Trying to be as hard to use as possible (e.g. *Brainfuck*). +- Trying to be as hard to compile as possible (e.g. *Befunge*). +- Adding randomness to program execution (e.g. *Entropy*). +- Obligation to beg the compiler to do its job (e.g. *INTERCAL*). +- Using only white characters in source code (e.g. *Whitespace*). +- Using only single letter in source code (e.g. *Unary*). +- Using git repository structure as source code (e.g. *legit*). +- Source code resembling dramatic plays (e.g. *Shakespeare*, actual [real-life](real_life.md) plays were performed). +- Solely focus on [golfing](golf.md), i.e. writing the shortest possible programs (e.g. *GoldScript*) +- Using [unicode](unicode.md) characters (e.g. *UniCode*). +- Being infinitely many languages (e.g. *MetaGolfScript*, each one solves a specific program in 0 bytes). Esolangs are great because: @@ -25,4 +28,10 @@ Esolangs are great because: - They are **[fun](fun.md)**. - **They are great exercise in [programming](programming.md)** and design. Simple languages that are allowed to not be useful are potentially good for education as they let the programmer fully focus on a specific idea and its implementation. - **They blend technology with [art](art.md)**, train creativity. -- **They are a breath of fresh air** in the sometimes too serious area of technology. Hobbyist and non-commercial programming communities are always great to have. \ No newline at end of file +- **They are a breath of fresh air** in the sometimes too serious area of technology. Hobbyist and non-commercial programming communities are always great to have. + +## History + +INTERCAL, made in 1972 by Donald Woods and James Lyon, is considered the first esolang in history: its goal was specifically intended to be different from traditional languages and so for example a level of politeness was introduced -- if there weren't enough PLEASE labels in the source code, the compiler wouldn't compile the program. + +In 2005 esolang wiki was started.