Bootstrapping with T-Diagrams - Computerphile

  Рет қаралды 164,747

Computerphile

Computerphile

5 жыл бұрын

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

Пікірлер: 224
@profdaveb6384
@profdaveb6384 5 жыл бұрын
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 4 жыл бұрын
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 4 жыл бұрын
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 4 жыл бұрын
You are a beautiful person sir!
@Aziqfajar
@Aziqfajar 4 жыл бұрын
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 жыл бұрын
ProfDaveB condolences
@user-ov5nd1fb7s
@user-ov5nd1fb7s 5 жыл бұрын
Professor Brailsford is a pleasure to listen to. My condolences.
@LittleRainGames
@LittleRainGames 5 жыл бұрын
He died?
@user-ov5nd1fb7s
@user-ov5nd1fb7s 5 жыл бұрын
@@LittleRainGames no, one of his relatives died. I am not sure which.
@raffitz
@raffitz 5 жыл бұрын
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 жыл бұрын
What happened??
@jackik1410
@jackik1410 5 жыл бұрын
@@rohithkattamuri4019 Julia Bailsford died, see the end of the video. Condolences from me aswell.
@givemecoffeeee42
@givemecoffeeee42 5 жыл бұрын
My condolences, professor. Thanks for the lesson and I wish you the best.
@Milosz_Ostrow
@Milosz_Ostrow 5 жыл бұрын
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 жыл бұрын
very true analogy
@BertGrink
@BertGrink 5 жыл бұрын
Yes it is essentially the same process.
@TheLivirus
@TheLivirus 5 жыл бұрын
I was thinking of precisely this! :)
@flymypg
@flymypg 5 жыл бұрын
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 жыл бұрын
My deepest sympathy for your loss Prof. Brailsford. -When someone you love becomes a memory, that memory becomes a treasure.
@bemk
@bemk 5 жыл бұрын
I'm sorry for your loss Prof. Brailsford.
@rohithkattamuri4019
@rohithkattamuri4019 5 жыл бұрын
What happened??
@x3ICEx
@x3ICEx 5 жыл бұрын
@@rohithkattamuri4019 ​ @michael wittmann Julia Brailsford passed away.
@x3ICEx
@x3ICEx 5 жыл бұрын
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.
@AshleyWrigglesworth
@AshleyWrigglesworth 5 жыл бұрын
Prrof is like the David Attenborough of software, even sounds alike. 🤔
@flymypg
@flymypg 5 жыл бұрын
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!
@nomaxx1176
@nomaxx1176 4 жыл бұрын
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.
@SKyrim190
@SKyrim190 5 жыл бұрын
My condolences to Professor Brailsford
@spikeevans1488
@spikeevans1488 5 жыл бұрын
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.
@Richardincancale
@Richardincancale 5 жыл бұрын
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 жыл бұрын
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 жыл бұрын
Sorry to hear of your loss, professor. My condolences from Morocco.
@nick2me1
@nick2me1 5 жыл бұрын
Sorry to hear of your loss. My condolences, professor.
@rchandraonline
@rchandraonline 5 жыл бұрын
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 жыл бұрын
Oh, those where the times. :-)
@Kirillissimus
@Kirillissimus 5 жыл бұрын
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. :-)
@PaulTheFox1988
@PaulTheFox1988 5 жыл бұрын
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.
@mrcturbor
@mrcturbor 5 жыл бұрын
My condolences to professor Brailsford. Losing a loved one is one of the hardest things in live. I wish you all the best.
@GeezRvonFart
@GeezRvonFart 4 жыл бұрын
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.
@KenHilton
@KenHilton 5 жыл бұрын
My condolences, professor. Thank you very much for explaining this in such great detail, I wish you the very best.
@Jojoxxr
@Jojoxxr 5 жыл бұрын
You’re an absolute legend, Professor. Love your lectures, very sad & sorry to learn about your loss.
@borisdorofeev5602
@borisdorofeev5602 5 жыл бұрын
Thank you for another great video. I am sorry to here about the Professors loss.
@BrendanGrainger
@BrendanGrainger 4 жыл бұрын
You are an absolute treasure for all you do Professor. I'm so sorry to hear of your wife's passing.
@insoft_uk
@insoft_uk 5 жыл бұрын
He was one of the best ones in these videos, easy to understand and follow.
@bernardo013
@bernardo013 5 жыл бұрын
Thinking of you today, Professor
@walterjorgemazzoni
@walterjorgemazzoni 4 жыл бұрын
Professor Brailsford, its a privilege to learn from your videos. Thankyou and kind regards from Argentina.
@JxH
@JxH 5 жыл бұрын
Oh dear. Deepest condolences Professor.
@egenethebest9107
@egenethebest9107 5 жыл бұрын
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!
@rty1955
@rty1955 5 жыл бұрын
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
@Aziqfajar
@Aziqfajar 4 жыл бұрын
I certainly liked the explanation in this video regardless of me being very confused about bootstrapping. My deep condolences to your loss, prof.
@merseyviking
@merseyviking 5 жыл бұрын
My deepest condolences Prof. Brailsford.
@drskelebone
@drskelebone 5 жыл бұрын
I can offer nothing more than my deepest sympathy and love, Pr. Brailsford.
@brabhamfreaman166
@brabhamfreaman166 4 жыл бұрын
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.
@Manava2012
@Manava2012 4 жыл бұрын
Its mind boggling.. my head is spinning. Hope to see a follow up on compilers and assembler
@TheBodgybrothers
@TheBodgybrothers 5 жыл бұрын
"Perfect output, first time, of cause" - what a beast of a man
@maycodes
@maycodes 2 жыл бұрын
My condolences, professor. Thanks for passing your knowledge
@SomeGuyInBrisVegas
@SomeGuyInBrisVegas 5 жыл бұрын
Condolences for your loss Professor.
@andljoy
@andljoy 5 жыл бұрын
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 жыл бұрын
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 Жыл бұрын
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).
@Fractal80Y
@Fractal80Y 4 жыл бұрын
Ah finally the best explanation and video i have found on this
@RockBottom45
@RockBottom45 18 күн бұрын
I love, how this room seems like out of the 70s xD And terrific content btw :)
@rojasbdm
@rojasbdm 5 жыл бұрын
I’m sorry about your loss.
@morkovija
@morkovija 5 жыл бұрын
Great video, sorry for your loss
@alpaslaneldemir6904
@alpaslaneldemir6904 5 жыл бұрын
My condolences Prof. Brailsford.
@jamildrareni4304
@jamildrareni4304 5 жыл бұрын
Sorry 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. :-)
@xakkep9000
@xakkep9000 5 жыл бұрын
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.
@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).
@CurtisDyer
@CurtisDyer 5 жыл бұрын
Thank you, Professor.
@guitarman13021
@guitarman13021 5 жыл бұрын
My condolences Dr Brailsford.
@AndersJackson
@AndersJackson 5 жыл бұрын
Sorry for your loss, Professor Brailsford.
@JulianOnions
@JulianOnions 5 жыл бұрын
So sorry to hear about Julia.
@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...
@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.
@scbtripwire
@scbtripwire 5 жыл бұрын
My condolences Professor Brailsford. :(
@raglanheuser1162
@raglanheuser1162 4 жыл бұрын
but who wrote the bin compiler? and what does quality mean?
@Pablo-Herrero
@Pablo-Herrero 5 жыл бұрын
What books, papers or other literature are available, where you can read more about this?
@unlokia
@unlokia 5 жыл бұрын
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 жыл бұрын
it is very quiet, you have to listen more closely.
@morrolinux
@morrolinux 5 жыл бұрын
I always wonder which program are you using for these cool VFX?
@roar779
@roar779 5 жыл бұрын
My condolences to the professor.
@ximalas
@ximalas 5 жыл бұрын
My condolences, Prof. Brailsford.
@RockClimberAlex
@RockClimberAlex 5 жыл бұрын
Oh jeez, I'm sorry for your loss professor.
@jan_wh1tey
@jan_wh1tey 5 жыл бұрын
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.
@michalkononenko9833
@michalkononenko9833 5 жыл бұрын
My condolences, Professor Brailsford.
@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.
@PlayTheMind
@PlayTheMind 5 жыл бұрын
They oddly look like *Tetris*-diagrams
@rentzepopoulos
@rentzepopoulos 5 жыл бұрын
My condolences to Prof. Brailsford...
@revooshnoj4078
@revooshnoj4078 5 жыл бұрын
R.I.P.
@tomcho8221
@tomcho8221 5 жыл бұрын
My condolences, Professor.
@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.
@dukereg
@dukereg 4 жыл бұрын
I hope there are videos coming on the Forth style of bootstrapping.
@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.
@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.
@comediehero
@comediehero 5 жыл бұрын
Thank you
@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?
@casperes0912
@casperes0912 5 жыл бұрын
My CS professor for programming languages used t-diagrams too.
@RaminHonary
@RaminHonary 5 жыл бұрын
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 жыл бұрын
This sounds much more interesting than it must've been to do.
@RaminHonary
@RaminHonary 5 жыл бұрын
@@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 жыл бұрын
i am shaking just by reading this
@Kapin05
@Kapin05 5 жыл бұрын
@@RaminHonary Huh. coolio. I don't have the patience for that myself, so that's kinda surprising to hear.
@toddblackmon
@toddblackmon 2 жыл бұрын
2:03 The marker has a on the end!
@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
@JoshuaHillerup
@JoshuaHillerup 5 жыл бұрын
How do you represent programs that aren't just a pure function with a t-diagram?
@Gooberpatrol66
@Gooberpatrol66 5 жыл бұрын
Professor Brailsford showing off his music collection
@AKorigami
@AKorigami 5 жыл бұрын
What is the cd with the duck?
@whiteeyedshadow8423
@whiteeyedshadow8423 5 жыл бұрын
my condlences proffesor brailsford...just learned about your loss
@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.
@andrewjknott
@andrewjknott 5 жыл бұрын
"Three attempts" (holds up four fingers).... "Three attempts!" (hold up 2 fingers).
@silkwesir1444
@silkwesir1444 5 жыл бұрын
at least the errors cancel each other out (the sum is 6, as expected)
@ximalas
@ximalas 5 жыл бұрын
The two hardest problems in CS is cache invalidation, the naming of things, and off-by-one errors.
@HighestRank
@HighestRank 5 жыл бұрын
ximalas CS is, as most know, the abbreviation for a game called ‘Counterstrike’.
@ximalas
@ximalas 5 жыл бұрын
@@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".
@jamesExiledLegends
@jamesExiledLegends 4 жыл бұрын
R.I.P. Mrs. Brailsford
@chrisbebek3192
@chrisbebek3192 5 жыл бұрын
Still has a stack of tractor feed paper. Badass.
@stevefrandsen7897
@stevefrandsen7897 Ай бұрын
My belated condolences
@cheaterman49
@cheaterman49 5 жыл бұрын
Wow, classy new glasses!
@AutoFirePad
@AutoFirePad 5 жыл бұрын
My condolences.
@maciej-36
@maciej-36 5 жыл бұрын
Soo how do you write the first assembler?
@sidazhou
@sidazhou 5 жыл бұрын
totally not confused
@diegonayalazo
@diegonayalazo 2 жыл бұрын
Thanks
@adulion
@adulion 4 жыл бұрын
i love how he uses dot matrix printer paper
@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!
@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?
@00Skyfox
@00Skyfox 5 жыл бұрын
What is that CD on his desk that has a cartoon duck on it?
@phoenix2464
@phoenix2464 5 жыл бұрын
9:50 does some have a link to this video ?
@SevenDeMagnus
@SevenDeMagnus 4 жыл бұрын
Cool
@micr0xchip0xverflow6
@micr0xchip0xverflow6 5 жыл бұрын
Great explanation, but I'm still confused.
@Boopadee
@Boopadee 5 жыл бұрын
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.
@jacobscrackers98
@jacobscrackers98 5 жыл бұрын
My condolences. Are there any more detailed resources for this stuff?
@ximalas
@ximalas 5 жыл бұрын
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.
Self Compiling Compilers - Computerphile
12:56
Computerphile
Рет қаралды 157 М.
'Accidental' CrossCompiler - Computerphile
15:13
Computerphile
Рет қаралды 109 М.
ПАРАЗИТОВ МНОГО, НО ОН ОДИН!❤❤❤
01:00
Chapitosiki
Рет қаралды 2,8 МЛН
ONE MORE SUBSCRIBER FOR 6 MILLION!
00:38
Horror Skunx
Рет қаралды 15 МЛН
The UNCOL Problem - Computerphile
11:42
Computerphile
Рет қаралды 78 М.
Assembly Language in 100 Seconds
2:44
Fireship
Рет қаралды 1,5 МЛН
Where did Bytes Come From? - Computerphile
11:31
Computerphile
Рет қаралды 474 М.
Regular Expressions - Computerphile
17:19
Computerphile
Рет қаралды 238 М.
do you know how "return" works under the hood? (are you SURE?)
5:08
Low Level Learning
Рет қаралды 346 М.
9. What Compilers Can and Cannot Do
1:18:46
MIT OpenCourseWare
Рет қаралды 74 М.
L Systems : Creating Plants from Simple Rules - Computerphile
15:16
Computerphile
Рет қаралды 44 М.
AES Explained (Advanced Encryption Standard) - Computerphile
14:14
Computerphile
Рет қаралды 1,2 МЛН