Bootstrapping with T-Diagrams - Computerphile

Sdílet
Vložit
  • čas přidán 13. 06. 2019
  • How do you compile a compiler? Professor Brailsford starts to unpick the idea of bootstrapping.
    Bootstrapping: • What is Bootstrapping?...
    Factory of Ideas - Bell Labs: • The Factory of Ideas: ...
    / computerphile
    / computer_phile
    This video was filmed and edited by Sean Riley.
    Computer Science at the University of Nottingham: bit.ly/nottscomputer
    Computerphile is a sister project to Brady Haran's Numberphile. More at www.bradyharan.com

Komentáře • 225

  • @profdaveb6384
    @profdaveb6384 Před 5 lety +931

    I'd like to thank all those of you who have included condolences in your comments. Yes, I lost my dear wife of 52 years 0n 27th May 2019 (her 76th birthday) Despite the sadness we tried hard to make it an up-beat occasion. Certainly Julia gave me huge encouragement in everything I did for Computerphile and it was just wonderful for me to know, during the funeral, that the A/V systems and the HD recording were being handled by those Computerphile stalwarts Sean Riley and Steve Bagley. Many thanks guys.

    • @Flankymanga
      @Flankymanga Před 4 lety +25

      My Condolences to you professor. It is a joy to listen to you explaining difficult topics like compilers. I hope you will find strength to continue in your follower base from computerphile, which as one can see, is huge.

    • @hugoporras14
      @hugoporras14 Před 4 lety +10

      I'm so sorry to hear that, hope you the best, you are one of my favorite hosters of computerphile.
      (If something is misspelled or grammatically wrong I'm sorry, not an English speaker, again, I'm sorry)

    • @donovanvanderlinde3478
      @donovanvanderlinde3478 Před 4 lety +10

      You are a beautiful person sir!

    • @Aziqfajar
      @Aziqfajar Před 4 lety +2

      I'm so sorry to hear that... I wanted to thank you for contributing into such a beautiful video which I could actually and potentially understand the best. Pleased to watch your hard work. Be strong, professor.

    • @GeodesicBruh
      @GeodesicBruh Před 4 lety +2

      ProfDaveB condolences

  • @user-ov5nd1fb7s
    @user-ov5nd1fb7s Před 5 lety +452

    Professor Brailsford is a pleasure to listen to.
    My condolences.

  • @raffitz
    @raffitz Před 5 lety +215

    My condolences to Prof. Brailsford in what is certainly not the best of times. I hope he takes some comfort in the fact that his videos and his pedagogic skill are unparalleled in getting me excited about whatever the subject matter may be, even when it's something I already know.

    • @rohithkattamuri4019
      @rohithkattamuri4019 Před 5 lety +7

      What happened??

    • @jackik1410
      @jackik1410 Před 5 lety +2

      @@rohithkattamuri4019 Julia Bailsford died, see the end of the video. Condolences from me aswell.

  • @givemecoffeeee42
    @givemecoffeeee42 Před 5 lety +126

    My condolences, professor. Thanks for the lesson and I wish you the best.

  • @Milosz_Ostrow
    @Milosz_Ostrow Před 5 lety +63

    This software bootstrapping process is akin to the way high precision machine tools were developed over the last couple of centuries, using early, crude lathes and milling machines to create parts for ever more precise lathes and milling machines. Mankind has come a long, long way from using sticks and rocks, and the journey has been difficult.

    • @mrlithium69
      @mrlithium69 Před 5 lety +1

      very true analogy

    • @BertGrink
      @BertGrink Před 5 lety +5

      Yes it is essentially the same process.

    • @TheLivirus
      @TheLivirus Před 5 lety

      I was thinking of precisely this! :)

  • @flymypg
    @flymypg Před 5 lety +82

    Thanks for mentioning Julia Brailsford, and giving us the chance to share our love for The Professor during this time.
    My own family has gone through a wave of "departures" this year, and it is truly a fact that "grief shared is grief diminished". The grief of departure is balanced by the joy of their having been here in the first place, especially as stories are shared. "Laughing through tears" is a real, and very special, place to be.

  • @paulsteenbergen4223
    @paulsteenbergen4223 Před 5 lety +51

    My deepest sympathy for your loss Prof. Brailsford. -When someone you love becomes a memory, that memory becomes a treasure.

  • @bemk
    @bemk Před 5 lety +144

    I'm sorry for your loss Prof. Brailsford.

    • @rohithkattamuri4019
      @rohithkattamuri4019 Před 5 lety

      What happened??

    • @x3ICEx
      @x3ICEx Před 5 lety +7

      @@rohithkattamuri4019 ​ @michael wittmann Julia Brailsford passed away.

    • @x3ICEx
      @x3ICEx Před 5 lety +3

      Hopefully nowhere. Re: Anders Jackson "3ICE oh. Where can I see that?"
      43 minutes ago
      p.s.: End of the video has the dedication notice if that's what you meant.

  • @nomaxx1176
    @nomaxx1176 Před 4 lety +3

    My condolences on your loss. Please take heart in the fact that for many of us, myself included, your videos taught us so much about computer science, and encouraged us to keep learning more. We wish you the best in life.

  • @AshleyWrigglesworth
    @AshleyWrigglesworth Před 5 lety +156

    Prrof is like the David Attenborough of software, even sounds alike. 🤔

    • @flymypg
      @flymypg Před 5 lety +4

      He's both a fundamental contributor to the field, and an awesome explainer and presenter. What a joy to visit with someone with a life passion spanning so many decades. May we all be so fortunate!

  • @SKyrim190
    @SKyrim190 Před 5 lety +28

    My condolences to Professor Brailsford

  • @Richardincancale
    @Richardincancale Před 5 lety +20

    The beauty of work by folk like Peter Brown in the early 1970s was the idea that you might design your own language that was specific to your problem area. Then use bootstrapping to port this problem specific language to other platforms as required. Nothing more complex than a text macro processor was needed, and if your macro processor was too simple you could apply the same technique to that tool.

  • @PaulTheFox1988
    @PaulTheFox1988 Před 5 lety +2

    My condolences for your loss Professor Brailsford, I know it can't take the pain away, but I hope that the many messages of support from the commentators on this video give some small comfort through these trying times.

  • @jayjeckel
    @jayjeckel Před 5 lety +5

    I have never been as excited for a video as I am for the next one in this series. Compiler bootstrapping is such a fascinating topic and Professor Brailsford is a great presenter. :)

  • @nick2me1
    @nick2me1 Před 5 lety +2

    Sorry to hear of your loss. My condolences, professor.

  • @rchandraonline
    @rchandraonline Před 5 lety +8

    Reminds me of the GNU C compiler build process. It assumes you have a K&R C compiler available, and in the first build phase, you get a functioning GNU C compiler binary. But then that new GNU C compiler is used to compile the source for itself, thus producing a theoretically better C compiler.

    • @AndersJackson
      @AndersJackson Před 5 lety +1

      Oh, those where the times. :-)

    • @Kirillissimus
      @Kirillissimus Před 5 lety +2

      The last time I compiled GCC it has an option in the makefile to only rely on having linux-tools package installed that contains the local assembler and the linker. It didn't strictly require you to have any other C compilers available. The source code of GCC had a TCC (”tiny c compiler”) written in gnu assembler included that was used to build a compact version of GCC. Then that mini-GCC was used to build a full version of GCC, then the GCC was used to rebuild full GCC again and again from the same source code until the process started to provide the same executable as in the previous step.

    • @AndersJackson
      @AndersJackson Před 5 lety

      @@Kirillissimus oh, those where the days. Memories. :-)

  • @mrcturbor
    @mrcturbor Před 5 lety +2

    My condolences to professor Brailsford. Losing a loved one is one of the hardest things in live. I wish you all the best.

  • @spikeevans1488
    @spikeevans1488 Před 5 lety +25

    There is also the concept of cross compiling where machine A already has a c compiler and you use that to build an assembler for machine B.

  • @BrendanGrainger
    @BrendanGrainger Před 4 lety +1

    You are an absolute treasure for all you do Professor. I'm so sorry to hear of your wife's passing.

  • @Elastane
    @Elastane Před 5 lety +2

    I love listening to you prof Brailsford, the way you communicate ideas has a way of nesting in my brain. My thoughts are with you at this time, and thank you again.

  • @ahmedelakrab
    @ahmedelakrab Před 5 lety +5

    Sorry to hear of your loss, professor. My condolences from Morocco.

  • @rty1955
    @rty1955 Před 5 lety +2

    The term "bootstrapping" came about from punched paper tape from a KSR-33 teletype. This paper tape was in binary and was usually hung up on a peg on the side of the computer. The shape of it looked like a teardrop loop similar to a "bootstrap" that were on saddles for horses. Thus you got up onto the horse with those bootstraps. Same as bringing up the computer from a "bootstrap". I wrote MANY a bootstrap loaders for various machines. Most tapes were not paper they wwre made from Mylar which was much more durable for many, many uses.
    In addition an Assembler was 1:1. Meaning for every line of source code, it produced one binary opcode plus operands. Usually it made two passes of the source code. Assembler did have provisions for structures. I personally wrote over 250,000 lines of assembler code, and used to write complete applications such as a/p, a/r, g/l, payroll all in assembler and on a 48k mainframe. I wrote a banner printing program in 160bytes and used no o/s. Just raw mainframe power

  • @Jojoxxr
    @Jojoxxr Před 5 lety +2

    You’re an absolute legend, Professor. Love your lectures, very sad & sorry to learn about your loss.

  • @KenHilton
    @KenHilton Před 5 lety +1

    My condolences, professor. Thank you very much for explaining this in such great detail, I wish you the very best.

  • @GeezRvonFart
    @GeezRvonFart Před 4 lety

    Give this man an award for awesome. Half the fun in watching these vids are the info and the other half is astonishment of the man's knowledge.

  • @borisdorofeev5602
    @borisdorofeev5602 Před 5 lety +9

    Thank you for another great video. I am sorry to here about the Professors loss.

  • @JxH
    @JxH Před 5 lety +1

    Oh dear. Deepest condolences Professor.

  • @insoft_uk
    @insoft_uk Před 5 lety

    He was one of the best ones in these videos, easy to understand and follow.

  • @Aziqfajar
    @Aziqfajar Před 4 lety +1

    I certainly liked the explanation in this video regardless of me being very confused about bootstrapping. My deep condolences to your loss, prof.

  • @bernardo013
    @bernardo013 Před 5 lety +6

    Thinking of you today, Professor

  • @walterjorgemazzoni
    @walterjorgemazzoni Před 4 lety

    Professor Brailsford, its a privilege to learn from your videos. Thankyou and kind regards from Argentina.

  • @egenethebest9107
    @egenethebest9107 Před 5 lety +1

    I had to explain this to my students so many times, this video would be a great aid on making it more understandable for them!

  • @Manava2012
    @Manava2012 Před 4 lety +2

    Its mind boggling.. my head is spinning. Hope to see a follow up on compilers and assembler

  • @drskelebone
    @drskelebone Před 5 lety

    I can offer nothing more than my deepest sympathy and love, Pr. Brailsford.

  • @merseyviking
    @merseyviking Před 5 lety +2

    My deepest condolences Prof. Brailsford.

  • @brabhamfreaman166
    @brabhamfreaman166 Před 4 lety

    It's deeply saddening news - my condolences Professor - but what greater tribute to your dear wife than to make so great a contribution to the CompSci-lay community's understanding of your life’s work.
    This, in essence, even now in 2020 is David Brailsford's, and by extension Julia's, legacy. We, the benefittors, shall never forget nor take for granted your deep sacrifice. With great respect and earnest regards, JH.

  • @maycodes
    @maycodes Před 2 lety

    My condolences, professor. Thanks for passing your knowledge

  • @TheBodgybrothers
    @TheBodgybrothers Před 5 lety +1

    "Perfect output, first time, of cause" - what a beast of a man

  • @SomeGuyInBrisVegas
    @SomeGuyInBrisVegas Před 5 lety +1

    Condolences for your loss Professor.

  • @youretheai7586
    @youretheai7586 Před 2 lety

    I was trying to wrap my mind around what you were saying as I was mixing up compost for my garden. :-)

  • @Fractal80Y
    @Fractal80Y Před 4 lety

    Ah finally the best explanation and video i have found on this

  • @jamildrareni4304
    @jamildrareni4304 Před 4 lety

    Sorry for your loss Professor.

  • @alpaslaneldemir6904
    @alpaslaneldemir6904 Před 5 lety +1

    My condolences Prof. Brailsford.

  • @morkovija
    @morkovija Před 5 lety

    Great video, sorry for your loss

  • @pdelong42
    @pdelong42 Před rokem

    Thanks, now I finally understand why the build process for GCC was so seemingly complicated.
    Maybe I'll give it another try. I haven't attempted it since the late '90s. And it was abysmally slow on the x86 hardware I had access to at the time (running Solaris 2.5.1).

  • @ralfoide
    @ralfoide Před 5 lety

    Monsieur Brailsford, je vous prie de recevoir mes très sincères condoléances et l’expression de ma profonde sympathie.
    Nous sommes nombreux à apprécier l'effort que vous mettez dans votre enseignement. Le malheur qui vous frappe nous permet de vous dire combien nous sommes proches de vous, et j'espère que cela puisse vous apporter un peu de réconfort.

  • @rojasbdm
    @rojasbdm Před 5 lety

    I’m sorry about your loss.

  • @RockBottom45
    @RockBottom45 Před 7 dny

    I love, how this room seems like out of the 70s xD And terrific content btw :)

  • @AndersJackson
    @AndersJackson Před 5 lety +1

    Sorry for your loss, Professor Brailsford.

  • @Pablo-Herrero
    @Pablo-Herrero Před 5 lety +1

    What books, papers or other literature are available, where you can read more about this?

  • @JulianOnions
    @JulianOnions Před 5 lety +3

    So sorry to hear about Julia.

  • @Antiorganizer
    @Antiorganizer Před rokem

    So the point is to do it in stages. From ground up, which is starting with assembler, you create a simple language that gives you that much more expressive power that makes creating the next gen language that much better. It would take a few steps before resembling like a more complete C compiler.
    The question then is, what initial "enriching" language features would you create at each step?
    I suppose the act of having variables, local scopes, and subroutine calling would be a nice start.
    Then, next gen, structs, proper argument handling in functions.
    Or... instead of that, create a BNF parser/language at which point you can define languages.
    Anyway, I'd love to drop by for tea to have this out. I'm a tad far away though.

  • @nab-rk4ob
    @nab-rk4ob Před 5 lety

    What a blessing he was. He knew so much.

    • @Rob_III
      @Rob_III Před 5 lety

      I'm not quite sure you understood...

  • @scbtripwire
    @scbtripwire Před 5 lety +2

    My condolences Professor Brailsford. :(

  • @xakkep9000
    @xakkep9000 Před 5 lety +2

    TY for very clear explanation!

    • @BertGrink
      @BertGrink Před 5 lety

      One of Professor Brailsford's great fortes is his ability to make even the driest technical stuff come alive by not merely explaining the technical side, but by including the people involved. He is just a great story teller.

  • @guitarman13021
    @guitarman13021 Před 5 lety +1

    My condolences Dr Brailsford.

  • @CurtisDyer
    @CurtisDyer Před 5 lety

    Thank you, Professor.

  • @RaminHonary
    @RaminHonary Před 5 lety +3

    I used to write assembler programs on paper, then I would hand-translate them to binary (actually hexadecimal), which is basically manually doing the work of the assembler program with a pencil and paper. This involved looking up the operation codes and register codes from a table in the manual of the computer chip written by the manufacturer, and then writing the hex codes on note pad next to the assembler codes. After double and tripple-checking everything, I would enter the binary bit patterns into the computer with physical switches on a 16-button hexadecimal keypad. The keypad itself was hard-wired directly to the computer's memory, anything I entered on the keypad would be copied into the memory circuit directly.

    • @Kapin05
      @Kapin05 Před 5 lety +2

      This sounds much more interesting than it must've been to do.

    • @RaminHonary
      @RaminHonary Před 5 lety +2

      @@Kapin05 Actually, I found it to be a ton of fun. It really lets you see down to the circuit level exactly how a Von Neumann architecture computer works. And you can get it to do fun things like make noises, or control actuators. Nowadays, USB controllers circuits do all the work for me, but I know that these controller circuits are doing the exact same thing that I used to do by hand when I was writing bits into memory directly.
      The experience taught me why computer hardware manufacturers need to work so closely with the people who write compilers and operating systems. It also gave me an appreciation of how complicated modern computers are, and how much work it takes to make a compiler and operating system. This is also why I am so thankful for the Linux community.

    • @rawriclark
      @rawriclark Před 5 lety +2

      i am shaking just by reading this

    • @Kapin05
      @Kapin05 Před 5 lety +2

      @@RaminHonary Huh. coolio. I don't have the patience for that myself, so that's kinda surprising to hear.

  • @davidpruett9307
    @davidpruett9307 Před 5 lety

    I knew I had seen these "T diagrams" before. Then I remembered. In the 1970 book "A Compiler Generator" by McKeenan, Horning, and Wortman they use the diagrams to describe the XCOM system. It describes a language called XML used to generate compilers. Interesting bit of history - XPL was used by NASA to generate the compiler for their HAL language used on the Shuttle. XPL was derived from PL/I.

  • @andljoy
    @andljoy Před 5 lety +28

    I dunno , when i was studying this i just kind of got it , now the T diagram just makes it sound more complicated than it is.

    • @steefant
      @steefant Před 5 lety +2

      Agreed. No idea how one can talk 15mins about that subject with so few details and still make it that complicated. And I don't believe it's the editing because the drawings themselves are not very clear to begin with. Probably he just not prepared it at all because it's so trivial to explain... ;)

    • @rt1517
      @rt1517 Před rokem

      Same here. T diagrams are making things a lot more complicated and confusing than they are. Very bad choice. He should have used shapes and arrows. One shape for source codes (including assembly code) and one shape for binaries. An arrow would go from one shape to another (often from a source to a binary) and would require an associated binary (a compiler or an assembler).

  • @MrSlowestD16
    @MrSlowestD16 Před 5 lety

    Yeah I think that last bit is the most important. Once you're in a higher level language like C you can go back and re-write or write assemblers and compilers that may not be efficient, but can produce efficient binary, and then you're golden because you can rebuild the compiler or assembler with that.
    Also, this was *way* more of a problem back in the Bell labs days, and when new archs come out, now everything can be cross-compiled to start off with, so no need to do this from scratch unless you really want to.

  • @raglanheuser1162
    @raglanheuser1162 Před 4 lety +2

    but who wrote the bin compiler?
    and what does quality mean?

  • @fliptoynk
    @fliptoynk Před 5 lety

    Well... In text-based applications, I couldn't see the difference in performance between TC and TASM... except that it's harder to code in tasm, and tc's product(the .exe) is quite bigger in bytes(probably because the headers were included in the compilation).
    But in terms of graphics, I was shocked in awe back then when I was given a demo of a 3d paper plane written in asm. Compact, no ems, just base memory, and the graphics animation are clean, no flicker nor auras or residues.
    The bootstrap process may not be perfect, but hey, it made the programming tasks much easier for the rest of us so kudos to you prof nonetheless.

    • @taylornate2
      @taylornate2 Před 5 lety

      Roller Coaster Tycoon was coded in ASM

  • @RockClimberAlex
    @RockClimberAlex Před 5 lety +1

    Oh jeez, I'm sorry for your loss professor.

  • @rentzepopoulos
    @rentzepopoulos Před 5 lety +1

    My condolences to Prof. Brailsford...

  • @ximalas
    @ximalas Před 5 lety

    My condolences, Prof. Brailsford.

  • @michalkononenko9833
    @michalkononenko9833 Před 5 lety

    My condolences, Professor Brailsford.

  • @unlokia
    @unlokia Před 5 lety +3

    Professor, I feel my copy of "gcc" may have a bug, since it doesn't make that rattling sound when I compile; where do I submit a bug report?

    • @silkwesir1444
      @silkwesir1444 Před 5 lety +2

      it is very quiet, you have to listen more closely.

  • @flymypg
    @flymypg Před 5 lety

    Building the tools to make the tools to make the tools to make the program run.
    When you dig all the way down, here's the sequence:
    Computer schematic -> working circuits -> binary machine instructions-> assembler -> compiler -> program -> executable.

  • @morrolinux
    @morrolinux Před 5 lety

    I always wonder which program are you using for these cool VFX?

  • @roar779
    @roar779 Před 5 lety +1

    My condolences to the professor.

  • @PvblivsAelivs
    @PvblivsAelivs Před 5 lety

    It seems that the quality of the executable produced by an assembler depends only on its assembly-code input. An assembler takes each instruction as-is and makes it part of the image. You can consult an op-code table and determine how each instruction has to be represented in the image. It's not like a compiler that could implement a statement in different ways, or even decide the statement unreachable and not implement it at all.

  • @andrewjknott
    @andrewjknott Před 5 lety +19

    "Three attempts" (holds up four fingers).... "Three attempts!" (hold up 2 fingers).

    • @silkwesir1444
      @silkwesir1444 Před 5 lety +2

      at least the errors cancel each other out (the sum is 6, as expected)

    • @ximalas
      @ximalas Před 5 lety +9

      The two hardest problems in CS is cache invalidation, the naming of things, and off-by-one errors.

    • @HighestRank
      @HighestRank Před 5 lety +1

      ximalas CS is, as most know, the abbreviation for a game called ‘Counterstrike’.

    • @ximalas
      @ximalas Před 5 lety +1

      @@HighestRank 😛

    • @silkwesir1444
      @silkwesir1444 Před 5 lety

      @@HighestRank "Counter-Strike", with a hyphen. That's how the game spells itself.
      However, it seems to be a common mistake, so common that even some 'official' material calls it "Counterstrike".

  • @revooshnoj4078
    @revooshnoj4078 Před 5 lety +3

    R.I.P.

  • @UpcycleElectronics
    @UpcycleElectronics Před 5 lety

    Thanks for the upload. I would appreciate it if you would expand this topic into the ISA and various implementations. For instance, Intel's 8051 architecture is prolific since it became public domain. I have long wondered what real differences exist between the original tool chain and all of the current manufacturers that build on the 8051. It is not something people often talk about or demonstrate within the hobbyist community. There are 8051's currently manufactured by Silicon Labs, Microchip, Cypress, Analog Devices, and many many others. Where is the gap between the original intel tool chain and these other derivatives? How is it that companies like Kiel and Analog Devices sell proprietary software toolchains for their devices based on a public architecture?

  • @dukereg
    @dukereg Před 4 lety

    I hope there are videos coming on the Forth style of bootstrapping.

  • @tomcho8221
    @tomcho8221 Před 5 lety

    My condolences, Professor.

  • @casperes0912
    @casperes0912 Před 5 lety

    My CS professor for programming languages used t-diagrams too.

  • @phoenix2464
    @phoenix2464 Před 5 lety

    9:50 does some have a link to this video ?

  • @toddblackmon
    @toddblackmon Před 2 lety

    2:03 The marker has a on the end!

  • @Gooberpatrol66
    @Gooberpatrol66 Před 5 lety +1

    Professor Brailsford showing off his music collection

    • @AKorigami
      @AKorigami Před 5 lety +1

      What is the cd with the duck?

  • @jamesExiledLegends
    @jamesExiledLegends Před 4 lety

    R.I.P. Mrs. Brailsford

  • @jan_wh1tey
    @jan_wh1tey Před 5 lety +15

    I'm about 1/3 into the video, and if they don't put the "T"s together like tetriminos, I will be very salty.

  • @whiteeyedshadow8423
    @whiteeyedshadow8423 Před 5 lety +2

    my condlences proffesor brailsford...just learned about your loss

  • @PlayTheMind
    @PlayTheMind Před 5 lety +11

    They oddly look like *Tetris*-diagrams

  • @maciej-36
    @maciej-36 Před 5 lety

    Soo how do you write the first assembler?

  • @cheaterman49
    @cheaterman49 Před 5 lety

    Wow, classy new glasses!

  • @haydo8373
    @haydo8373 Před 5 lety

    So does the assembler fulfill a mapping functionality? Eg, replace x assembly instruction with y binary instruction.

    • @BertGrink
      @BertGrink Před 5 lety

      Yes i think that is correct; one of the features of assembly language is that there is an exact one-to-one relationship between assembler mnemonics and the resultant binary code, something no other languages can claim.

    • @haydo8373
      @haydo8373 Před 5 lety

      @@BertGrink Awesome, thank you for the reply!

  • @chrisbebek3192
    @chrisbebek3192 Před 5 lety

    Still has a stack of tractor feed paper. Badass.

  • @JmanNo42
    @JmanNo42 Před 5 lety

    Have all C and high level programs of today inherited the lowlevel code from some original source? If so have there been tries or attempts to improve that code? And if so is it possible?

    • @JmanNo42
      @JmanNo42 Před 5 lety

      Well in the end i get that it is architecture dependent?

    • @JmanNo42
      @JmanNo42 Před 5 lety

      At what level does the "primitives" start to look similar on different architectures?

    • @JmanNo42
      @JmanNo42 Před 5 lety

      At what level does the portability between architectures start?
      High level C?

    • @JmanNo42
      @JmanNo42 Před 5 lety

      The complexity behind to create a compiler just seem staggering, is it because the way things are "architecture" or is it because initial choices?
      Although i can feel alot of the discussion abit above my "head" knowledge i look forward to next episode.

    • @JmanNo42
      @JmanNo42 Před 5 lety

      How hard is it to learn the different branches of assembler if you know one?

  • @JoshuaHillerup
    @JoshuaHillerup Před 5 lety

    How do you represent programs that aren't just a pure function with a t-diagram?

  • @comediehero
    @comediehero Před 5 lety

    Thank you

  • @jacobscrackers98
    @jacobscrackers98 Před 5 lety

    My condolences.
    Are there any more detailed resources for this stuff?

    • @ximalas
      @ximalas Před 5 lety +1

      Any decent book on compilers should fit the bill. This was the chosen textbook while I was at uni: "Programming Language Processors in Java: Compilers and Interpreters" by David Watt and Deryck Brown, ISBN-13 978-0130257864. You'll find T-diagrams there, although they call them tombstones.

  • @adulion
    @adulion Před 4 lety

    i love how he uses dot matrix printer paper

  • @stevefrandsen7897
    @stevefrandsen7897 Před měsícem

    My belated condolences

  • @sidazhou
    @sidazhou Před 5 lety +2

    totally not confused

  • @theharbingerofconflation
    @theharbingerofconflation Před 5 lety +3

    Just tell people about opcode already. Go deeper Brailsford! Go deeper!

  • @micr0xchip0xverflow6
    @micr0xchip0xverflow6 Před 5 lety +7

    Great explanation, but I'm still confused.

    • @Boopadee
      @Boopadee Před 5 lety +2

      At the bottom level, someone manually had to write the instructions that are found in the bottom level assembler binary. Past that, everything is written at a higher level and compiled.

    • @micr0xchip0xverflow6
      @micr0xchip0xverflow6 Před 5 lety

      @@Boopadee Thanks, I'll have to watch it again knowing this. Then I will try and write my own bootstrapper for practice

    • @trucid2
      @trucid2 Před 5 lety

      It's compilers all the way down.

  • @AutoFirePad
    @AutoFirePad Před 5 lety +1

    My condolences.

  • @innerclass1509
    @innerclass1509 Před 5 lety

    How do you get the first BINu though?

    • @Milosz_Ostrow
      @Milosz_Ostrow Před 5 lety +1

      By flipping toggle switches or plugging jumper wires by hand.

    • @JxH
      @JxH Před 5 lety +2

      Hand assembly. Write the Assembler language mnemonics on paper, then (by hand) translate the program into machine code (hex numbers). Then get that loaded into the computer and execute it. Been there, done that, 6809, circa 1980.