Stan, Dykstra, TAI discussed on The Changelog
If you want to become an author I would suggest just one of the things that you do from like age full lease you read yeah and you read a new read and that I think is incredibly important to the ability to write. You know you see you see tricks. You see you know the more you read. The more you understand how people are organizing their thoughts on paper and everything else now. I'm not talking about developers reading books here under developed was reading coat and trying you read a variety of code so they go back and they look at <hes> code written in different languages and try to work out. You know how that works why that works. What is it work the way it works so I would like to see the the idea of <hes> teaching tied into this idea of learning how people did things in the past reading their code and then discussing okay? Why did that happen gives you a good example widest C.? Plus plus have the pre and post increment operators plus plus and minus minus right. Well yeah the reason and it's it's kind of weird right the fact you can write <unk> Equal Star C. P. Plus plus which takes a character point two d references it to return the character and then increments by one right well the reason is that the machines and bell labs the repeated peas ps and the P._d._p.. Has Seven different addressing modes one of the well to them our pre and post increment addressed you reference and so that maps directly onto the hardware and it's like Oh okay so that's why it's there now the then you can ask yourself okay. Is that something I really need to think about going forward. Do I need that online or is it just a convenience that happened to be there. You know same with Goto considered harmful. You have to understand Stan. I mean people will go to considered harmful. An entire languages have been written without Goto based on the title of that paper but the title that paper actually wasn't the title of that paper. It was a letter written to see see him. The original title it was something totally different and the editors changed it to go to considered harmful because it was like more sexy as a title Click Beatty Click Beatty. That's the word you want. The actual context goto considered harmful as <unk> as a letter is actually to program proving the fact that if you have a goto statement is really really hard to write a proofs of programs and back then the idea was that we should be able to mathematically prove opera uh-huh correct there were people spend their careers working on program proving now we still have that in some very very strict domains light logic design <hes> but that is no longer relevant to us and and yet we still carry around you know all of these things that we've received based on headlines go to considered harmful oestre increment and don't really know why we do it. Here's one that I learned globals are evil. Global Variables tables are evil. I learned that in college by Denver never it's almost like it's a cargo cult. I never learned why is just like a maximum. This is Tai you should you should read a book. We have a whole section on. Let me get back to that for a second talking talking about the the go-to in these old old letters and old articles in old addresses we pick up sort of the wrong ones right we capitalized on Goto considered harmful and made a thing out of that but what about <hes> was was it Dykstra who had the the Turing Award lecture about the very humble programmer now is a that is a critical piece of early literature and you talk about things that haven't changed this was nineteen seventy seventy two somebody can google it while rambling <hes> and he makes very important point that complexity will overwhelm us if we don't take a very humble very measured approach and it's been thirty forty years and everyone everyone present company included has ignored this wonderful advice..