Bootstrapping with T-Diagrams - Computerphile

แชร์
ฝัง
  • เผยแพร่เมื่อ 23 ม.ค. 2025

ความคิดเห็น • 225

  • @profdaveb6384
    @profdaveb6384 5 ปีที่แล้ว +961

    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 5 ปีที่แล้ว +26

      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 5 ปีที่แล้ว +11

      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 5 ปีที่แล้ว +11

      You are a beautiful person sir!

    • @Aziqfajar
      @Aziqfajar 4 ปีที่แล้ว +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 4 ปีที่แล้ว +2

      ProfDaveB condolences

  • @user-ov5nd1fb7s
    @user-ov5nd1fb7s 5 ปีที่แล้ว +459

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

    • @LittleRainGames
      @LittleRainGames 5 ปีที่แล้ว +15

      He died?

    • @user-ov5nd1fb7s
      @user-ov5nd1fb7s 5 ปีที่แล้ว +17

      @@LittleRainGames no, one of his relatives died. I am not sure which.

  • @givemecoffeeee42
    @givemecoffeeee42 5 ปีที่แล้ว +129

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

  • @raffitz
    @raffitz 5 ปีที่แล้ว +216

    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 5 ปีที่แล้ว +7

      What happened??

    • @jackik1410
      @jackik1410 5 ปีที่แล้ว +2

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

  • @flymypg
    @flymypg 5 ปีที่แล้ว +85

    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 5 ปีที่แล้ว +50

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

  • @Milosz_Ostrow
    @Milosz_Ostrow 5 ปีที่แล้ว +70

    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 5 ปีที่แล้ว +1

      very true analogy

    • @BertGrink
      @BertGrink 5 ปีที่แล้ว +5

      Yes it is essentially the same process.

    • @TheLivirus
      @TheLivirus 5 ปีที่แล้ว

      I was thinking of precisely this! :)

  • @nomaxx1176
    @nomaxx1176 5 ปีที่แล้ว +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.

  • @bemk
    @bemk 5 ปีที่แล้ว +143

    I'm sorry for your loss Prof. Brailsford.

    • @rohithkattamuri4019
      @rohithkattamuri4019 5 ปีที่แล้ว

      What happened??

    • @x3ICEx
      @x3ICEx 5 ปีที่แล้ว +7

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

    • @x3ICEx
      @x3ICEx 5 ปีที่แล้ว +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.

  • @Richardincancale
    @Richardincancale 5 ปีที่แล้ว +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.

  • @jayjeckel
    @jayjeckel 5 ปีที่แล้ว +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. :)

  • @ahmedelakrab
    @ahmedelakrab 5 ปีที่แล้ว +5

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

  • @PaulTheFox1988
    @PaulTheFox1988 5 ปีที่แล้ว +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.

  • @nick2me1
    @nick2me1 5 ปีที่แล้ว +2

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

  • @BrendanGrainger
    @BrendanGrainger 5 ปีที่แล้ว +1

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

  • @Jojoxxr
    @Jojoxxr 5 ปีที่แล้ว +2

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

  • @SKyrim190
    @SKyrim190 5 ปีที่แล้ว +28

    My condolences to Professor Brailsford

  • @mrcturbor
    @mrcturbor 5 ปีที่แล้ว +2

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

  • @borisdorofeev5602
    @borisdorofeev5602 5 ปีที่แล้ว +9

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

  • @AshleyWrigglesworth
    @AshleyWrigglesworth 5 ปีที่แล้ว +156

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

    • @flymypg
      @flymypg 5 ปีที่แล้ว +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!

  • @KenHilton
    @KenHilton 5 ปีที่แล้ว +1

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

  • @DrRChandra
    @DrRChandra 5 ปีที่แล้ว +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 5 ปีที่แล้ว +1

      Oh, those where the times. :-)

    • @Kirillissimus
      @Kirillissimus 5 ปีที่แล้ว +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 5 ปีที่แล้ว

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

  • @Aziqfajar
    @Aziqfajar 4 ปีที่แล้ว +1

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

  • @spikeevans1488
    @spikeevans1488 5 ปีที่แล้ว +26

    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.

    • @thendimension4816
      @thendimension4816 13 ชั่วโมงที่ผ่านมา

      That's some serious complications

  • @bernardo013
    @bernardo013 5 ปีที่แล้ว +6

    Thinking of you today, Professor

  • @brabhamfreaman166
    @brabhamfreaman166 5 ปีที่แล้ว

    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.

  • @walterjorgemazzoni
    @walterjorgemazzoni 5 ปีที่แล้ว

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

  • @rty1955
    @rty1955 5 ปีที่แล้ว +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

  • @insoft_uk
    @insoft_uk 5 ปีที่แล้ว

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

  • @JxH
    @JxH 5 ปีที่แล้ว +1

    Oh dear. Deepest condolences Professor.

  • @egenethebest9107
    @egenethebest9107 5 ปีที่แล้ว +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 5 ปีที่แล้ว +2

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

  • @merseyviking
    @merseyviking 5 ปีที่แล้ว +2

    My deepest condolences Prof. Brailsford.

  • @TheBodgybrothers
    @TheBodgybrothers 5 ปีที่แล้ว +1

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

  • @ralfoide
    @ralfoide 5 ปีที่แล้ว

    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.

  • @maycodes
    @maycodes 3 ปีที่แล้ว

    My condolences, professor. Thanks for passing your knowledge

  • @drskelebone
    @drskelebone 5 ปีที่แล้ว

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

  • @pdelong42
    @pdelong42 ปีที่แล้ว

    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).

  • @SomeGuyInBrisVegas
    @SomeGuyInBrisVegas 5 ปีที่แล้ว +1

    Condolences for your loss Professor.

  • @youretheai7586
    @youretheai7586 3 ปีที่แล้ว

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

  • @Fractal80Y
    @Fractal80Y 5 ปีที่แล้ว

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

  • @rojasbdm
    @rojasbdm 5 ปีที่แล้ว

    I’m sorry about your loss.

  • @GeezRvonFart
    @GeezRvonFart 5 ปีที่แล้ว

    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.

  • @alpaslaneldemir6904
    @alpaslaneldemir6904 5 ปีที่แล้ว +1

    My condolences Prof. Brailsford.

  • @RockBottom45
    @RockBottom45 8 หลายเดือนก่อน

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

  • @Antiorganizer
    @Antiorganizer ปีที่แล้ว

    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.

  • @davidpruett9307
    @davidpruett9307 5 ปีที่แล้ว

    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.

  • @raglanheuser1162
    @raglanheuser1162 5 ปีที่แล้ว +2

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

  • @AndersJackson
    @AndersJackson 5 ปีที่แล้ว +1

    Sorry for your loss, Professor Brailsford.

  • @fliptoynk
    @fliptoynk 5 ปีที่แล้ว

    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 5 ปีที่แล้ว

      Roller Coaster Tycoon was coded in ASM

  • @MrSlowestD16
    @MrSlowestD16 5 ปีที่แล้ว

    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.

  • @jamildrareni4304
    @jamildrareni4304 5 ปีที่แล้ว

    Sorry for your loss Professor.

  • @scbtripwire
    @scbtripwire 5 ปีที่แล้ว +2

    My condolences Professor Brailsford. :(

  • @JulianOnions
    @JulianOnions 5 ปีที่แล้ว +3

    So sorry to hear about Julia.

  • @movax20h
    @movax20h ปีที่แล้ว +1

    10:42. It is not quite accurate from historical perspective. First C compiler was written in newB (NB). newB compiler was written in B. At that time B compiler was written in B. Before that B compiler was written in TMG. TMG compiler was written in BCPL most likely, and earlier than that in assembler. The assembler is sufficiently easy so it can be implemented in assembler and then hand translated to machine code, or on other machine (i.e. in Fortran or whatever) with already working toolchain. Only about year later C compiler become self hosting, and was written in C and compiled by previous version of itself. Simple two-pass assembler can be few hundreds instructions. In late 60s and early 70s, nobody would translate that manually tho (it would take maybe a week or two, but was error prone), instead use some other machine (and possibly other language or assembler) to generate assembler executable and transfer it to the target machine (assuming you had an operating system, which you probably did not).

  • @PvblivsAelivs
    @PvblivsAelivs 5 ปีที่แล้ว

    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.

  • @unlokia
    @unlokia 5 ปีที่แล้ว +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 5 ปีที่แล้ว +2

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

  • @guitarman13021
    @guitarman13021 5 ปีที่แล้ว +1

    My condolences Dr Brailsford.

  • @flymypg
    @flymypg 5 ปีที่แล้ว

    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.

  • @andljoy
    @andljoy 5 ปีที่แล้ว +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 5 ปีที่แล้ว +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 2 ปีที่แล้ว

      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).

  • @toddblackmon
    @toddblackmon 3 ปีที่แล้ว

    2:03 The marker has a on the end!

  • @dukereg
    @dukereg 5 ปีที่แล้ว

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

  • @RockClimberAlex
    @RockClimberAlex 5 ปีที่แล้ว +1

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

  • @morkovija
    @morkovija 5 ปีที่แล้ว

    Great video, sorry for your loss

  • @nab-rk4ob
    @nab-rk4ob 5 ปีที่แล้ว

    What a blessing he was. He knew so much.

    • @Rob_III
      @Rob_III 5 ปีที่แล้ว

      I'm not quite sure you understood...

  • @phoenix2464
    @phoenix2464 5 ปีที่แล้ว

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

  • @rentzepopoulos
    @rentzepopoulos 5 ปีที่แล้ว +1

    My condolences to Prof. Brailsford...

  • @haydo8373
    @haydo8373 5 ปีที่แล้ว

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

    • @BertGrink
      @BertGrink 5 ปีที่แล้ว

      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 5 ปีที่แล้ว

      @@BertGrink Awesome, thank you for the reply!

  • @00Skyfox
    @00Skyfox 5 ปีที่แล้ว

    What is that CD on his desk that has a cartoon duck on it?

  • @maciej-36
    @maciej-36 5 ปีที่แล้ว

    Soo how do you write the first assembler?

  • @Pablo-Herrero
    @Pablo-Herrero 5 ปีที่แล้ว +1

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

  • @UpcycleElectronics
    @UpcycleElectronics 5 ปีที่แล้ว

    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?

  • @RaminHonary
    @RaminHonary 5 ปีที่แล้ว +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 5 ปีที่แล้ว +2

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

    • @RaminHonary
      @RaminHonary 5 ปีที่แล้ว +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 5 ปีที่แล้ว +2

      i am shaking just by reading this

    • @Kapin05
      @Kapin05 5 ปีที่แล้ว +2

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

  • @roar779
    @roar779 5 ปีที่แล้ว +1

    My condolences to the professor.

  • @revooshnoj4078
    @revooshnoj4078 5 ปีที่แล้ว +3

    R.I.P.

  • @michalkononenko9833
    @michalkononenko9833 5 ปีที่แล้ว

    My condolences, Professor Brailsford.

  • @PlayTheMind
    @PlayTheMind 5 ปีที่แล้ว +11

    They oddly look like *Tetris*-diagrams

  • @vincei4252
    @vincei4252 5 ปีที่แล้ว

    Does that mean that any program written or ever will be written can be traced back, in an unbroken path, to someone flipping switches on a computer input panel somewhere in the dark past? Like evolution? A tree with many dead ends and what we currently use that is not currently a dead end?

  • @JoshuaHillerup
    @JoshuaHillerup 5 ปีที่แล้ว

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

  • @morrolinux
    @morrolinux 5 ปีที่แล้ว

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

  • @xakkep9000
    @xakkep9000 5 ปีที่แล้ว +2

    TY for very clear explanation!

    • @BertGrink
      @BertGrink 5 ปีที่แล้ว

      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.

  • @MrRobbyvent
    @MrRobbyvent 5 ปีที่แล้ว

    and now... computer bootstrapping. Where was programmed the first bios so I can program my first machine?

    • @DrSteveBagley
      @DrSteveBagley 5 ปีที่แล้ว

      watch Aaron's PiDP-11 video -- there's a reason the PDP-11 (and similar machines) have a series of switches on the front panel

    • @MrRobbyvent
      @MrRobbyvent 5 ปีที่แล้ว

      @@DrSteveBagley Well, in this specific case You could only put bytes in volatile RAM, but yes the story is the same, there is always someone who started from something simpler...

  • @tomcho8221
    @tomcho8221 5 ปีที่แล้ว

    My condolences, Professor.

  • @whiteeyedshadow8423
    @whiteeyedshadow8423 5 ปีที่แล้ว +2

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

  • @jan_wh1tey
    @jan_wh1tey 5 ปีที่แล้ว +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.

  • @JmanNo42
    @JmanNo42 5 ปีที่แล้ว

    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 5 ปีที่แล้ว

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

    • @JmanNo42
      @JmanNo42 5 ปีที่แล้ว

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

    • @JmanNo42
      @JmanNo42 5 ปีที่แล้ว

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

    • @JmanNo42
      @JmanNo42 5 ปีที่แล้ว

      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 5 ปีที่แล้ว

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

  • @umairalvi7382
    @umairalvi7382 5 ปีที่แล้ว

    But BIN subscript u is still unknown there is still a unknown entity as he said in the video that suppose dennis gave me the BINu to run the assembler code.

  • @Gooberpatrol66
    @Gooberpatrol66 5 ปีที่แล้ว +1

    Professor Brailsford showing off his music collection

    • @AKorigami
      @AKorigami 5 ปีที่แล้ว +1

      What is the cd with the duck?

  • @andrewjknott
    @andrewjknott 5 ปีที่แล้ว +19

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

    • @silkwesir1444
      @silkwesir1444 5 ปีที่แล้ว +2

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

    • @ximalas
      @ximalas 5 ปีที่แล้ว +9

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

    • @HighestRank
      @HighestRank 5 ปีที่แล้ว +1

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

    • @ximalas
      @ximalas 5 ปีที่แล้ว +1

      @@HighestRank 😛

    • @silkwesir1444
      @silkwesir1444 5 ปีที่แล้ว

      @@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".

  • @CurtisDyer
    @CurtisDyer 5 ปีที่แล้ว

    Thank you, Professor.

  • @innerclass1509
    @innerclass1509 5 ปีที่แล้ว

    How do you get the first BINu though?

    • @Milosz_Ostrow
      @Milosz_Ostrow 5 ปีที่แล้ว +1

      By flipping toggle switches or plugging jumper wires by hand.

    • @JxH
      @JxH 5 ปีที่แล้ว +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.

  • @chrisbebek3192
    @chrisbebek3192 5 ปีที่แล้ว

    Still has a stack of tractor feed paper. Badass.

  • @HighestRank
    @HighestRank 5 ปีที่แล้ว

    The opcodes were listed by the chip manufacturer, which documents were then delivered with their reference board, to a company who used them to write an OS, which like UNIX are licensed and therefore kept secret.
    The.End.

  • @casperes0912
    @casperes0912 5 ปีที่แล้ว

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

  • @jamesExiledLegends
    @jamesExiledLegends 5 ปีที่แล้ว

    R.I.P. Mrs. Brailsford

  • @norfsk
    @norfsk 5 ปีที่แล้ว

    Is that a CD? Does he actually have a player for it?

    • @ximalas
      @ximalas 5 ปีที่แล้ว

      His computer might have, or the radio in the background.

  • @jacobscrackers98
    @jacobscrackers98 5 ปีที่แล้ว

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

    • @ximalas
      @ximalas 5 ปีที่แล้ว +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.

  • @isabellabihy8631
    @isabellabihy8631 5 ปีที่แล้ว +1

    Oops, Professor Brailsford, it doesn't quite suffice to compile the code, you'd need a linkage editor as well to resolve storage addressing issues. Only after linkage editing you'll have an executable. A compiler translates a high-level level programming language to the machine code of the architecture you intend to run your program on.
    I must have misunderstood the idea of bootstrapping: in the world I used to work in, bootstrapping was the sequence to start the the computer, like after flipping the power on switch, the hard drive starts, the operating system, device drivers, and whatever else is needed (thinking of transaction management systems) are loaded.
    What a loss. Sympathies.

    • @isabellabihy8631
      @isabellabihy8631 5 ปีที่แล้ว

      @sbcontt YT yes, like Professor Brailsford's talks very much myself. When I learned to use computers the terminals were hi-tech. I've used punch cards, terminals, PCs, laptops, tablets. I spent most of my professional life in the field support, debugging the runtime environments of wide-spread programming languages, on /370 or /390 architecture. I learned to program the big machines (then water-cooled), set up transaction monitors, program the PCs, worked on process automation, and then some.
      When listening to Professor Brailsford it reminds me of my dad, when he talked about how computers work, in the 1970s. My dad was a field support specialist and knew the insides out of the software he was supporting, as well as the interfaces of the hardware to the software. Then in my early teens I decided that I wanted to be able to command these machines. And I did.

    • @isabellabihy8631
      @isabellabihy8631 5 ปีที่แล้ว

      @sbcontt YT You got me... I have no idea what ArchLinux is. Oh, I do know that there are variants of UNIX, like Linux, AIX, and a few more, I guess. It's an operating system, for sure. To my knowledge, UNIX and the variants became popular on reduced instruction set computers (RISC). In order to speed up execution, the machine code (instruction set) was whittled down. In some architectures had become big, that is, the machine code instruction used too many cycles.
      No need to be jealous, I've worked with computers for 40 years. You'll probably see architectural chances for yourself.
      And remember: No RISC, no fun!😀😀

  • @micr0xchip0xverflow6
    @micr0xchip0xverflow6 5 ปีที่แล้ว +7

    Great explanation, but I'm still confused.

    • @Boopadee
      @Boopadee 5 ปีที่แล้ว +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 5 ปีที่แล้ว

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

    • @trucid2
      @trucid2 5 ปีที่แล้ว

      It's compilers all the way down.

  • @adulion
    @adulion 4 ปีที่แล้ว

    i love how he uses dot matrix printer paper