Peter Norvig on a 45-year-old article about a checkers-playing program
blogs.scientificamerican.com
blogs.scientificamerican.com
Tell you what, Ill make a deal: I'll keep writing if you keep reading. K?
Since you're here, what do you feel like is a bigger constraint for Google (or the worldwide technical economy) - software engineering discipline or computer science fundamentals? I understand that you work in research, but for a hugely profitable company, so you have the insight to give a good answer.
Good question. I think the engineering discipline part is much harder. I'm not sure that is because the problems really are harder: messier, ill-defined, changing over time; or whether it is that the academic community has focused on more well-defined formal/fundamental questions and mostly nailed them, so what we're left with is the harder messier stuff. Certainly it is easier for me to find someone to hire fresh out of college who has excellent CS fundamentals than to find someone with strong engineering discipline. And while my title included "Research", we all work very closely with Engineering.
His ability to find elegant solutions in the hardest looking problems, and communicate them so well that you feel it was so obvious that you should have found it immediately, is unparalleled.
This is not to dump on Norvig at all - he's smarter and more accomplished than I'll ever be, and between the popularity of his internet writings and his co-authored textbook being used in pretty much every undergraduate AI class taught in the past 20 years, he's certainly one of the most widely read computer scientists of all time; probably more people have read his work than ever read Turing's. I just want to push back a bit on the culture of idolization and hero worship that sometimes develops around popular scientists (see also: Feynman, though he did at least win a Nobel prize); it tends to blind people to the true depth of talent and knowledge that exists in the world.
Apparently a formal definition was finally written down in "CPL working papers", but this was never published. The only place I know which has a copy is the Bodleian library at Oxford:
http://www.nationalarchives.gov.uk/a2a/records.aspx?cat=161-...
It would be a good thing if someone (google?) were to scan this piece of computer history and put it on the web.
But fundamentally, he was the designer and major promoter of CPL.
Yes. Especially, please read "Warning Signs in Experimental Design and Interpretation"
http://norvig.com/experiment-design.html
before submitting to Hacker News a link to a press release or low-quality news report about a new research finding. This link is by far my favorite link to post in comments on HN, because the issues brought up in "Warning Signs in Experimental Design and Interpretation" come up over and over and over again in discussions of purported research findings.
There are four parts to this program:
(1) Strachey's checkers program in CPL:
OriginalCPLprogram is the original program, verbatim
ModifiedCPLprogram fixes a typo and two small conceptual problems
(2) A parser for the CPL language. This is encoded in the external
file 'cpl.g', which is then processed by yapps2.py to produce cpl.py,
which we then import, allowing us to use cpl.parse on ModifiedCPLprogram.
(3) Functions described but not implemented by Strachey (such as Null and Shift).
(4) Variable definitions and functions not listed by Strachey.
(5) Test cases.It's really inspired me to try and become someone who not only writes and creates brilliant things, but also helps to foster that same ability in the younger generation.
In other words: Wow. Amazing. From the 'I read old science magazines on the attic' start to the final 'Let's revive this program, build a translator to python, a test suite and check the result' - the article was an amazing read. Thanks a lot. More of that, please!
It's not hard to see that agile models are pretty closely related to Boehm's spiral model. The spiral model is (afaik) more general, with the agile models focusing more on specific processes/practices.
http://www.amazon.com/Software-Engineering-Practitioners-Rog...