Originally posted my Michael Feathers
computer programmer
edge programmer
how to become a programmer
I spent the majority of yesterday evening taking a shot at a paper I'm co-composing. It was one of those occasions when the written work came simple. I was moving from subject to theme, however then I understood that I was coming to too far in reverse – I was clarifying things which I shouldn't have needed to disclose to the gathering of people I was attempting to reach.
When I initially began keeping in touch with, one of the recommendations that I heard was that you ought to dependably envision that you are keeping in touch with a specific individual. It gets your juices going – you're naturally in an illustrative perspective and you realize what you can anticipate from your crowd. I was doing that, yet I saw that I was floating. I was losing my feeling of group of onlookers. I began to clarify a certain something, and afterward I understood that I would need to disclose another thing to help it bode well. I couldn't envision that individual any more. How might I know what they know and what they don't?
The issue I was encountering is just deteriorating. Individuals come into programming from a wide range of headings. Some began in different fields, and others began programming as high schoolers. Some began with BASIC, others began with Ruby or C. The business is loaded with learning, yet it isn't basic information. It isn't learning that we as a whole share. We need to burrow for it in light of an exceptional certainty about our industry: we rethink our dialects and documentations at regular intervals. It's elusive profoundly specialized books and articles which stand the trial of time in programming: they are all Latin inside 20 years.
Along these lines, I was considering this and doing whatever it takes not to get excessively sad. I understood that as opposed to whining, I could help by indicating a few papers which are effortlessly accessible on the web and which (to me in any event) indicate probably the most fascinating thoughts regarding programming. To me, these are great papers which contain profound "things you oughta know" about code – the material you work with.
We've taken an intriguing turn in the business in the course of recent years. We've come to esteem experiential adapting a great deal more, and we've recovered a solid commonsense concentration, however I think it would be a disgrace on the off chance that we dismissed a portion of the more profound things which individuals have learned in the course of recent years. Rediscovering them would be difficult, and (to me) not knowing them would be a disgrace.
Here's the first rundown. It's a somewhat individual rundown of foundational papers and papers with profound thoughts. I composed it "without any preparation" and tossed it into a tumblr blog a few days ago and I got reactions from individuals who recommended others. I'll include those in a later blog.
Most are anything but difficult to peruse however some are harsh going – they drop off into math after the initial few pages. Take the math to resistance and afterward proceed onward. The thoughts are the essential thing.
![]() |
| Papers that every programmer should read. |
edge programmer
how to become a programmer
I spent the majority of yesterday evening taking a shot at a paper I'm co-composing. It was one of those occasions when the written work came simple. I was moving from subject to theme, however then I understood that I was coming to too far in reverse – I was clarifying things which I shouldn't have needed to disclose to the gathering of people I was attempting to reach.
When I initially began keeping in touch with, one of the recommendations that I heard was that you ought to dependably envision that you are keeping in touch with a specific individual. It gets your juices going – you're naturally in an illustrative perspective and you realize what you can anticipate from your crowd. I was doing that, yet I saw that I was floating. I was losing my feeling of group of onlookers. I began to clarify a certain something, and afterward I understood that I would need to disclose another thing to help it bode well. I couldn't envision that individual any more. How might I know what they know and what they don't?
The issue I was encountering is just deteriorating. Individuals come into programming from a wide range of headings. Some began in different fields, and others began programming as high schoolers. Some began with BASIC, others began with Ruby or C. The business is loaded with learning, yet it isn't basic information. It isn't learning that we as a whole share. We need to burrow for it in light of an exceptional certainty about our industry: we rethink our dialects and documentations at regular intervals. It's elusive profoundly specialized books and articles which stand the trial of time in programming: they are all Latin inside 20 years.
Along these lines, I was considering this and doing whatever it takes not to get excessively sad. I understood that as opposed to whining, I could help by indicating a few papers which are effortlessly accessible on the web and which (to me in any event) indicate probably the most fascinating thoughts regarding programming. To me, these are great papers which contain profound "things you oughta know" about code – the material you work with.
We've taken an intriguing turn in the business in the course of recent years. We've come to esteem experiential adapting a great deal more, and we've recovered a solid commonsense concentration, however I think it would be a disgrace on the off chance that we dismissed a portion of the more profound things which individuals have learned in the course of recent years. Rediscovering them would be difficult, and (to me) not knowing them would be a disgrace.
Here's the first rundown. It's a somewhat individual rundown of foundational papers and papers with profound thoughts. I composed it "without any preparation" and tossed it into a tumblr blog a few days ago and I got reactions from individuals who recommended others. I'll include those in a later blog.
Most are anything but difficult to peruse however some are harsh going – they drop off into math after the initial few pages. Take the math to resistance and afterward proceed onward. The thoughts are the essential thing.
- On the criteria to be used in decomposing systems into modules – David Parnas
- A Note On Distributed Computing – Jim Waldo, Geoff Wyant, Ann Wollrath, Sam Kendall
- The Next 700 Programming Languages – P. J. Landin
- Can Programming Be Liberated from the von Neumann Style? – John Backus
- Reflections on Trusting Trust – Ken Thompson
- Lisp: Good News, Bad News, How to Win Big – Richard Gabriel
- An experimental evaluation of the assumption of independence in multiversion programming – John Knight and Nancy Leveson
- Arguments and Results – James Noble
- A Laboratory For Teaching Object-Oriented Thinking – Kent Beck, Ward Cunningham
- Programming as an Experience: the inspiration for Self – David Ungar, Randall B. Smith
