Комментарии:
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.
ОтветитьWatched this for 15 minutes still have no idea how this works 😢
Ответитьwait, so its just compilers all the way down ?
always has been..
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).
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.
i dont understand this at all
ОтветитьThanks
Ответитьit looks like a tower defense game:)
ОтветитьMy condolences, professor. Thanks for passing your knowledge
ОтветитьI was trying to wrap my mind around what you were saying as I was mixing up compost for my garden. :-)
ОтветитьCool
Ответитьi love how he uses dot matrix printer paper
ОтветитьI certainly liked the explanation in this video regardless of me being very confused about bootstrapping. My deep condolences to your loss, prof.
Ответить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.
I'm going to start calling my output "core images" next commit.
Ответить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.
ОтветитьYou are an absolute treasure for all you do Professor. I'm so sorry to hear of your wife's passing.
ОтветитьI hope there are videos coming on the Forth style of bootstrapping.
ОтветитьThis is the perfect curmudgeon I sincerely hope to become some day. What clarity! Wow!
Ответитьbut who wrote the bin compiler?
and what does quality mean?
Ah finally the best explanation and video i have found on this
ОтветитьR.I.P. Mrs. Brailsford
ОтветитьIts mind boggling.. my head is spinning. Hope to see a follow up on compilers and assembler
ОтветитьProfessor Brailsford, its a privilege to learn from your videos. Thankyou and kind regards from Argentina.
Ответить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.
Ответить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.
ОтветитьSorry for your loss Professor.
Ответить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.
Español
ОтветитьI think this is a needlessly over-complicated way of explaining bootstrapping.
ОтветитьBrain = "hurt"
ОтветитьWhat is that CD on his desk that has a cartoon duck on it?
Ответить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.
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.
My condolences, Professor.
ОтветитьGreat video, sorry for your loss
Ответить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.
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?
ОтветитьYou’re an absolute legend, Professor. Love your lectures, very sad & sorry to learn about your loss.
Ответить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.
ОтветитьWhat a blessing he was. He knew so much.
Ответить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
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.
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.