Running "Hello World!" in 10 FORBIDDEN Programming Languages
ฝัง
- เผยแพร่เมื่อ 10 พ.ค. 2024
- Check out www.expressvpn.com/ardens to get an extra 3 months FREE on a one-year package!
When you have bored programmers with a lot of free time, things like esolangs tend to arise. Esoteric programming languages are strange and fascinating, and I discussed ten of them in this video. I chose the ones that I thought were the most interesting and would garner the most attention. I hope you find this video interesting and, most importantly, entertaining. If you could share and like this video, that would help me tremendously. Let me know what you liked and disliked in the video so I can create better content for you (I won't stop swearing, the least I could do is bleep them out, and if I don't, it's because it sounded too funny).
💻 Instagram: / im.ardens
💻 Discord: / discord
💻 GitHub: github.com/myNameIsArdens
#programming #tech #computerscience
Chicken research paper:
web.archive.org/web/201804160...
Interpreters/Compilers I used in the video:
1.Whenever:pages.cs.wisc.edu/~tolly/when...
2.ArnoldC:mapmeld.com/ArnoldC/?v=2
3.Chef: tio.run/#chef
4.Whitespace: tio.run/#whitespace
5.Chicken:web.archive.org/web/201804200...
6.Befunge:befunge.flogisoft.com/
7.Piet:gabriellesc.github.io/piet/
8.Intercal:www.tutorialspoint.com/compil...
9.Brainfuck:www.tutorialspoint.com/execut...
10.Malbolge:www.tutorialspoint.com/execut... - บันเทิง
Protect your online activity TODAY with the VPN rated #1 by CNET. Visit my exclusive link www.expressvpn.com/ardens and you can get an extra 3 months FREE on a one-year package. I hope you all enjoyed the video.
Express VPN is trash
Does it work in my bed?
@@brunocamposquenaoeoyoutuber what?
stop taking sponsorships its so f***ing dumb.
Nice try
A friend of mine made a lang called "numbscull". Everything is a number, and all numbers are variables. So if you set 2 to 3, then 1+2 becomes 4.
That's so evil!! But it's satisfying that I can finally assign values to constant literals
Forte does this. But lines are executed in order of their number. Which may change during execution.
aneurysm% wr
you can do that in Java
can you make 9+10=21?
my dream eso-lang would be a compiler that generates the instructions based on the volume and pitch of an audio recording. throw in some AI to verify that all the audio recordings are of a human screaming and you will get a hello world program that is just some dude screaming at various volumes and frequencies for 5 minutes straight
thats genius lmao
@@mutsukiaz uncensor nigga my homie
Me: sings songs badly
ur eso-lang: One FPS shooter finished
TLDR: Yes, turn random noise into a program, or try to execute GTAV pause menu music
Edit:
Now that i read, it sounds even more cursed than i thought
@@chithiradiasseneviratne3562 You would have to scream for hours
I bet you would lose ur voice
Also, you would definitely encounter an error in your "program", which is f*cked up
My favourite esoteric language is not really a language itself, but a library for python called "esoterrible". It's based on a few concepts like "Truthiness is in the eye of the caller", where you have - in addition to True and False - mixed values like Truse, Ftlue and Talse with a specific chance of being True or False. Also, dictionaries perform lookups on the Oxford dictionary if the key is unknown and an error is raised if you mix up American and British English for the variable names.
Here’s my idea for esolang
Frums
It’s similar to the ArnoldC esolang, but it uses Frums song titles
JavaFrums
A language that is based on pi number, you must find an opcode as a number on pi, and write the jumps as instructions.
I was the 666th like
i need it
The fun thing about Whitespace is that it is 'spy proof'. You can print it out and leave the code on your desk and no one can read or copy it.
(Oh, and you can intermix it with languages that don't consider whitespaces relevant. So you can have a single file that gives you one type of program when run through one compiler and another type of program when run through a whitespace compiler sice that compiler ignores all non-whitepace characters)
Wait... Someone hand this man a medal
And if you print out a whitespace code, it's amazing how low the consumption of ink or toner is!
bro I tried it and you are a genius
0 to be exact@@lasstunsspielen8279
That.... would be quite something.
"You confessed your love."
"You now have a girlfriend"
"You win the lottery"
"You wake up"
Truly an evil coding language
It should be banned by Microsoft founder and never ever be sent over to Google.
It tells the truth 😔😔😔
"You got to the toilet"
"You take a sh*t"
"You wake up to your alarm"
@@antalervin1447 this is like that one marvel scene where doctor strange says that there's only 1 way that they can win:
"You wake up to your alarm"
"You go to the toilet"
"You take a sheet"
"You confessed your love to your crush"
"You now have a girlfriend"
"You found out you won the lottery"
"You wake up"
Worst day of my life
they roasted us _whenever_ they wanted to
and it was only the beginning of the day
@@Gaeru-cq8jj beginning*
@@FieryToad thanks dude!!! that actually helps me! :D
@@Gaeru-cq8jj no problemo m8
My dream esolang would be one based on legal chess moves. each valid move would encode information somehow, but all moves have to be valid, including choosing which pieces to sacrifice on both sides of the board to better allow movement
The entire Esolang community: What are you, Satan?
Code Battle Advanced
CBA 2
I remember reading someone say that "Hello World!" is probably the most ported program in computing.
Malbolge is truly the peak of the programming community...
LOL ADAF WHAT ARE YOU DOING HERE
fix tasbot autoclicker pls
hello fellow gd players
@@Mefistic lol hi
@@ashes6816 welcome to the dasher cult people
PRAISE THE ROB ON THE TOP
I'm gonna make an esolang where the only valid characters are emoji, variables must be named with some kind of face emoji and the average mood represented by the faces has to remain sufficiently positive or the compiler will get sad and crash.
😎😭😈😊😂😂😀😃😅😠😬😡😢😅
Emoji language exists
@@Ikxi but does it get sad and commit suicide?
...& if you use too much laughing emojis the compiler will throw an error because "it tired of laughing".
Better yet, an esolang that relies exclusively on being the most profane and offensive as physically possible without opening a black hole of edgy cringe
My favorite esolang is Piet. I created a few programs with that.
One thing I found really awesome is how it can calculate PI.
In Piet, the number of pixels in the area you are leaving can be used as a constant for the next commend.
So, you draw half a line=r, then paint a circle=A, and calculate A/r/r=π.
The result becomes more precise with the image size and how well the circle is drawn.
There is also a small text-RPG someone wrote in Piet, where you explore an old house.
Do you remember the name of the rpg or where to find it? Thanks
I would also like a name or a link, please
Piet is so incredible. As more of an artistically minded math enthusiast it’s what got me into programming at all
11:25 4 AM in the morning, as opposed to, obviously, 4 AM in the afternoon.
I would write a language where every character has a 50% chance of being read, also changing every time the runs.
i think even something as simple as print("hello world") would have such a low chance of actually running
Wtf
Schodingers cat type language 💀
@@Flairis 💀
@@Flairis is
same as any programming language except theres a 50% chance that you don't need a semicolon where you normally would and it doesn't tell you what line the code fails at
so simple yet so terrifying
that plus the instruction set is way more minimal
Isn't this just Haskell?
Rust
Good idea
I'd simply write a program that outputs every possible binary permutation of semicolon/no semicolon, and then runs each until I it finds the one that compiles.
Now I remember what Brainfudge looks like. I was studying computer science back in 1995, and one of our classes introduced us to mathematical concepts too advanced for our first semester. I hated that stuff so much I switched from software to hardware in later semesters, and then when someone introduced me to Brainfudge, it was awful familiar, and now I can see why: Brainfudge is a Turing Machine. Obviously, it is Turing-complete, and it can do anything a Turing machine can do. 28 years later I realized that watching this very video. By the way, I am now a civil engineer. I ended up switching careers in 2009.
I can’t help but wrap my head around the idea of a 3D programming language that uses shapes and blocks to build programs. I have no skills I’m programming whatsoever, but I really wanna do it. It’s be like, you have vectors and edges that work together to make a cube, and cubes work together to make a program depending on the touching faces, edges, and vectors that change the outcome based on what the edges and stuff are made out of. Dunno if I’m explaining this right, but I have the idea in my head and wanna see if I can make it a reality, so I’ll be figuring out if I can when I go to college again eventually.
Fancade
The 80x25 limit only exists in Befunge-93, later iterations like the (arguably) most popular Befunge-98 do not have it.
Also, for anyone interested, one of the cool things about Befunge is that it's capable of self-modification (i.e. your code can change its own code dynamically while it runs).
I used this fact last year to make a small Befunge-98 sand physics simulation in a 10x20 grid... inside the code. And it surprisingly worked better than expected
Well, In theory, any compiled language can do that, and interpreted ones should too depending on the inner working of their interpreter.
This is called polymorphic code.
For instance, it's something used by malwares to modify their signatures and try to avoid being detected by antiviruses.
However, it would not give the same kind of behaviour as what you did in Befunge. Plus, such a program is anything but easy to write...
Do you have any link to your simulation ? I'd love to see that in action !
@@arthur1112132 Unfortunately that simulation was written in a state of sleep-deprived daze back during my semester in Latvia and got lost at some point during a Linux reinstall. I do plan on making it again at some point, I'll send the GitHub link once I gather enough motivation for it :)
@@HoloTheDrunk then i'll leave my useless reply here to maybe perhaps get notified by youtube when you do finish it
@@widmo206 ditto.
Also, I might as well ask here: wouldn't it also be considered arbitrary code execution? Or is that only when an outside source (a person) uses the program in such a way that it modifies the code?
Replying here for link to sauce too, pls yes sandbox sim in Befunge
New esolang: Bogo++
Every instruction is assigned to a random ASCII character (for extra un-usability use unicode instead). This assignment randomizes each time the code is compiled. After enough compile attemps you will get the code to do what you want... eventually...
20th liker
Who hurt you
New esolang: Semiquestion
After the first time you run your code, you will need to either use semicolons or Greek question marks
3 Comments? Lemme fix that
Or you never will. Halting problem moment.
My language of choice would be coded in the DNA base only "AGCT" except that every prime letter in the code is shifted by 1 unless the previous number was a multiple of 3 in which case it it shift by -1 and of course, if it was ALSO a multiple of 7 in which case if shifts by 2 in the direction of your choice.
For ease of use it's coded in codons (group of 3) character. But most commands have multiple codons which basically do the same (with slight exceptions), which you will have to learn if you want a chance at reading the code.
I love how content creators nowadays tell you how you should absolutely subscribe in all those different ways before you've even seen any one of their videos
Yeah, that's lovely. The threat of getting weapons aimed at you is also particularly nice.
Watch on guest mode, then you can't subscribe.
On my first job I had a colleague that invented a few esolangs. He taught me programming in brainfuck and got me more interested in programming in general. Now I'm doing a PhD in AI and I often think that my life would be very different if it weren't for brainfuck
Holy crap. I started programming in scratch, I can’t imagine starting with that nightmare of a language
@@yellobanana6456 Actually, Brainfuck isn't that difficult of a language really. If you know that what a "Turing complete machine" does in essence is change values on a strip of numbers, then you have mastered much of Brainfuck. The other thing is knowing what each symbol represents, which isn't that difficult either, as there are only a few symbols (6 or 7 iirc. No more than 10)
The only tricky thing is implementing stuff like loops and whatnot, as the whole thing that Brainfuck does is essentially "go to a cell, change its value, go to another cell". So, you need to find clever tricks to implement ifs and loops (correction: Brainfuck does have a loop, but it's a very specific one)
@@yellobanana6456 same then i went headfirst to asm
@@yellobanana6456 hey, same!
Is it wrong that I want to make one that makes Malbolge look like C++ in comparison and call it The Abyss of Judecca
All 10 Languages mentioned in this video:
2:07 Whenever
4:19 ArnoldC
5:30 Chef
7:13 Whitespace
8:14 Chicken
9:46 Befunge
11:59 Piet
13:06 Intercal
14:08 Brainfugd
15:25 Malbolge
@@defaultuser2162 i dont use the actual word so i decided to sub it with this
14:08 Brainfuck
corrected
Befunge starts after the ad break at like 11:03
Whenever roastedd you in this video
@@teamok1025 Whenever always does that
I genuinely think that no video on esolangs is complete without a mention of DMM, his work in the field is equal parts genius and hilarious.
It's funny you referred to him as the Bob Ross of esolangs though... I suspect he's probably better known for one of his other projects... Irregular Web Comic. Contrary to the name, it ran for 9 years with a ridiculously high schedule accuracy... it then retired and a few years later un-retired due to popular opinion. He really deserves to be better known.
Here’s a stupid idea:
JavaShit
The way it works is simple:
All commands names are memes
@@iamwoke322 so... javascript, minus the bits that make it usable? :p
i actually like piet a lot. it looks fun enough to be used as magic system in fantasy or alien language in cosmo-opera.
Essentially an extension of the “please” language where to get the computer to do something, you have to greet the computer, befreind the computer, and ask the computer to do something and one mishap in the code can ruin your entire “friendship” with the program, and force you to start over, and you can’t get it to do too many things, so you have to put a whole bunch of useless stuff in between. So effectively you have to write a whole fking conversation.
And now imagine if this eso-language being used as basis in some kind of OS... I think I understood why Adeptus Mechanicus in Warhammer 40k is believing in Machine Spirits...
O GREAT MACHINE SPIRIT, I BEG OF YOU TO PRINT "HELLO WORLD"
can you get such a good relationship with the computer you have sex with it
i bet you could make it solve string theory after that
ok so a simple "hello world" would look like this?
Hey Computer, how are you doing? (being polite and starting a conversation)
You look lovely today (useless, useless, useless)
Could you do me a favour by the way? (finally, the start of the program)
It's not anything much complicated, (useless!)
But could you please print "hello world" for me? (action)
Thank you, have a lovely day! (being polite and ending the program)
@@Techy404 yes lol
That moment when ur cat walks over your computer while on Malbolge and you end up writing a game
The probability is 0,00(0)1%
@@narrativeless404 NERD
Mrow…
I’d like to see an esolang based on movement instructions. Like “walk 20 paces, make a soft right, then jump.”
Isn't that scratch?
The amount of jokes this man has exceeds my braincells. The no b*tches one caught me off guard. You deserve not only my sub and probably my like.
Brainf is actually very useful for finding exploits in locked down systems. The 3ds was picked apart with an approach that initially used brainf to mess about in ram!
How does one execute brainfuck without installing a compiler? ~Cherri
@@arcticcircle9178 you compile on pc and load the binary on the target device. The way brainf is designed makes it more "friendly" to do mem-specific operations.
That is really cool!
@@sayamqazi How do you load the binary onto a locked down device?
@@anon_y_mousse technically nothing should be able to stop you from modifying the contents of a system's memory from the outside.
3:57 relatable...
One for a future video: the One Instruction Set Computer. There are a few variants, but the best-known are SBN (subtract and branch if negative) and MOV. The x86 memory management unit can be coaxed into becoming a subtract-and-branch-if-less-than-or-equal-to-zero machine, and x86's MOV instruction alone is Turing Complete. There exists a program called The MOVfuscator which can compile C source code to all MOV instructions. Good luck disassembling that!
Fun fact: any MOV command can be replaced with an AND command and then an OR command, so if you know how to replace a command with MOV then you also know how to run it on a primitive machine that can only do AND and OR
I can't lie, I thought you this would be a boring subject but your jokes and flow made it extremely fun to watch. gonna watch more !
If I made a esolang, I'd want to call it C- - and have it be the reverse of C++.
That's a cool thought
C++ but ret@rded
yes!
sounds like an improvement to c++
and i make C==
4:14
"Let me know down in the comments, so I can ignore it."
Funniest sh** ever!🤣
Man... that gun charging sound brought so much nostalgia... it was the sonic Eggman attack charging sound !
The freaking gun at the beginning was awesome so I subscribed please continue these jokes
Chef may be useful someday. For example: Imagine a dictatorship that censors programming languages. Is actually quite common in dictatorships like North Korea to write a cooking recipe hiding some kind of secret information. On a theoretically country that censor programming you could write a code as a recipe and no one that is not a programmer would recognize
Can you even read Chef code?
I mean, that's like, looks harder than binary
chicken would work as well people would just think you're a crazy chickenphile
@@DuckDuckNuke Yes
*proceeds to write nuke plan in thanksgiving turkey recipe*
@@NuclearCat_335 hahaha
I think the reason that BF gets used so much is because it is so simple. It's super easy to implement an interpreter or a compiler for it and it's a perfectly balanced language as well. It's also fairly easy to translate it into other languages and even do some minor optimizations.
I find its design very elegant. But then I'd rather learn assembly than learn bf
@@ahwabanmukherjee5065 Why not both?
I think BF is actually one of the closest languages to the original mathematical Turing machine. Not that that would be much easier to code in.
@@roax206 It is indeed pretty close. If you've not tried to do so, try to write a code generator to convert messages into BF. If you've never written an interpreter for it, then start there. You might find it fun.
@@anon_y_mousse I wrote an interpreter for BF that even inlines code files in an attempt to make semi human readable functions.
My esolang saolang requires you to have a copy of the SAOL (Swedens primary dictionary essentially) from a very specific year, all tokens are in swedish and are designated while programming by the page number and where on that page the word is, from bottom to top of course :D
my language would be called "Ritual" and you'd be required to set up a camera which tracks your movement, translating various dance moves into
lines of code. To use the print function, you would need to raise your right fist in the air, and to type characters you would have to use ASL
RNGLang
You could type characters, or delete characters. the twist is that every time you type a character it is randomized
PI lang
You specify nth digit in pi to start your program from, and how many digits you wish to continue before the program terminates.
Each digit corresponds to some form of stack operations.
PgLang
Kendrick!!! I love kendrick Lamar!! He is so epic! I'm Morbin!
that sounds less like the language and more the IDE
@@Yutaro-Yoshii My idea is similar, but you use strings, and you type in how many digits in the beginning and end of the string is.
Piet’s one of my absolute favorites. Every three years I like to churn out a new painting based on a program I write in the language. I’m currently writing a Virus :^)
I wonder how it infects stuff considering it’s code is so different
make so it can bypass internet security and corrode every contacts and security number
My eso-lang would be something where you have to write everything in the hexadecimal code version of the Unicode version of that character. The only things you don’t have to write in that version is the hexadecimal things themselves. If the code sees a single thing that isn’t in hexadecimal code, or something that doesn’t translate to a valid unicode thing, the whole code refuses to work.
my idea for esolang: a language that base's its characters on the specifics of your computer. When the lang rips info about your computer, itll assign characters based on whats received and proceed to make the language based on those characters
Mine would be like Python however you have to specify the language the syntax is in in each line and you can't use the same language more than 3 times.
Most evil Duolingo challenge
This is actually a really cool idea, using annotations to specify syntax.
@@dannylovell7876 Except for the part where you can't use the same language more than 3 times.
writes a game in 2 lines
8:44 So basically "public" means that the method will be usable outside of the class. For example you have a class ""Calculator" with public method "Sum" and you have an instance of this class named "calculatorClass". You can access the method "Sum" by writing calculatorClass.Sum();. If the method "Sum" is private you cannot access it so "calculatorClass.Sum();" will give you an error (assuming the Sum method is private). The word "static" means that the method can be used without an instance. For example instead of "calculatorClass.Sum();" you can use "Calculator.Sum();". And last "void". This represents the return value of the method. If you have void that means that the method has no return value. If instead of "void" there was "int" the method is expected to return a integer. Something like a promise, the method promises you that this method will return an integer. And the word "main" is the name of the method ;)
You could say that with less than 25 words
@@Daisy-im6ck this whole comment explained 4 words
I thought this was commenting on a different video until I read the replies and remembered there was a "public static void main" joke in the video.
@@Daisy-im6ck Ok, go on. Try. (Bonus points if you give examples like i did)
Bro explained it better than my IT teachers
Imagine something like Befunge but you have to compile it "manually" and you're basically playing a game of Snake.
2:30 milk, cereal, bowl.
Milk, spoon, heptagon, cereal, fork, uran, plate
7:25 and that joke alone is worth subscribing lol
That almost made my cry
Lmao
This came unexpected and I love it 😂
I want a language that's just python, but every time you run it or hit 32 characters, they all become physics objects on the page and collapse to the bottom
that would actually incentivize people to make their code more concise lol
Maybe have the code or lines connect in one entity in the phisics plane
That's a function of the ide, not the language.
idea
python but greek question marks
@@theuseraccountnameMake the language execute code from the fallen objects.
I once found a language called COW, it’s a language were you role-play as a cow by mooing repetitively.
I’d make a language with only 4 identifiers C L + -
C would be used ala chicken, L would be a search command witch would use the other indicators for extra instructions if they were on the same line, + would be used to add things or search above the search line of code, - would be used to subtract things or search below the current line of code.
Codecode: a language where the code itself must be typed in through a series of complex cyphers that change based on position of each character.
Chunk++: code based on what blocks can be found in a minecraft chunk.
Smelloworld: code that is written by describing various smells
MTG++: program made solely by describing playstates of a magic game. This is possible.
WOF: all variables and functions must use the same name. The program will not refer to the same one twice in a row.
Junkdrawer: rules and keywords are randomized each time you open the compiler.
Gjallarhorn: each line of code executes several fragmented versions after the main one.
Shiggy: running a program will cause the code to decay, and must be repaired afterwards. Also, copy paste is disabled.
Hello Ardens! Holy moly your channel has grown by a lot. When I made that comment you had a little over 200 subscribers. And I am doing quite well, thank you for asking!
Right?! I'm shocked as well. And I'm glad. Thanks for letting me know by commenting!
@@Ardens. I hope you're doing well too. Make sure to keep us updated on that esoteric language if you ever get around to it.
@@Ardens. hello
damn
I read the comments and decided to install it, thanks for the instructions for downloading)
"It is very tedious to program in binary" - thanks for reminding me that I gotta finish the stupid C+inline assembly thing i started working on
For those not aware, python do actually have semicolon that functions like that, it just does not care if you put it in or not. In practise it is used for having multiple statements on the same line, which is usefull when running something like: python -c "foo = lambda x: (x,x**2); print(*foo(sum(range(10))))"
4:01 bruh
IT WAS ALL A DREAM
Lmao
It was a dream and you grieved and cried
After a year I finally remembered to watch this
Edit: I also feel proud of knowing about whitespace, brainfunk and also trinary being a thing from my time on wikipedia
A) Malboge sounds like a really useful language for secure webware and B) I would create an Esoteric Object Based Language where functions are from the view port of the objects and the non-functions only describe the objects like variables, a second-perspective-social-object-oriented-programing-language (SPSOOPL).
I could never write it, but my esolang would be "NAND". Each line is a 2-input NAND gate, starting at 0. Mapped I/O exists in negative number space. On each line, the two first numbers indicate which gate (or mapped I/O location) each input pin gets a signal from, and an optional third negative number sends the output to the mapped I/O. The mapped I/O also contains a one, a zero, and an input alternating between one and zero for each program step.
Using this, you construct your own processor, ROM and RAM, and run your program. Or build a subset - for Hello world, you could get away with a small ROM addressed by counter, a preloaded shift register, or (depending how the memory map is constructed) just a bunch of gates outputting the required ones and zeroes in parallel.
So like Nand2Tetris?
@@kplays_6000 a bit, yes. That's actually what first piqued my interest in low level programming. Ben Eater's breadboard computer is also great.
@@galfisk Did you complete it? I bought it but left it to dust after the second module (cutting so much cables was a pain)
@@velimirchakhnovski2380 I never built any of it, I just watched the videos. I know I could build it if I really wanted to, but I have other projects.
This is the idea behind VHDL. Basically, you design the computer that implements your program.
I'm a new viewer and when I saw 9:49 I actually got freaked out since my name is actually Arden but then I noticed the channel name. Nice video!
lol thank you for watching Arden :)
16:00 IS THAT A GD REFERENCE!?!!?!???!?
No
Nine circles were named after that
@@AngelOchoa-te2sdnope, wrong
this is a fun one, its not that complex but still:
Hardnumca:
220 = key ... pressed
31 = add
13 = subtract
23 = invert
32 = copy and paste
12 = if statement
21 = is
33 = repeat until
30 = repeat(n)
00 = variable(n)
22 = ask
10 = decimal comma or separator
033 = text
111 = print
233 = printing color
102 = pick random
100 = not
11011 = place sprite on corresponding (x, y) coordinates
0 = join
1000 = mouse down?
10001 = mouse x
10002 = mouse y
@ = start/end of code (line)
#(code)# = runs as fast as possible
Code(code) = if an if statement or loop is used you say what code is affected by it by putting it into brackets: ()
Text uses base 4 (0, 1, 2, 3)
Numbers use base 3 (1, 2, 3)
All functions code (lines) cost 0.01 sec to calculate with the exception shown before
its has a terminal and a screen
the screen refreshes every tick
the terminal is just like in python
This is the first video I've watched by you and I loved the humor. This is the most I've laughed in days. Thank you
That makes me so happy to know :) I thought this was going to be another person in their feelings over the intro lol
3:49Life explained in 10 seconds
Just found your channel and I love it!
I like how Brainfuck basically works like a Turing computer
My dream terrible esoteric language is one where it is made entirely of non-letter/number symbols ( , . / [ ] ; ' etc). Simple enough compared to most of these, except that to run a program, all those symbols have to be part of a functioning program in a different language. So now you have to figure out if your error messages are referring to the parts of the esoteric language on a given line or the real language. You can also theoretically combine it with Whitespace and write three separate programs in one.
There is a name for this language: JavaScript
@@brenocarvalho3452 more specifically, JSFuck
Duocenter: a programming language with only multiples of 2.
Its just c++ but a = 0 b = 2 c = 4 and so on symbols stay the same
6:35 I would cook that, however, I don't happen to have 101 eggs on me at the moment.
i just had an idea and since I'm not a programmer by any means im sure whatever i put here will be a violation of the programming geneva convention.
anyway the summary is that your code serves as your memory, meaning to make any sort of program you need to write to your code during runtime, which will likely be catastrophic. values are handled with characters, and each characters' values are randomly generated every time a file is created.
here is each command:
1, s: tells the program when to start execution. anything before this is treated as a comment, raising InvalidSelection and quitting when any operation is attempted.
2, lx.y: read value of the character at line x, column y and move the execution pointer that many characters to the left.
3, rx.y: read value of the character at line x, column y and move the execution pointer that many characters to the right.
4, ix.y|z.w: read value of the character at line x, column y and increment the value of the character at line z, column w by that much.
5, dx.y|z.w: read value of the character at line x, column y and decrement the value of the character at increment line z, column w by that much.
6, ßx.y: declare start of the stack at line x, column y. attempting to interpret the stack before doing this raises NoAvailableStack and quits.
7, mx.y|z.w: swap the characters at line x, column y and line z, column x.
8, e: interpret the stack as characters and output it to the console.
9, f: displays values of all characters in console, in case you forgot.
10, ^: declare the rest of the line to be a comment, ignored by the code and raises InvalidSelection when operated upon, as if the line end was before it.
here is each error message, where v is the pointer:
InvalidSelection: occurs when an operation is attempted in an invalid area, for example:
(BoF)
(all values are 1 for demostration purposes)
This is treated as a comment, ^ or not. This will also raise an exception if an operation lands here but we'll ignore that for now.
s
I 4.30 v
^ Wait, that's beyond the end of the line! Raise exception!
(EoF)
NoAvailableStack: occurs when an interpret operation is attempted before defining the stack, for example:
(BoF)
(all values are 1 for demostration purposes)
This is treated as a comment, ^ or not. Nothing special happens if you do something here, just InvalidSelection.
sv^pointer is reading from this character to get a few ones, since all characters have a value of 1 for demonstrations, and this character doesn't change.
fffffffff^10 filler characters so it doesn't immediately raise InvalidSelection when we write to our nonexistent stack.
r3.1i3.1|5.1i3.1|5.2i3.1|5.3i3.1|5.3i3.1|5.4i3.1|5.5i3.1|5.5i3.1|5.7i3.1|5.8i3.1|5.8i3.1|5.8i3.1|5.10^write values to our ''''''''stack''''''''.
e
^Wait, where's our stack? I don't see an eszett... Raise exception!
(EoF)
And finally, a Hello World command.
(BoF)
(all values are 1 for demostration purposes)
s
ß^our stack
i3.1|4.2i3.1|4.2i3.1|4.2i3.1|4.2i3.1|4.2i3.1|4.2i3.1|4.2i3.1|4.2^h
i3.1|4.3i3.1|4.3i3.1|4.3i3.1|4.3i3.1|4.3^e
i3.1|4.4i3.1|4.4i3.1|4.4i3.1|4.4i3.1|4.4i3.1|4.4i3.1|4.4i3.1|4.4i3.1|4.4i3.1|4.4i3.1|4.4i3.1|4.4^l
i3.1|4.5i3.1|4.5i3.1|4.5i3.1|4.5i3.1|4.5i3.1|4.5i3.1|4.5i3.1|4.5i3.1|4.5i3.1|4.5i3.1|4.5i3.1|4.5^l
i3.1|4.6i3.1|4.6i3.1|4.6i3.1|4.6i3.1|4.6i3.1|4.6i3.1|4.6i3.1|4.6i3.1|4.6i3.1|4.6i3.1|4.6i3.1|4.6^o
i3.1|4.7i3.1|4.7i3.1|4.7i3.1|4.7i3.1|4.7i3.1|4.7i3.1|4.7i3.1|4.7i3.1|4.7i3.1|4.7i3.1|4.7i3.1|4.7i3.1|4.7i3.1|4.7i3.1|4.7i3.1|4.7i3.1|4.7i3.1|4.7i3.1|4.7i3.1|4.7i3.1|4.7i3.1|4.7i3.1|4.7i3.1|4.7i3.1|4.7i3.1|4.7i3.1|4.7^space
i3.1|4.8i3.1|4.8i3.1|4.8i3.1|4.8i3.1|4.8i3.1|4.8i3.1|4.8i3.1|4.8i3.1|4.8i3.1|4.8i3.1|4.8i3.1|4.8i3.1|4.8i3.1|4.8i3.1|4.8i3.1|4.8i3.1|4.8i3.1|4.8i3.1|4.8i3.1|4.8i3.1|4.8i3.1|4.8i3.1|4.8^w
i3.1|4.9i3.1|4.9i3.1|4.9i3.1|4.9i3.1|4.9i3.1|4.9i3.1|4.9i3.1|4.9i3.1|4.9i3.1|4.9i3.1|4.9i3.1|4.9^o
i3.1|4.10i3.1|4.10i3.1|4.10i3.1|4.10i3.1|4.10i3.1|4.10i3.1|4.10i3.1|4.10i3.1|4.10i3.1|4.10i3.1|4.10i3.1|4.10i3.1|4.10i3.1|4.10i3.1|4.10i3.1|4.10i3.1|4.10i3.1|4.10^r
i3.1|4.11i3.1|4.11i3.1|4.11i3.1|4.11i3.1|4.11i3.1|4.11i3.1|4.11i3.1|4.11i3.1|4.11i3.1|4.11i3.1|4.11i3.1|4.11^l
i3.1|4.12i3.1|4.12i3.1|4.12i3.1|4.12^d
i3.1|4.13i3.1|4.13i3.1|4.13i3.1|4.13i3.1|4.13i3.1|4.13i3.1|4.13i3.1|4.13i3.1|4.13i3.1|4.13i3.1|4.13i3.1|4.13i3.1|4.13i3.1|4.13i3.1|4.13i3.1|4.13i3.1|4.13i3.1|4.13i3.1|4.13i3.1|4.13i3.1|4.13i3.1|4.13i3.1|4.13i3.1|4.13i3.1|4.13i3.1|4.13i3.1|4.13i3.1|4.13i3.1|4.13i3.1|4.13^!
e ^finally, we interpret the stack and output it to console
(EoF)
Esolang idea:
Name: Paitience
Every line of code is executed in order, but at random times of the day.
Line 1 4:30AM
Line 2 4:32AM
Line 3 7:59AM
Line 4 9:34PM
Line 5 11:59 PM
Here’s an idea
h
Normal Java, but you can only type h
@@iamwoke322hhhhh HhhhhHhhhh
{
hhhhhh hhhhhh hhhh main(Hhhhhh[] hhhh) {
Hhhhhh.hhh.hhhhhhh("Hello, World!");
}
}
08:43 I relate so much, I'm learning C# and these words intimidated me so much up until very recently. I'm a little gremlin.
Also, awesome video!! I love this so much!! I wanna write in Whitespace now.
Random idea I just had: an esolang where you upload a video, and then it picks a random pixel from each frame and runs various codes based on the color of the pixels. Would probably never work but who knows
Quantum bits: Instead of binary where each bit can have one position, the bits are all calculated as if they were a q-bit meaning you have to find the exact bit size needed for the program to work, but that bits value can be anywhere between zero and the 64 bit integer limit. Each program line would have a written number and each number would be separated by a comma, and when run the computer would emulate a quantum computer and to output what you want you would need not even one wrong number in the entire program otherwise the program wouldn't work. I also estimate that a hello world program would take decades to be discovered in it.
this shit was hilarious and so easy to understand for someone that's not even into coding
I created one over 8 years ago. Albeit, it was a Brainfcku derivative. However, unlike most derivatives where people add an extra tape or stack, or generally make programming in it easier, I stripped Brainfugd of its loop instructions and devised a way to implement logic constructs like while loops, do-whiles, if-else, if-zero, break and continue among many others. Using only a handful of new instructions that when used in different arrangements, you can make a conditional construct of your choosing. It is even possible to make labels and goto them, as well as execute code in reverse, and make reciprocal loops. I am working on a new interpreter, that is going to be much faster, and maybe a transpiler to Brainfugd afterwards.
So a while loop in brainfuck looks like this >++++++++[-]++++++++(^~)~(~?!(-)^)
Fantastic expose!
Have you considered doing one on visual programming languages like Pure Data, Max/MSP, scratch, etc.
No, I have not. But I will do it just for you. Look out for the next video 👀
Normal programming languages are like bikes, could be used for getting around town or for racing around. Esolangs are more like clown tricycles or 5-meter-tall stilt-bikes.
Or unicicles, you forget that
@@narrativeless404 Unicycles are actually marginally practical. You could carry them around in the city, and especially in places where Heelys are banned.
@@cmyk8964 Hahah
Understanding why my gf is not feeling confident is much harder than coding hello world in malbolge
try making a graphing calculator in that language
@@NOT_A_ROBOT Its easy ! you can write a x64 assembly to malbolge trasnslator and it can Generate malbolge code for any program
@@saeedmahmoodi7211 That's cheating 😏
how about an eso lang called evolution where it spills randomly 1and zero(0) combinations and tries to execut them by a (in the lang defined ruleset ) and your code that only serves to define valid semi valid or invalid..... so that anytime u run your code the program has to undergo a random evolution until it reaches a100%semivalid=valid value and.then runs that
14:36 Im dead
my esoteric language would read bottom to top and right to left instead of top to bottom, left to right and has versions for all commonly used languages (LUA, C/C+/C++/C#, Python, Java etc.) that way, instead of writing in that language, you could translate it by simply making everything backwards and flipping it so that the end of the script is at line 1
so its coding in arabic
@@DoctorBones1 and upside down
Pikachu was one of the ones I used to troll people with in college. SysAdmin had no idea wtf we were doing, and that suited us just fine.
Whenever reminds me a bit of synthesizing sysVerilog code while trying to mess up timing. Every input into your main module shows up at unpredictable times and chaos ensues.
9:32
Ardens: If you wanna learn more about this language, I strongly recommend reading this paper.
That paper: Just contains nothing more than the word 'chicken'.
It's still useful though.
I actually thought about a concept for an eso-lang. I was thinking about a language you could play on the piano. An AI (or something else idk...) would interpret the chords you'd play into operations. I'm not sure if I'm gonna try building this but it would definately be a fun project ig...😆
Syntax error on measure 5
We need coding: the musical
I think it'd be fun to make an esolang out of fighting game number notation, so that programs just look like deranged multi-match long combos
Mine would be arms*** basically it’s just randomly encrypted every single time it is opened so the same program couldn’t be run twice and it uses a mix of every single program language in existence.
BF doesn't deserve its name. If you remove the "[]" opcodes and add a "@" opcode that does *relative gotos (AKA computed jumps)* you get a Turing-complete lang where every iteration of a loop *does something different.* And because it's a goto, structured loops don't exist at all, and the program becomes more unpredictable. Now, allow it to *modify itself* by placing the input program at the beginning of the tape/memory and you got something very close to Malbonge.
My (personal) esolang would be one where computation is mostly based on pointers, *pointers everywhere,* and even pointers to pointers, and pointers that point to double pointers. And allow reflection by providing the program with an extra memory that defines the behavior of the interpreter and the meaning of the instructions, so you could swap the meaning of 2 or more instructions AT RUNTIME to obfuscate your program. Self-modification is allowed, so you can distribute your program encrypted, and decrypt it in memory when the user runs it
That sounds like a platform for malware
@@narrativeless404 Definitely LMAO, that's one of the purposes of obfuscation, but it can be used for good and interesting things
Istg, your channel is way funnier than stand-up comedy shows these days lmaooo!
My favourite esolang in the video is befunge-93! I just think it is so neat that you can see it happen in real time, changing direction when you want it to!
Incredible... from nightmare to insanity.
Brainf*ck (BF) is surprisingly simple when you understood it's operations. It's hard to write, but very close to a Turing machine in theory.
I was bored at work and implemented a BF compatible interpreter in COBOL with some additional stack operators. It's a weird old business language for mainframes running an esolang with my interpreter. The weird thing is that COBOL indexes doesn't start with 0, but with 1, consequently you need to shift the input by -1 and output by +1 for valid ASCII signs on the tape.
PS: BF depends on 2 things: the cell size, it's usually 8 bit unsigned wrap-around, but can have signed or unsigned 16, 32 or 64 bit wide cells, or even arbitrary wide cells (aka BigNum) , and the size of the tape.
Stuff like Piet is so cool to me. It's like coding as an art form taken to the extreme and I'd love to see more ways to represent code in some sort of medium
Did you create those logos for those languages? May I have the original image files for them, please?
A dream lang I could make would probably be where the code would be run as an audio file, and sounds were parts of commands. For example, "bah" could be a part of a printing command, "train" could set values, and "juicy" could create images in an application, as well as 5 seconds of nothing meaning to make another line of code.
You should have also mentioned RockStar. That one is absolutely brilliant.