The Hashtag Square January 6, Briefly about Mutation Testing February 14, The dead singleton and three ways to overcome it September 4, The Three Laws of Objects January 8, Class initialization and nasty cores April 11, It's not your job! September 5, Sane office environment with code review guidelines March 28, Coders at work: Donald Knuth March 9, Code Ahead by Yegor Bugayenko March 6, CodinGame at Amadeus September 29, How I got my nicest pair of pens November 15, RivieraDev - the gastronomical dev conference July 16, I made my first open source contribution June 27, Naming conventions for interfaces in Java July 18, Cypher tutorial: Relationships with a varying length December 6, The power of the three August 1, My first Flutter app September 12, Upcoming coding dojo about graph databases September 15, Horror with Maven - dependency management vs dependencies June 20, Programming on rails: Railway Oriented Programming!
September 27, Why clean code is not the norm? August 28, It's - not - so easy May 22, Production code as a playground?
- Metaplasticity in Virtual Worlds: Aesthetics and Semantic Concepts.
- Reflections on the Craft of Programming?
- Moral Fire : Musical Portraits from Americas Fin de Siècle.
But I didn't stick to Scheme ant it was because of the rushing. I had too little time to actually think through some of the consequences of things I was doing. I was economizing on the number of objects that I was going to have to implement in the browser. So I made the global object be the window object, which is a source of unknown new name bindings and makes it impossible to make judgments about free variables. So that was regrettable.
Seibel: Did you ever consider making a language more closely related to Java -- take Java and make some kind of simple subset; get rid of the primitive types and other needless complexities? Eich: There was some pressure from management to make the syntax look like Java. There was also some pressure to make it not too big, because after all, people should use Java if they're doing any real programming; this is just Java's dumb little brother. Seibel: How do you decide when it's right to do a big rewrite?
Thanks to Joel Spolsky, Netscape is in some ways the poster child for the dangers of the big rewrite. Eich: There was an imperative from Netscape to make the acquisition that waved the Design Patterns book around feel like they were winners by using their new rendering engine, which was like My First Object-Oriented Rendering Engine. But it had a lot of problems. Eich: I used to start top-down. If it's big enough you get function pointers and control flow gets opaque.
I sometimes drive it in the debugger and play around with it that way. Also, I look for bottom-up pattern that I recognize. If it's a language processor or if it's got something that makes system calls that I understand, I can start looking at how those primitives are used.
How does that get used by higher levels in the system? And that helps me get around. But really understanding it is this gestalt process that involves looking at different angles of top and bottom and different views of it, playing in the debugger , stepping through in the debugger - incredibly tedious though that can be.
If you can understand what's going on a little bit in the heap - chase pointers, walk through cons cells, whatever - that can be worth the trouble though it gets tedious. That, to me, is as important as reading source.
- Domains in Ferroic Crystals and Thin Films.
- Join our DEV Community :).
- Monrovia Mon Amour: A Visit to Liberia?
- The Beginning... The End... Anew!!
- Coders at Work: Reflections on the Craft of Programming.
- Britain’s War in the Middle East: Strategy and Diplomacy, 1936–42!
- Gothic-postmodernism: Voicing the Terrors of Postmodernity (Postmodern Studies, Volume 43)?
You can get a long way reading source; you can also get stuck and get bored and convince yourself you understand something that you don't. I did step through it in the debugger, as well as read the code. And that gave me ideas; the implementation I did was similar. In this case recursive backtracking nature of them was a little novel, so that I had to wrap my head around.
coders at work | Tumblr
It did help to just debug simple regular expressions, just to trace the execution. I know other programmers talk about this: you should step through code, you should understand what the dynamic state of the program looks like in various quick bird's-eye view or sanity checks, and I agree with that. Crockford: The approach I've taken now is to do a code reading.
I invite the candicate to bring in a piece of code he's really proud of and walk us through it. Crockford: I'm looking for quality of presentation. I want to see what he thinks is something he's proud of. I want to see evidence that in fact he is the author of the thing that he's defending. I find that is much more effective than asking them to solve puzzles or trivia questions. I see all that kind of stuff as useless. But how effectively they can communicative, that's a skill that I'm hiring for.
Are you the kind of person who read it cover to cover, who dips into it for reference, or who put it on the shelf and never looked at it? Crockford: All except the last one. When I was in college, there were a couple of months where I didn't pay rent in order to buy copies of his books. I have not been able to make sense out of all of it. There are places where he goes really a lot deeper than I can go, but I enjoy the books a lot, and I've also used them as reference books. Seibel: Did you literally read them cover to cover, skimming over the math that you couldn't understand?
Crockford: Yeah, the part when there are too many stars, I would read it very quickly. I tried to make familiartiy with Knuth a hiring criteria, and I was disappointed that I couldn't find enough people that had read him. In my view, anybody who calls himself a professional programmer should have read Knuth's book or at least should have copies of his books. Seibel: To read Knuth, it seems to me, you have to be able to read the math and understand it. To what extent do you think having that kind of mathematical training is necessarily to be a programmer?
Crockford: Obviously it's not, because most of them don't have it.
In the sorts of applications that I'm working on, we don't see that much application of the particular tools that Knuth gives us. If we were writing operating systems or writing runtimes, it'd be much more critical. But we're doing form validations and UIs. Generally performance is not that important in the things that we do.
Be the first to like this. No Downloads. Views Total views. Actions Shares. Embeds 0 No embeds.
C++ in Coders at Work
No notes for slide. Description this book Peter Seibel interviews 15 of the most interesting computer programmers alive today in Coders at Work, offering a brand-new companion volume to Apress s highly acclaimed best-seller Founders at Work by Jessica Livingston. If you want to download this book, click link in the last page 5. You just clipped your first slide! Clipping is a handy way to collect important slides you want to go back to later. Now customize the name of a clipboard to store your clips. Visibility Others can see my Clipboard.
Related Coders at Work
Copyright 2019 - All Right Reserved