I've recently viewed this amazing conference "The Art of Code" from the developer [Dylan Beattie](https://dylanbeattie.net/about), maybe one of the best talk about code I've ever seen.
In this talk, Dylan talk about how software and technology has changed the world we live in and how code and art can intricate itself together with an absolute mastery of eloquence and humor.
He first talked about how code can create complex systems but can remain very simple by giving the [Game of Life](https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life) and [Mandelbrot set](https://en.wikipedia.org/wiki/Mandelbrot_set) as examples, then, about how art can emerge from code using software such as [Deep Dream](https://github.com/google/deepdream).
The part that totally blew my mind is the last one : how about code as art? This part is more about languages : [obfuscated code](https://en.wikipedia.org/wiki/Obfuscation_%28software%29), [Quines](https://en.wikipedia.org/wiki/Quine_%28computing%29) \(programs which print their source code\), esoteric coding languages such as [Whitespace](https://esolangs.org/wiki/Whitespace), [Shakespeare Programming Language \(SPL\)](https://fr.wikipedia.org/wiki/Shakespeare_Programming_Language) or even [Brainfuck](https://esolangs.org/wiki/Brainfuck), languages that output music \([Sonic Pi](https://sonic-pi.net/), of course!\) and then, how he created his own programming language : the [Rockstar](https://github.com/RockstarLang/rockstar) language, a language that is written using early metal lyrics! 🎸
After that, I ask myself : how do people write programming languages? What are the norms, specs, frameworks or design patterns for creating one? I mean, if people can write new programming languages, why not me?
Before even thinking to write my own \(even if I have some ideas of esoteric languages 😄\), I'm just curious about how to. So in this plot my finds about How to create a programming language.
By the way, here's the video :
<iframe width="100%" height="515" src="https://www.youtube.com/embed/6avJHaC3C2U" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
## Links :
### General articles
* [How would I go about creating a programming language - Strumenta](https://tomassetti.me/how-to-create-programming-language/)
* [List of esoteric programming language \(there are many\) - Esolangs](https://esolangs.org/wiki/Language_list)
* [List of programming languages - Wikipedia](https://en.wikipedia.org/wiki/List_of_programming_languages)
* [Programming language - Wikipedia](https://en.wikipedia.org/wiki/Programming_language)
* [Programming paradigm - Wikipedia](https://en.wikipedia.org/wiki/Programming_paradigm)
### Feedback from people who created one
* [I wrote a programming language, here's how you can too - freeCodeCamp](https://www.freecodecamp.org/news/the-programming-language-pipeline-91d3f449c919/)
* [So, I created a programming language - Medium](https://medium.com/young-coder/so-i-created-a-programming-language-4d9c11038d22)
### Step-by-step tutorial
* [Creating a programmming language from scratch - Medium](https://medium.com/swlh/creating-a-programming-language-from-scratch-244b88e33e2f)
* [Let's build a programming language - Hackernoon](https://hackernoon.com/lets-build-a-programming-language-2612349105c6)
* [How to create a programming language - Wikihow](https://www.wikihow.com/Create-a-Programming-Language)
* [Writing a simple programming language from scratch - dev.to](https://dev.to/evantypanski/writing-a-simple-programming-language-from-scratch-part-1-54a2)
### Create with a specific language
* [Building a toy programming language in Ruby: Introduction - Honeybadger](https://www.honeybadger.io/blog/stoffle-introduction/)
* [Building a toy programming language in Ruby: The parser - Honeybadger](https://www.honeybadger.io/blog/ruby-parser-stoffle/)
* [How to implement a programming language in JavaScript - Lisperator](http://lisperator.net/pltut/)