Re:Papers Every Programmer Should Read
by marksutherland on Friday February 27, 2009 @04:43AM
(#497059)
I'm surprised he didn't add Fred Brooks's "No Silver Bullet". It and the essays in "The Mythical Man Month" should really be required reading for anyone working on large projects, imho.
The ideas present - which are much more craftsmanlike than an academic paper - are easy to absorb by skimming, and they're still relevant even after 20 years of research/fashion trends in programming.
Plus Forth itself is, in a lot of ways, the living embodiment of the YAGNI principle, which can make it look uncomfortably-to-incomprehensibly spartan to outsiders.
Re:Papers Every Programmer Should Read
by mechanical_fish on Friday February 27, 2009 @09:15AM
(#497201)
Thanks for the recommendation. I had never heard of Forth, except as a buzzword, until I heard a local hacker give a short explanation of Factor, which is largely inspired by Forth:
I played with the demo a bit. It's very interesting. Even in the first few minutes you can sense the potential power of its super-spartan stack-based syntax, though if you're the kind of person who hates Lisp because it doesn't have the C syntax your head will probably explode at the sight of Factor or Forth.
Re:Papers Every Programmer Should Read
by dottedmag on Friday February 27, 2009 @02:20AM
(#496977)
The "common knowledge" of the IT industry is not a some language or notations, but a logic (not a common logic, but a science) and mathematics.
While considered as "abstract" and "having nothing to do with reality", /proper/ branches of mathematics capture many aspects of programming, so new languages/technologies/whatewer are not perceived as a "reinventing the Foo from the last century", but as a "another appilcation of Bar from the Baz field", which is much more fruitful comparison, due to depth of the mathematics itself.
Re:Papers Every Programmer Should Read
by nadim on Friday February 27, 2009 @03:31PM
(#497622)
There are a lot of upvotes to this post, however not a lot of discussion on the papers mentioned. I am curious how many have read these papers, and the value they provide. Reading all of these seems like a time investment and I am trying to gauge it's worth.
Re:Papers Every Programmer Should Read
by jdale27 on Friday February 27, 2009 @04:37PM
(#497697)
I'll be honest: I've only read two of these, the papers by Thompson and by Gabriel. These were both fairly quick reads, if I recall correctly. Another three, those by Parnas, by Landin, and by Backus, have been on my "to read" list for a long time.
I read "Reflections on Trusting Trust" several years ago, and recall that it seemed clever, but not especially deep. It probably wouldn't make my top 10 list, if I had one. Then again, I'm not really a systems guy, so it may just be personal bias.
On the hand, I'm a Lisper, and so Gabriel's paper, colloquially known as the "Worse is Better" paper, is a must read. I do agree that it's worthwhile reading for programmers at large. If you enjoy it, I also highly recommend Gabriel's book "Patterns of Software" (available in PDF from his website). (Note: although this book does have something to do with the "patterns movement", Gabriel is pretty much a contrarian to the what you might call the "Gang of Four" school, so don't let any preconceptions you might have about their book and its reception put you off Gabriel's writings.)
http://www.virtualschool.edu/mon/SoftwareEngineering/BrooksN... http://en.wikipedia.org/wiki/The_Mythical_Man-Month
http://www.cs.virginia.edu/~evans/cs655/readings/steele.pdf
http://thinking-forth.sourceforge.net/
The ideas present - which are much more craftsmanlike than an academic paper - are easy to absorb by skimming, and they're still relevant even after 20 years of research/fashion trends in programming.
Plus Forth itself is, in a lot of ways, the living embodiment of the YAGNI principle, which can make it look uncomfortably-to-incomprehensibly spartan to outsiders.
http://factorcode.org/
I played with the demo a bit. It's very interesting. Even in the first few minutes you can sense the potential power of its super-spartan stack-based syntax, though if you're the kind of person who hates Lisp because it doesn't have the C syntax your head will probably explode at the sight of Factor or Forth.
pdf: http://www.ece.cmu.edu/~ganger/712.fall02/papers/p761-thomps...
html: http://cm.bell-labs.com/who/ken/trust.html
While considered as "abstract" and "having nothing to do with reality", /proper/ branches of mathematics capture many aspects of programming, so new languages/technologies/whatewer are not perceived as a "reinventing the Foo from the last century", but as a "another appilcation of Bar from the Baz field", which is much more fruitful comparison, due to depth of the mathematics itself.
I read "Reflections on Trusting Trust" several years ago, and recall that it seemed clever, but not especially deep. It probably wouldn't make my top 10 list, if I had one. Then again, I'm not really a systems guy, so it may just be personal bias.
On the hand, I'm a Lisper, and so Gabriel's paper, colloquially known as the "Worse is Better" paper, is a must read. I do agree that it's worthwhile reading for programmers at large. If you enjoy it, I also highly recommend Gabriel's book "Patterns of Software" (available in PDF from his website). (Note: although this book does have something to do with the "patterns movement", Gabriel is pretty much a contrarian to the what you might call the "Gang of Four" school, so don't let any preconceptions you might have about their book and its reception put you off Gabriel's writings.)
(more good stuff at: http://people.redhat.com/~drepper/)
http://www.amazon.com/Selected-Computer-Science-Language-Inf...