Brain F**k in 100 Seconds | Prime Reacts:

Ғылым және технология

100 seconds of Brain F*** by non other than the GOAT himself, Fireship!
GO SUB!!
/ @fireship
Recorded live on twitch, GET IN
/ theprimeagen
MY MAIN YT CHANNEL: Has well edited engineering videos
/ theprimeagen
Discord
/ discord

Пікірлер: 167

  • @ThePrimeTimeagen
    @ThePrimeTimeagen Жыл бұрын

    THE GOAT HIMSELF: www.youtube.com/@fireship GO SUB TO HIM

  • @duwangchew

    @duwangchew

    Жыл бұрын

    Too late, already subbed

  • @cthutu

    @cthutu

    Жыл бұрын

    BASIC reference?

  • @BrunodeSouzaLino
    @BrunodeSouzaLino Жыл бұрын

    If he's impressed by the 107 byte compiler, someone wrote a Brainfuck interpreter in Brainfuck.

  • @BusinessWolf1

    @BusinessWolf1

    Жыл бұрын

    w...hat?

  • @electricengine8407

    @electricengine8407

    Жыл бұрын

    i did that, if you know the language and play around with it a ton to learn the concepts and patterns its actually not extremely difficult, i made my own interpreter and debugger

  • @grzzltn

    @grzzltn

    9 ай бұрын

    @@electricengine8407 github (or other place where code is) or didn't happen

  • @the-pink-hacker

    @the-pink-hacker

    8 ай бұрын

    Even BF is bootstrapped!? When will this end?

  • @Takyodor2

    @Takyodor2

    8 ай бұрын

    ​@@the-pink-hacker The end is the beginning, as the universe is bootstrapped

  • @Impatient_Ape
    @Impatient_Ape Жыл бұрын

    Brainfuck is an example of a "Turing tarpit" language, where "everything is possible but nothing of interest is easy".

  • @denissorn

    @denissorn

    Жыл бұрын

    Everything is possible with assembly. Even RISC assembly is a lot easier than this insanity.

  • @headlights-go-up
    @headlights-go-up Жыл бұрын

    Your main channel will always be my favorite, but seeing your disbelief and wonder (i.e. at the recursive main) is contagious and hilarious.

  • @ThePrimeTimeagen

    @ThePrimeTimeagen

    Жыл бұрын

    :) it was SOOO fun to see that

  • @khalilbessaad5553

    @khalilbessaad5553

    Жыл бұрын

    I didn't even know this is the secondary channel. I thought that I was on the main channel, I just saw Prime and clicked

  • @aws-china

    @aws-china

    Жыл бұрын

    yeah it was definitely a W move to become active on the clips channel again

  • @CuriousAnonDev

    @CuriousAnonDev

    Жыл бұрын

    @@khalilbessaad5553 same🤣

  • @RenderingUser

    @RenderingUser

    Жыл бұрын

    Wait This wasn't the main channel? Bro i legit thought this guy only had about 50k subs

  • @dealloc
    @dealloc Жыл бұрын

    the syscall is for I/O where !b will be evaluated to an int from a bool so it will call 3 or 4 which corresponds to read and write, respectively.

  • @jfbarbosaboro
    @jfbarbosaboro11 ай бұрын

    Assembly was the first language I've learned. Then I started experimenting with C. I thought functions were just like labels in Assembly, and I used a recursive main in one of my beginner C codes. My teacher told me "just don't do that".

  • @AlLiberali

    @AlLiberali

    10 ай бұрын

    He was being very considerate

  • @aziemelzapratama5257

    @aziemelzapratama5257

    9 ай бұрын

    How long are you in the industry?😅

  • @mynameisname6162

    @mynameisname6162

    4 ай бұрын

    @@aziemelzapratama5257 op has seen dinosaurs

  • @_imawesome
    @_imawesome Жыл бұрын

    Back in college I had come up with a project related to compilers, so I submitted a transpiler that translates Brainfuck to functioning C code. The whole class was impressed, but really it takes one to know how Brainfuck theoretically works to know how easy it really is. 😂

  • @adambickford8720
    @adambickford8720 Жыл бұрын

    You can almost feel it moving a mechanical something inside your machine with every character. I bet i could hear it with a stethoscope on an HDD.

  • @e.zarate

    @e.zarate

    Жыл бұрын

    Gold comment

  • @Oaisus

    @Oaisus

    5 ай бұрын

    It sure seems like someone could build a mechanical bf interpreter with punch card instructions

  • @tornoutlaw

    @tornoutlaw

    5 ай бұрын

    Yeah...or slowly move an oszillograph along your RAM xD

  • @WyzrdCat
    @WyzrdCat Жыл бұрын

    Anything more is just unnecessary bloat. Variables are crutches.

  • @cmaxwellmusic80

    @cmaxwellmusic80

    Жыл бұрын

    "Variables are crutches."

  • @BusinessWolf1

    @BusinessWolf1

    Жыл бұрын

    - jonathan blow

  • @huckleberryfinn8795
    @huckleberryfinn8795 Жыл бұрын

    Watching you get your mind blown as you read the code of a language named "brain f***" is HILARIOUS 😂

  • @mateuscortianoschwarz7276
    @mateuscortianoschwarz7276 Жыл бұрын

    as turing intended lolol

  • @alangamer50
    @alangamer50 Жыл бұрын

    Gotta love how Brainfuck is Turing complete, so you can technically build anything with it

  • @spr3ez
    @spr3ez Жыл бұрын

    Saw on stream. Still watching since its so funny how mind blown you are ;)

  • @ThePrimeTimeagen

    @ThePrimeTimeagen

    Жыл бұрын

    I WAS BLOWN AWAY!!! it was such a fun experience

  • @MegaMech
    @MegaMech Жыл бұрын

    ChatGPT programmed a recursive main in C and I was like "Waaaaa?!?"

  • @carlweis
    @carlweis Жыл бұрын

    Love your vides, always fun to watch. This was interesting for sure. BFJS sounds like a fun project for a live stream ;)

  • @TheJobCompany
    @TheJobCompany Жыл бұрын

    ngl, the first time I saw a recursive main, my reaction wasn't any different than prime's; it's a powerful code obfuscation tactic

  • @alexandrosvangelatos9979
    @alexandrosvangelatos9979 Жыл бұрын

    My brain hurts... 🤯

  • @FlorianWendelborn

    @FlorianWendelborn

    Жыл бұрын

    What did you do to Brian?

  • @alexandrosvangelatos9979

    @alexandrosvangelatos9979

    Жыл бұрын

    @@FlorianWendelborn my bad... brain was really hurting.... Lol

  • @vanminhle850
    @vanminhle850 Жыл бұрын

    Somehow he always found a way to shit on javascript and I love that.

  • @RTXMemes69
    @RTXMemes6911 ай бұрын

    Only Prime can take a 2:09 minute video into over 5 minutes and still make it entertaining.

  • @AtRiskMedia
    @AtRiskMedia Жыл бұрын

    You, my friend, are a extra special kind of special. Appreciate you so much =D

  • @seveninchbread
    @seveninchbread Жыл бұрын

    brainfuck is basically a slightly modified Turing machine. it's a good intro into computability and formal language theory

  • @cherubin7th
    @cherubin7th Жыл бұрын

    I moved from too complex to simple: Rust -> Zig -> Brain F**k

  • @nickr753
    @nickr753 Жыл бұрын

    Your entire hard drive is a one-dimensional array of bytes. Or (galaxy brain) it’s a scalar unsigned integer with a maximum of 2^(drive size in bits).

  • @kibe2134

    @kibe2134

    Жыл бұрын

    It can be signed if you start counting the index from 1

  • @HernanSoberon
    @HernanSoberon8 күн бұрын

    FINALY the code where regular expressions was created.

  • @Jaiden-2013
    @Jaiden-201321 күн бұрын

    4:33 quick brown fox jumps over the lazy dog

  • @ThePouetman
    @ThePouetman Жыл бұрын

    The ai in brainfuck video by mitxela is my favorite video out of all the ones I've seen about esoteric languages

  • @xraptor94x
    @xraptor94x11 ай бұрын

    One of my first programming projects when i came back to programming was an Brainf**k interpreter written in C++ which i called Brainfluff. I think such interpreters are fun project to see how an very simplistic compiler works. I will rewrite it probably in a few days or so when i have less work.

  • @nic37ry
    @nic37ry Жыл бұрын

    A friend create a Linux binary interpreter with size of 380 bytes for brainf*ck :D

  • @Joker22593
    @Joker2259311 ай бұрын

    I wrote a BF interpreter once, and main recursion within a loop is the easiest way I found to code the [ and ] operators.

  • @omdevs
    @omdevs5 ай бұрын

    Great video! also I just noticed are you sitting on an exercise ball?

  • @TheSkepticSkwerl
    @TheSkepticSkwerl Жыл бұрын

    from what i understand the loop to do. it increments or decrements a cell. once the cell hits zero the loop ends. you can move other values up and down as necessary. once value 0 becomes 0 your loop ends.

  • @zachb1706
    @zachb170611 ай бұрын

    4:40 Windows PowerTools baby!

  • @griffitaj
    @griffitaj Жыл бұрын

    Recursive main just blowing prime's mind #wholesome

  • @spitefol5504
    @spitefol5504 Жыл бұрын

    Wow this new coding language is like rust without all the bloat

  • @frydac
    @frydac Жыл бұрын

    I wonder what (double precision) floating point division looks like in this language.. it would be quite the challenge

  • @totalmonkeyspeed260
    @totalmonkeyspeed260 Жыл бұрын

    I love the original, you add some nice spice and detail to it.❤️🙏 Could you do a Vim for Brainf**k brainf**k please?

  • @RedOchsenbein
    @RedOchsenbein Жыл бұрын

    Actually BF make quite some sense when you use it to generate code using genetic algorithms. It's pretty easy to represent it as genes and mutate it to find solutions.

  • @CFEF44AB1399978B0011

    @CFEF44AB1399978B0011

    3 ай бұрын

    If we scanned the human genome and used it to find valid brain fuck programs i wonder how many of them would actually output some fun strings. Like are there any randomly occurring words in the human genome?

  • @BudgiePanic
    @BudgiePanic4 ай бұрын

    BF ray tracer implementation that outputs the rendered image as mono color byte array

  • @snarekeeper8053
    @snarekeeper805311 күн бұрын

    Mitxela build a full tic-tac-toe ai in bf. Such a freaking mad man

  • @gittawat6986
    @gittawat6986 Жыл бұрын

    The thumbnail is brilliant

  • @m4rt_
    @m4rt_ Жыл бұрын

    1:03 if !b does the same thing in C as in JS it would make it 0 if the number is non zero, and 1 if the number is zero, so 4 - 0 or 4 - 1 I think...

  • @modolief
    @modolief Жыл бұрын

    Primeagen: Please look at sectorlisp! Could you give us a deep dive on that one? I want to learn the metacircular evaluator, the computer science equivalent of Maxwell's Equations. And sectorlisp can set up the basic LISP machine in less than 512 bytes of 8088 machine code. That's a small compiler! Almost as tiny as bf.

  • @nullbeyondo
    @nullbeyondo10 ай бұрын

    I'd just stick to machine code. It is much easier and a 0-byte compiler 🥴

  • @Hobbitstomper
    @Hobbitstomper Жыл бұрын

    Yeah, create your own language where logic makes no sense, like null == 0; // -> false null > 0; // -> false null >= 0; // -> true A language like that would be a real brainf*ck. Oh wait...Hello JavaScript my old friend.

  • @raianmr2843

    @raianmr2843

    Жыл бұрын

    LMAO

  • @theodorealenas3171

    @theodorealenas3171

    Жыл бұрын

    Hey is it what I think it is? >= defaults to the opposite result to < and that's why?

  • @user-sl6gn1ss8p

    @user-sl6gn1ss8p

    Жыл бұрын

    @@theodorealenas3171 oh, is that it?

  • @theodorealenas3171

    @theodorealenas3171

    Жыл бұрын

    @@user-sl6gn1ss8p I know Python does this, with operator overloading (but C++doesn't). If you overload what the = operator will work accordingly.

  • @isodoubIet

    @isodoubIet

    11 ай бұрын

    @@theodorealenas3171 In C++20 you're supposed to overload spaceship so all the comparisons will work as intended

  • @wchorski
    @wchorski Жыл бұрын

    I hope Jeff recursively reacts to this video

  • @slippydouglas
    @slippydouglas3 ай бұрын

    2:15: _“Notice how Brainfuck^beep^ doesn't require silly things like…”_

  • @talideon
    @talideon7 ай бұрын

    I wrote an interpreter for it back in college in ARM ASM, so mine came in at ~300B when assembled. Unfortunately, ARM machine code isn't super dense!

  • @keokawasaki7833
    @keokawasaki7833 Жыл бұрын

    It's gotta be "like && subscribe"

  • @hotrodhunk7389
    @hotrodhunk7389 Жыл бұрын

    That's awesome recursion is my favorite part of coding.

  • @TheKahiron
    @TheKahiron3 ай бұрын

    Played about some with Brain Fuck years ago. Still have a habbit of typing 'p' for '+', just from commenting code.

  • @TheOzumat
    @TheOzumat Жыл бұрын

    Just as Turing intended :`)

  • @jaredbecker3152
    @jaredbecker315210 ай бұрын

    The code there outputs "what a free t-shirt? be the first person to comment my encephalon hurts! "

  • @kreuner11
    @kreuner11 Жыл бұрын

    That's not a compiler that's an interpreter

  • @PiotrPavel
    @PiotrPavel4 ай бұрын

    Advent of code in Brain F****.....next year

  • @boi8240
    @boi82406 ай бұрын

    This is the world functional programmers want for our children.

  • @DevRel1
    @DevRel111 ай бұрын

    This is so exciting

  • @SammyForReal
    @SammyForReal6 ай бұрын

    "I dont even know what four minus BANG B means" 😂

  • @postelb8046
    @postelb80467 ай бұрын

    it is time to write js framework on brainfuck

  • @wysera1999
    @wysera1999 Жыл бұрын

    I just learn that some people made a brainfuck compiler in brainfuck

  • @wertrager
    @wertrager Жыл бұрын

    It's not recursive, it's the Y Combinator, therefore inductive over program

  • @forno_nicolas
    @forno_nicolas11 ай бұрын

    Fireship is so good

  • @aerbon
    @aerbon Жыл бұрын

    i have seen a recursive main before. it works.

  • @basboerboom9328
    @basboerboom93287 ай бұрын

    It's a rick roll for sure. The last code

  • @mskiptr
    @mskiptr Жыл бұрын

    > recursive main!? what?! Just before, I watched the video that Haskell appeared in lol (main being recursive is pretty normal there. And it's not even a function…)

  • @spuzzdawg
    @spuzzdawg8 ай бұрын

    Comment without any thought: Is main recursive because it's a recursive descent parser?

  • @timedebtor
    @timedebtor Жыл бұрын

    When you going to do prolog?

  • @fRutrn
    @fRutrn Жыл бұрын

    Doom in Brainf^&k when?

  • @michelfug
    @michelfug10 ай бұрын

    THE NAME is the Brainagen

  • @bananprzydawka7129
    @bananprzydawka7129 Жыл бұрын

    has anyone figured out what the video end code does??

  • @user-sl6gn1ss8p

    @user-sl6gn1ss8p

    Жыл бұрын

    apparently it was "what a free t-shirt? be the first person to comment "my encephalon hurts!"" (with the typo)

  • @WilcoVerhoef
    @WilcoVerhoef11 ай бұрын

    my encephalon hurts!

  • @SB-dd5hc
    @SB-dd5hc Жыл бұрын

    you should react to JSF*k

  • @neth007
    @neth007 Жыл бұрын

    you just need a transpiler from javacript to brainf*ck

  • @Takyodor2
    @Takyodor28 ай бұрын

    On the topic of "recursive main", function-level try-catch works on "main" in C++, so if you place a call to main inside "catch" attached to main, your code is now un-crashable by pesky exceptions! For legal reasons, this should not be used in real code. I don't take responsibility for any consequences that may result from this practice. Try-catch safely.

  • @RicardoSansores
    @RicardoSansores9 ай бұрын

    I prefeer to program my systems with lolcode. No memory safety or fearless concurrency but lot o lols.

  • @TheSkepticSkwerl
    @TheSkepticSkwerl Жыл бұрын

    the way he explained it, 5 decrements means 51 loops. how is 51*3 increments 103? Why is it not 153?

  • @robertwagner9014

    @robertwagner9014

    10 ай бұрын

    He adds one first making it 1025 so it is 205 loops which results in 615 or 512 + 103.

  • @_orangutan
    @_orangutan Жыл бұрын

    This compiler is interesting, the only downside to it is the writing system/syntax. If you use a different syntax/writing system on this, then it might be usable. By writing system I mean Latin/Greek/Arabic. One thing I've had a big interest in is creating a writing system from scratch but I don't have the time to do so. Think Hangul and Mayan.

  • @amansetia8655
    @amansetia8655 Жыл бұрын

    can someone explain the loop code of how it got 103

  • @AndresTraks

    @AndresTraks

    Жыл бұрын

    The first cell is used as a counter for the loop and is set to 1. For each iteration of the loop, the counter is decremented by 5. Since a cell wraps around the maximum value of a byte (1 - 5 = 252), it takes 205 iterations for the counter to reach exactly 0, which is the exit condition of the loop. The second cell is used as the character value and is first set to 0. For each iteration of the loop, the character value is incremented by 3, which makes 205 * 3 = 615. But this cell also wraps around, so the final value is 615 modulo 256 = 103.

  • @TalesMarinho
    @TalesMarinho7 ай бұрын

    This kind of video makes me want to quit programming then go open a bar

  • @tordjarv3802
    @tordjarv3802 Жыл бұрын

    BrainF**k is not entirely useless. I recently saw a paper by some mathematicians showing an algorithm to factorize arbitrarily large integers asymptotically optimally (that is it has the same O(f(n)) as the most efficient classical factorizing algorithm, the could not show what that was, and finding the most efficient factorizing algorithm is still an open problem), and BF was a crucial part of that algorithm. Basically what they did was a BF program, execute one step in it, then create a second program, execute two steps in the fist program and one in the second one step and then create a third program (in every iteration each program executes twice as many steps as in the previous iteration), and so on until one of all the programs they created spits out the correct factorization of the large integer that was given (which is easy to check since multiplication is polynomial in the number of bits in the integer). They actually wrote a python program that did this, (it was excruciatingly slow, it took several days for it to factorize 4). The point is that Brainfuck is not completely useless.

  • @hereandnow3156

    @hereandnow3156

    5 ай бұрын

    I wonder what made Brainfuck helpful for this problem vs using assembly?

  • @tordjarv3802

    @tordjarv3802

    5 ай бұрын

    ​@@hereandnow3156 brainf**k is extremely simple to implement while most assembly languages are way more complicated. In a way brainf**k is a very simple form of assembly.

  • @deepakpatidar8462
    @deepakpatidar84628 ай бұрын

    But the real question is, can we write JavaScript compiler using brainfuck? 🤔

  • @marble_wraith
    @marble_wraith Жыл бұрын

    Recursive main... still better than JS event loop 😏

  • @shafaitahir4728
    @shafaitahir472810 ай бұрын

    chat GPT cant code in brainfug, what a shame.

  • @MrFoulkes
    @MrFoulkesАй бұрын

    AWS shoulkd bring BF lambda SDK for next years April fools.

  • @Stay_away_from_my_swamp_water
    @Stay_away_from_my_swamp_water8 ай бұрын

    why wouldn't there be a recursive main?

  • @dr00by
    @dr00by Жыл бұрын

    DO ROCKSTAR

  • @brssnkl
    @brssnkl2 ай бұрын

    Skill issue for all of us :D

  • @AlphaFrog1021
    @AlphaFrog1021 Жыл бұрын

    setup tour

  • @sasso_storto4671
    @sasso_storto46719 ай бұрын

    JSFuck DOES EXIST!

  • @Merssedes
    @Merssedes2 ай бұрын

    There is actual language called JSFuck.

  • @ayhon
    @ayhon Жыл бұрын

    I prefer JSF*CK, it's more portable

  • @NathanHedglin

    @NathanHedglin

    Жыл бұрын

    😂 same!

  • @JanGottschau
    @JanGottschau Жыл бұрын

    also: no side effects 🎉

  • @MizanHIT
    @MizanHIT Жыл бұрын

  • @officialabdulrehman
    @officialabdulrehman Жыл бұрын

    Still better than *JavaScript*

  • @daedalus5070

    @daedalus5070

    Жыл бұрын

    His Javascript for the Haters video is really funny.

  • @samuelschwager
    @samuelschwager Жыл бұрын

    four minus bang bee

  • @sacredgeometry
    @sacredgeometry Жыл бұрын

    5:30 why not just write it in binary then.

  • @cherubin7th

    @cherubin7th

    Жыл бұрын

    Binary is actually a more complex programming language.

  • @sacredgeometry

    @sacredgeometry

    Жыл бұрын

    @@cherubin7th Binary isn't a programming language.

  • @derrheat154

    @derrheat154

    11 ай бұрын

    Yeah, thats a really good question, i'm not sure whats so impressive about BF. With the amount of brainpower needed to write BF, you might as well look up the ISA and do some translating. The real "programming language" with the smallest compiler is the machine code, which is zero.

  • @La0bouchere

    @La0bouchere

    11 ай бұрын

    @@derrheat154 It's cool because it forces you to realize how genius Turing was for figuring out that the tape model allows for all computations

  • @anthonysteinerv
    @anthonysteinerv6 ай бұрын

    I did write a brainfuck interpreter lmao when I was experimenting with compilers.

  • @chromosundrift
    @chromosundrift10 ай бұрын

    syscall hack is cool, recursive main is sublime

  • @perpetu
    @perpetu11 ай бұрын

    We should subscribe to you too😂😂

Келесі