Let's Create a Compiler (Pt.1)

Поділитися
Вставка
  • Опубліковано 21 лис 2024

КОМЕНТАРІ • 900

  • @kubilaykabatas298
    @kubilaykabatas298 Рік тому +1775

    I turned into a man that watches compiler videos for entertainment, props to you for making it so entertaining

    • @wizardDESTRU
      @wizardDESTRU Рік тому +6

      ahaha me too wtf

    • @Fernando-du5uj
      @Fernando-du5uj Рік тому +4

      same

    • @maelstrom57
      @maelstrom57 Рік тому +16

      I was looking for something to watch while having dinner and YT recommended this. It'll have to do I guess.

    • @bArium5656
      @bArium5656 Рік тому +10

      Prep less programming tutorials are always funny😂

    • @danielwang4901
      @danielwang4901 Рік тому +2

      lol same

  • @wubsyman5796
    @wubsyman5796 Рік тому +1516

    "I'm not gonna use rust because I write memory safe code"...
    The memory safe code: "Does this have a destructor?... I'm gonna assume it does" (36:30)

    • @fsdofpsodpfosadfijsadfsdafsda
      @fsdofpsodpfosadfijsadfsdafsda Рік тому +48

      🤣

    • @budgetarms
      @budgetarms Рік тому +26

      It indeed does have it, an automatically created one.
      But yeah, .... memory safe code, ...

    • @h4ndle_yt
      @h4ndle_yt Рік тому +87

      "I am not gonna use rust because the community is terrible" is a better reason tbh

    • @fsdofpsodpfosadfijsadfsdafsda
      @fsdofpsodpfosadfijsadfsdafsda Рік тому +14

      @@h4ndle_yt what's so wrong about community tho

    • @kvsbcsljv
      @kvsbcsljv Рік тому +50

      ​@@fsdofpsodpfosadfijsadfsdafsda I got verbally abused for saying C++ is better

  • @aldairacosta4393
    @aldairacosta4393 Рік тому +653

    This dude : "I can´t remember how to do this"
    *Start to create a fucking compiler*

    • @helker999
      @helker999 7 місяців тому +4

      😂😂😂

    • @oliviercomte7624
      @oliviercomte7624 4 місяці тому +8

      He never read the documentation even for things he barely knows…😢

    • @pdd5793
      @pdd5793 2 місяці тому +4

      he's just like me

    • @poleve5409
      @poleve5409 Місяць тому

      awful grammar and using swearing for no reason. Yup you're a minority

  • @billyraybar
    @billyraybar 15 днів тому +1

    I am not a coder yet I followed along. I actually feel like I now have a basic understanding of assembly and how a compiler works. Thank you.

  • @jahjahhhh
    @jahjahhhh Рік тому +88

    You make the learning so much more approachable for people with no previous understanding of compilers or asm. This style of teaching where you build a project live while explaining why you make that decision is so comprehensible. Thank you

    • @imagist.
      @imagist. Рік тому +13

      Humanizing programming

    • @Merilix2
      @Merilix2 8 місяців тому

      learning from this one is learning the wrong things.

    • @jahjahhhh
      @jahjahhhh 8 місяців тому

      @@Merilix2 elaborate maybe?

  • @woerty123
    @woerty123 Рік тому +256

    I really appreciate that the sequences, where you are not quite sure are NOT cut out. It's really helpful, to see the thought process in a specific language / context, when you are not sure what to do. For example, which docs to turn to, or how to use intellisense etc. to find the information one needs to solve the problem. Seeing just some finished code explained is not nearly as helpful as this format in my opinion. Very watchable. Thank you!

    • @ThatNiceDutchGuy
      @ThatNiceDutchGuy Рік тому +13

      True! In fact, I think showing the thought process is the most useful part of these type of videos.

    • @SoreBrain
      @SoreBrain Рік тому +13

      I don't think I would have finished the video if it was streamlined and cut down

    • @Ikxi
      @Ikxi 9 місяців тому +2

      and hella fun

  • @johnnyserup5500
    @johnnyserup5500 Рік тому +24

    I like that you are not afraid of showing your mistakes, because that is how you learn - keep creating more

    • @SamFisk
      @SamFisk Рік тому +3

      Mistakes and forgetting easy things. Something I tell newbies is that you don't need to memorise content but rather know that it exists and understand it when you see it again. E.g. what an entry point is, not the exact syntax.

  • @psycoder-x
    @psycoder-x Рік тому +627

    15:53
    There is nothing with RDI register, just (in Linux) the exit codes are specified in the range 0-255 (1 byte).
    The number 420 lost its most significant bytes and became 164.

    • @sethbuchanan6937
      @sethbuchanan6937 Рік тому +194

      Here is a visualization of what you are saying
      | 00000000 | 0000000 | 00000001 | 10100100 | rdi register (420)
      | | | | 10100100 | return syscall (164)
      The return syscall only views the first 8 bits of the 64 bit rdi register

    • @psycoder-x
      @psycoder-x Рік тому

      @@sethbuchanan6937 Thank you!

    • @DDlol01
      @DDlol01 Рік тому +21

      I was looking for this. not high enough^^ have my upvote.

    • @dtomvan
      @dtomvan Рік тому +33

      `man 3 exit` states: "The exit() function causes normal process termination and the least significant byte of status (i.e., status & 0xFF) is returned to the parent." Turns out `420 & 0xFF == 164`.

    • @TheManchineel
      @TheManchineel Рік тому +14

      This, the exit code is char-sized

  • @jordixboy
    @jordixboy Рік тому +101

    As a self taught software engineer that loves going deep into all the layers this is great introduction! Currently Im building VM's for Chip8 and Gameboy, and writing VMs REALLY helped me to understand how a computer works from a binary level. Feels really genuine that you dont know everything and use Google, really shows how the day to day of a software engineer is.

    • @coolimdad
      @coolimdad Рік тому +4

      Google is our best friend

    • @rubyciide5542
      @rubyciide5542 Рік тому +6

      Damn bro i wish i was like u

    • @jeremymakenzie7443
      @jeremymakenzie7443 Рік тому +1

      based

    • @ThaEzioAuditore
      @ThaEzioAuditore 10 місяців тому +1

      do you mind sharing a few resources that have helped you in that direction ? I too want to write an emulator

  • @Meknassih
    @Meknassih 11 місяців тому +12

    One underated aspect of this kind of videos is that making mistakes is actually good to keep in the video instead of editing it out. Really makes it engaging and relatable as if we're doing it together. Great content !

  • @ivandimitrov4410
    @ivandimitrov4410 Рік тому +1216

    "there are two types of programmers - those who have written a compiler and those who haven't"
    - Terry "The greatest programmer that's ever lived" Davis

    • @ian562ADF52E
      @ian562ADF52E Рік тому +98

      I studied CS in the same halls as that man... nay, that God.

    • @walterdiaz2003
      @walterdiaz2003 Рік тому +29

      Would creating a database engine from scratch and sql compliant be considered at that level too?

    • @doomsday7699
      @doomsday7699 Рік тому +89

      No, you should also build the operating system and the hardware, transistor by transistor

    • @mek101whatif7
      @mek101whatif7 Рік тому +5

      I'm trying😭

    • @TheInspctrcat
      @TheInspctrcat Рік тому

      ​@@doomsday7699better use lamps

  • @aldutran
    @aldutran Рік тому +624

    No way, Tsoding at home 😮

    • @jodu
      @jodu Рік тому +42

      That was the first thing I thought too

    • @simeondermaats
      @simeondermaats Рік тому +51

      it's the Iosevka that does it for me

    • @bosch5303
      @bosch5303 Рік тому +2

      💀

    • @shiroe0781
      @shiroe0781 Рік тому +67

      Tsoding without emacs

    • @Alsexaren
      @Alsexaren Рік тому +34

      American, windows using Tsoding

  • @Ikxi
    @Ikxi 9 місяців тому +21

    "This is very safe code"
    "I'll figure it out when it crashes on me"
    love this guy

  • @serg472
    @serg472 7 місяців тому

    This is a great way of teaching when you are showing your unscripted research, googling, what goes through your head, making and fixing mistakes, starting with a naïve approach, reinventing bicycles, etc. This teaches much more about the subject than just giving a final polished solution.

  • @Ozzymand
    @Ozzymand Рік тому +26

    This is unironically the exact type of video I wanted to see about this topic. A "Let's build X" from start to finish with really great commentary and explanation on the side. Keep it up man

  • @NorteXGame
    @NorteXGame 6 місяців тому +6

    It's insane how well you explained things in this video. Not only did you successfully explain basic Assembly, you also made me understand all the premises of compiling. I also like the human aspect of this video, of making mistakes and fixing them live. Thanks for this.

  • @katchins
    @katchins Рік тому +26

    You made the process of creating a compiler so straightforward and intuitive, I wish I had this video in school during my compiler class!

  • @vvshawty
    @vvshawty 9 місяців тому +1

    i love that this guy simply woke up and decided he wanted to teach us to create a compiler without even researching or scripting the videos, just pure skills and remembering the syntax on the go. thanks for the content!

  • @DudeBroVideos
    @DudeBroVideos Рік тому +312

    I can tell this channel will go somewhere with commitment, keep up the good work!

    • @pricesmith3417
      @pricesmith3417 Рік тому +2

      decided to comment to say the same thing.

    • @doresearchstopwhining
      @doresearchstopwhining Рік тому +2

      totally agree. Maybe a little more editing but I think this guy can explain things well

    • @happysongs4kyrone
      @happysongs4kyrone Рік тому +2

      @@doresearchstopwhining "a little" is very important here, I kind of like the bare-bones explanation. there are definitely some parts that are unnecessary, and maybe some visualization..s? i don't know. but i hope this guy doesn't become into an over-stimulating mess.

    • @SanketL3730
      @SanketL3730 Рік тому +1

      Subbed just watching this comment within 1 min into video.

    • @UmerHA
      @UmerHA Рік тому +1

      Yes! Please keep going! Looking forward to your next videos

  • @theobgshow
    @theobgshow Рік тому +18

    I came across this and was compelled to sit all the way through it. I love your delivery, your voice and that you haven't edited anything, leaving in your mistakes.
    Thank you

  • @alexoverstreet
    @alexoverstreet Рік тому +23

    This video is so underrated. Very simple and easy to understand to get you started with the world of compiler development! Thanks 🎉🎉🎉

  • @Matt23488
    @Matt23488 Рік тому +3

    > UA-camr I've never heard of
    > "Let's Create a Compiler"
    > "part 1"
    > over 1hr long
    *sighs* fine...
    In all seriousness, this does interest me so I'm glad I got the recommendation for it!

  • @Hellbending
    @Hellbending Рік тому +250

    No cap, how do I donate?
    Never even considered donating to a UA-camr before but this, but this is the content that’s enjoyable.
    Not the average hour long video with cuts and edits everywhere, because every time the person has to look something up it’s all secretive and never seen.
    I got a lot of respect for someone that is probably a little bit nervous because they may be using a language they’re not be 110% comfortable or familiar with, but is well and truly comfortable enough to show what’s going on in their head as they walk through the project and show all the pivots and everything that’s happening.
    I fucking love it, I got a lot of respect for it and I want to support this kind of “free thought with a goal” style UA-cam videos.
    If you’ve got some way to accept donations, let me know 🙌💪

    • @pixeled-yt
      @pixeled-yt  Рік тому +202

      I'm lucky enough to not need the money. I do this for fun. It's the thought that counts, thanks!

    • @spaghettiking653
      @spaghettiking653 Рік тому +23

      @@pixeled-yt Legend, and you're humble too!

    • @NullPointerDereference
      @NullPointerDereference Рік тому +10

      You can't donate to smaller channels I think. Kinda sad since usually they are the ones that need it the most.

    • @Hellbending
      @Hellbending Рік тому +5

      @@NullPointerDereference I was happy to PayPal or Patreon lol

  • @pricesmith3417
    @pricesmith3417 Рік тому +7

    I whole-heartedly appreciate how you approach communication, have subscribed, and am looking forward to both learning from and seeing the growth of this channel. Stay grounded!

  • @akashpoudel
    @akashpoudel Рік тому +3

    You've made me understand and connect the dots about how compiling and linking works more than my Compiler Design Course at University which I studied for 6 months 😭

  • @mironbarykin2379
    @mironbarykin2379 Рік тому +5

    Just stumbled upon this video thanks to UA-cam's recommendations, and I'm already amazed by the content. Haven't had a chance to watch it all the way through yet, but it's clear that a subscription is well-deserved. Can't wait to dive into the rest of the video!

  • @carbonn7280
    @carbonn7280 Рік тому +11

    Hey Pixeled, thank you for this video about Compilers. At around 17:00 when dealing with your program exit code, you put 420 into rdi and get 164 in return. That is totally normal and It has nothing to do with registers, that is just how exit(2) works, the exit code is masked with 0xFF so the exit value cannot exceed 255 : " The value status & 0xFF is returned to the parent process as the process's exit status". Cheers ! o/

  • @ThEldeRS
    @ThEldeRS Рік тому +10

    "This is SO safe" has got to be my favorite quote from this video :D

  • @hammadbawara
    @hammadbawara Рік тому +5

    Wow, this video is incredible! The way you code is truly impressive. Your approach to understanding how things work reminds me of myself. I often worry about forgetting syntax, but you've reassured me that it's normal to forget syntax.

  • @starshipx1282
    @starshipx1282 Рік тому +30

    super cool style with experimentation. Pls keep up. thank you very much : )

  • @Bobbias
    @Bobbias Рік тому +26

    Oh, it's nice to see someone else making long-form coding videos like this. There are far too few people making this sort of content. I really hope you continue.

  • @joshman1019
    @joshman1019 Рік тому +7

    Thank you so much for doing something actually interesting, as opposed to mind numbing web dev tutorials. I’m a mid level programmer by day and looking to do more low level stuff as a hobby.
    I really liked that you didn’t cut the video, and did some of your research on the fly. It was like hanging out with a buddy. Fun video!

  • @anianii
    @anianii 7 місяців тому +4

    "We can refactor it later" is so relatable

  • @Laz3rs
    @Laz3rs Рік тому

    your explanation style is amazing. non-monotone, slightly fast paced. its exactly like how i would explain something. love it

  • @Meitzi
    @Meitzi Рік тому +3

    I really like how you explain things. No need to make anything look more complicated than it is. For learning, it much more efficient to focus relevant parts, not nyances.

  • @savvy5817
    @savvy5817 Рік тому +1

    the mistakes were golden real time problem solving, very educational and very intentional

  • @DevNugget
    @DevNugget Рік тому +9

    I love this! I started a project similar to this a while back but never got anywhere. Your ability to explain something is incredible! Can’t wait to see how this goes.

  • @onsearchfocus
    @onsearchfocus Рік тому +3

    Love the whole unscripted and figuring errors on the fly. Like we all do! Well done.

  • @kuro4841
    @kuro4841 Рік тому +5

    please keep the one-take style videos like this, it really helps a lot like many other people already stated.

  • @AkiiiMatcha
    @AkiiiMatcha 6 місяців тому +1

    Thx for making this video, even tho you struggle a lot it just makes the video way more relatable and enjoyable imo. It just shows what programming REALLY is sometimes, that it's not this thing you do sometimes where you write perfect C++ or whatever in like a 20 minute video where it just makes you feel like you are not good enough because you can't do it like that.

  • @chronosbat
    @chronosbat Рік тому +9

    I've been thinking of making a big project like a basic game engine without any libraries but I'm not really out of my comfort zone yet lol. This video is great and I've seen your whole channel is pretty good too.

    • @pixeled-yt
      @pixeled-yt  Рік тому +12

      I've actually done that too, if you look on my GitHub for "Voxelverse", it's a Minecraft clone written in c++ that uses vulkan directly without any game engine/framework. I might make a video on it in the future

  • @florianvanbondoc3539
    @florianvanbondoc3539 Рік тому +2

    the most relatable think is when you wrestle with the c++ language to get it to do what you want

  • @indierusty
    @indierusty Рік тому +7

    Amazing. Never seen a devlog explained this good.

  • @abhis3kh
    @abhis3kh 7 місяців тому +1

    Didn't know anything about complier but always wanted to know - watching you explaining is really a awesome feeling - good luck 🎉

  • @BiGEnD05999888
    @BiGEnD05999888 Рік тому +4

    "If your IDE is not using 10 gigs of your RAM, you're not doing it right." LOLOLOLOLOL
    Great video man, kept me hooked and entertained for the entire hour, and learned a lot as well! Keep up the amazing content!

  • @benoitb.3679
    @benoitb.3679 Рік тому +1

    Dude, this was amazing. Thank you so much. To be honest, I had fallen asleep on the sofa and woke up at 4AM. I put this video on almost at random to go to sleep horizontally on an actual bed. I thought "I hope this dude isn't really annoying" but I ended up staying up to watch it. If you did this basically off the cuff, it's brilliant. If not, it's brilliant. I am *super* excited to watch the next parts. You're helping answer a question I've had for years and doing it wonderfully. Have a great weekend!

  • @urbrighturbright
    @urbrighturbright Рік тому +3

    man this is one of the best, most informative videos i've ever seen
    please continue the series. this one's beyond amazing

  • @Zenoandturtle
    @Zenoandturtle Рік тому +1

    It just came up on my feed and I could not resist. This is what I am talking about! This is the engine room of the ocean liner (metaphorically speaking) Great presentation.

  • @spamfilter32
    @spamfilter32 Рік тому +24

    "It's not good code, but I just wanted to get something working."
    This is the way to write code. First, make it work. Then, make it optimized.

    • @dummyhacker3157
      @dummyhacker3157 11 місяців тому +3

      the spirit brooooooo!

    • @gayusschwulius8490
      @gayusschwulius8490 Місяць тому

      I only partially agree. It's true that you don't have to do every small optimisation from the very beginning, but you really should think about performance even while doing your first draft, because it can be a real hassle to later optimise your program if you've chosen to structure it in a way that's not efficient in the first place. I had this whole "make it work, first, then make it efficient, later"-mindset when I wrote my first chess engine and it was a horrible idea since the way data was represented was completely inefficient and only a total overhaul of everything could fix that.

  • @amirongoogle4795
    @amirongoogle4795 17 днів тому

    learned the value of "let's just make it work, we'll make it pretty later" by watching this!

  • @delicious_seabass
    @delicious_seabass Рік тому +61

    I want to correct the record: Rust is sacrilege, C++ is a sin, but C is pure. Come into the light, my child. Embrace C. It loves you, even with all your flaws.

    • @ncwl.youtube
      @ncwl.youtube Рік тому +6

      true dat

    • @KnP_Falco-N
      @KnP_Falco-N Рік тому +5

      Amen

    • @xKaihatsu
      @xKaihatsu Рік тому +5

      We love C!!! 😍😍😍

    • @lolcat69
      @lolcat69 Рік тому

      Nuh uh bro, we already have Tsoding for C, let the man C++

    • @mgaugy
      @mgaugy Рік тому +4

      And the Lord spake, saying, "First shalt thou develop thy programme. Then, shalt thou compile in C. No more. No less. C shalt be the language thou shalt compile, and the language of the compilation shalt be C. C++ shalt thou not compile, nor either compile thou preprocessing, excepting that thou then proceed to C. Rust is right out. Once the language C, being the proper language, be written, then lobbest thou thy Holy Hand Grenade of Antioch towards thy foe, who, being naughty in My sight, shall snuff it."

  • @tanujjain57
    @tanujjain57 Рік тому +2

    Liked your way of explaining things and showing everything hand on. Keep up the work waiting for new videos of this series!!

  • @zzz-hk9zq
    @zzz-hk9zq Рік тому +4

    This is some top tier tutorial. You explain everything so well....

  • @joshjkk-wt6py
    @joshjkk-wt6py Рік тому +2

    I'm also writing my own compiler from scratch, I'll be looking forward to this series!

  • @blkgames1447
    @blkgames1447 Рік тому +3

    I never thought that I would enjoy watching a 'creating compiler' video. Good content

  • @LBCreateSpace
    @LBCreateSpace 9 місяців тому

    This was so helpful to watch. Ty for not cutting out the errors etc. Seeing how you thought through and resolved them really made this much more educational.

  • @ESS982
    @ESS982 Рік тому +3

    “Thats right. We have our first Seg fault”. I fucking died.

  • @francislalhmuakliana766
    @francislalhmuakliana766 Рік тому +2

    I actually sit through the whole video. Not gonna lie, I enjoy every single seconds of it and looking forward to the whole series...

  • @z0x
    @z0x Рік тому +4

    You're so much more passionate than any of my University professors lol

  • @leonardoestacio5437
    @leonardoestacio5437 Рік тому +1

    It's obvious you were struggling with C++, so exactly at 37:45 I said to myself "If there's an error right there or if it doesn't print anything, I'm going to sub this guy". Seconds later, I died of laughter and subbed, the video is top tier quality. I'm happy I found this gem of channel lol.

  • @m4rt_
    @m4rt_ Рік тому +7

    Thank you for making this video. Sadly there isn't a lot of easily digestible content of how to make a compiler.
    Most of it is "go read this book from the 90s", though there are some exceptions (there are some videos on UA-cam on making compilers), but those aren't always that good, or don't show everything there is to it, maybe just the lexer and parser. If you keep making these videos, and keep up the quality then I think you'll get a large audience of curious programmers.
    Good luck with your future videos, I will keep an eye on this series :)

    • @Furetto126
      @Furetto126 Рік тому

      Hey! I'm interested in learning this, could you link some UA-cam videos or resources you found, I tried but couldn't find much 😔

    • @jakubrogacz6829
      @jakubrogacz6829 Рік тому

      Two things here: compiling vs interpreting is snake oil. You translate one AST to another - always, be it implicit or explicit. What you need to write x86 compiler instead of java is x86 knowledge which is around the place if you don't look deep enough but from my last univeristy there are open documents by universities somewhere. Just look to learn ASM instaead of looking for how to write C compiler. If you know both how language works at AST level and how ASM works then you can start. OS coding tutorials, though just as all over the place are often also helpfull

  • @serhiicho
    @serhiicho Рік тому +1

    I’ve never thought that watching a programming tutorial can be entertaining 👍 Thank you for that

  • @dieter6375
    @dieter6375 Рік тому +27

    The exit code returned by the kernel is taken modulo 256, so you'll get the remainder when 420 is divided by 256, which is 164.

    • @SimGunther
      @SimGunther Рік тому +6

      Technically the assembler knows the size of each register, so it would just take the 8 bits necessary for the machine code, no modulus needed :)

    • @dieter6375
      @dieter6375 Рік тому

      Thanks for the explanation. I think this is in line with what Pixeled said in the video.

    • @victorshilin9360
      @victorshilin9360 Рік тому +13

      The important difference is that the value 420 is never truncated by the assembler itself, nor the limitation of the rdi register. The 64-bit value gets passed as is to the kernel, and the exit code is indeed taken by modulo 256.

    • @yagami1160
      @yagami1160 Рік тому

      i think it just takes dl register not rdi, you can use rdi but linux syscall is still using the lowest part of this register in terms of compatability I suppose

  • @smenigat
    @smenigat Рік тому +1

    Sir absolute solid teaching style. Really enjoyable to watch and follow along. Perfect pacing, just the right amount of wit and crisp information.
    This ist the first video I watched from you, and you already earned a new subscriber.
    Keep up the amazing work!

  • @wubsyman5796
    @wubsyman5796 Рік тому +10

    why does he feel like a second Tsoding lol

    • @maman14141414
      @maman14141414 Рік тому +1

      the "look at that" was all the confirmation i needed to know he new Tsoding

  • @minimumt3n204
    @minimumt3n204 Рік тому +2

    Its like youtube knew I have a compiler class coming up soon. Thank you!

  • @adam7802
    @adam7802 Рік тому +5

    As a developer who was only taught full stack but really wants a deep understanding of these things I found this really helpful.

    • @0LoneTech
      @0LoneTech Рік тому

      This looks like a strange thought to me. What is "full" about this stack if being taught it does not describe its foundation?

    • @adam7802
      @adam7802 Рік тому +1

      @@0LoneTech I did a 3 month boot camp, it's meant to teach you frontend and backend dev... And technically it does but obviously you don't come out of it having a strong understanding of fundamentals. It's all very high level stuff.

  • @LordZedritsch
    @LordZedritsch Рік тому +2

    Georgeus video! I would love to follow along with this series

  • @ouranos9270
    @ouranos9270 Рік тому +3

    16:00 Exit codes from any process -- whether it's a binary executable, a shell script, or anything else -- range from 0 to 255

  • @daniellaible
    @daniellaible 10 днів тому +1

    This guy is really funny and entertaining - never had as many laughs watching someone work

  • @kerim7158
    @kerim7158 Рік тому +4

    although modern c++ triggers my PTSD, this is a very good content

    • @teebeat
      @teebeat Рік тому

      This is exactly how I feel

  • @piyushkumbhare5969
    @piyushkumbhare5969 Місяць тому

    this guy should consider becoming a professor, you teach VERY well

  • @TronNerd82
    @TronNerd82 Рік тому +3

    Keep up the good work! You've earned yourself another subscriber.

  • @tomryan7679
    @tomryan7679 10 місяців тому

    Don’t know anything about C++, assembly or compilers but watched this from start to finish. Great video

  • @neshkeev
    @neshkeev Рік тому +4

    Thank you, it's extremely informative. Keep on!

  • @caseyzduniak632
    @caseyzduniak632 Рік тому +2

    Easily one of the best personalities that I've seen in CompSci, keep up the good work!

  • @papagrega06
    @papagrega06 Рік тому +3

    Manz is rockin the webcam

  • @dominic3606
    @dominic3606 Рік тому +1

    I did the same some years ago and it makes me happy to see, that you were struggling at the exact same places where I was like „wait a minute thats not how that will work“ 🤣

  • @psycoder-x
    @psycoder-x Рік тому +8

    30:10
    The C standard says that argv[argc] should be NULL. In C++ I believe it is nullptr. There is no segmentation fault because the size of the argv is (argc + 1) and I think std::stream implementation just ignores any nullptr values.

  • @epicflails5471
    @epicflails5471 Рік тому +1

    Your way of explaining things is really entertaining. I hope to see more content in the future!!

  • @jimmyporter8941
    @jimmyporter8941 Рік тому +13

    Exit codes are limited to 8 bits by the POSIX standard.

  • @cosmicspd
    @cosmicspd Рік тому +2

    first video ive seen of yours and i love that you go into detail and try to explain stuff the viewer may not understand, it really helped me understand and enjoy the video more. keep it up!

  • @twitchizle
    @twitchizle Рік тому +17

    novice tsoding

    • @pixeled-yt
      @pixeled-yt  Рік тому +20

      I love his content

    • @kahnfatman
      @kahnfatman 5 місяців тому

      In the beginning Tsode had hair -- then the multithread on his head left him

  • @ProJakob
    @ProJakob Рік тому +2

    Watching this at 1 AM, what could possibly go wrong. Hello from germany!

  • @TheOisannNetwork
    @TheOisannNetwork Рік тому +8

    Porth but in cpp and not stack based?

  • @mananbhardwaj3976
    @mananbhardwaj3976 7 місяців тому +1

    this guy keeps giving me Steven he vibes. And please don't stop. don't be discouraged by the number of subs or views just do what you are doing. This is after all god's work

  • @Hedshodd
    @Hedshodd Рік тому +3

    As a small heads-up, there is a language called `hy` (which is a python based lisp, iirc), and that also uses the file extension .hy, so you might wanna change the extension to .hyd or something like that ^^'

  • @tahahuraibb5833
    @tahahuraibb5833 Рік тому +1

    Finally! A C++ Video that isn't a tutorial. Please continue this series, it will prove to be extremely useful.

  • @publiclearner
    @publiclearner Рік тому +10

    At 18:05, using eax rather than rax does in fact work, you just forgot you were still returning 256.

    • @LetrixAR
      @LetrixAR Рік тому

      I thought he meant that it didn't work because it didn't allow for more than 1 byte.

  • @peteyourdoom
    @peteyourdoom 5 місяців тому

    Well done!
    I remember having to write a compiler on my Computer Science degree. That was 27 years ago now. Not had to write a compiler since...

  • @LtdJorge
    @LtdJorge Рік тому +3

    AFAIK "char** argv" and "char* argv[]" should be equivalent. Second is syntactic sugar for the first and you can use the index operator on the first ( argv[n] ).

  • @quanta8382
    @quanta8382 11 місяців тому

    I love the chaos of all this...fumbling to read a file with the end goal of writing a compiler is majestic haha

  • @hand-eye4517
    @hand-eye4517 7 місяців тому +5

    yOU SHOULD BE A PROFESSOR

  • @gradient5767
    @gradient5767 Рік тому +3

    0:00 Project overview
    4:25 Assembly starts

  • @imbadatcod7208
    @imbadatcod7208 Рік тому +1

    Man you deserve way more subscribers, I am glad I got this recommended and found you!!

  • @dasten123
    @dasten123 Рік тому +3

    I'm not too stoked about the compilation part at this stage (I don't mean it as a criticism though, I realize this is only part 1), but I think this is actually a really cool introduction to assembly! Nice job man!

  • @chikita5110
    @chikita5110 Рік тому +2

    7:52 "who isn't in 64bits in 2023 ?"
    *embedded developer* : hold my beer !
    (Really good video btw, I just discovered and I subscribed !)

  • @rohitdhas4438
    @rohitdhas4438 Рік тому +3

    really cool stuff! loved it

  • @caio-jl6qw
    @caio-jl6qw Рік тому +2

    This is not only an educational video, but also an entertaining one

  • @oglothenerd
    @oglothenerd Рік тому +3

    I want to write a compiler, but I may never use it. I am very much a Rust guy.