Forgot your password?
typodupeerror
Programming

Ask Slashdot: What Should Every Programmer Read? 352

Posted by Soulskill
from the green-eggs-and-dereferenced-pointers dept.
An anonymous reader writes "There's a blog post floating around right now listing articles every programmer should read. I'm curious what articles, books, etc., Slashdot readers would add to this list. Should The Art of Computer Programming, Design Patterns, or Structure and Interpretation of Computer Programs be on the list? What about The Mythical Man-Month, or similar works that are about concepts relating to programming? Is there any code that every programmer should take a look at? Obviously, the nature of this question precludes articles about the nitty-gritty of particular languages, but I'm sure a lot of people would be interested in those, too. So if you can think of a few articles that every C++ programmer (or Perl, or Haskell, or whatever) should know, post those too."
This discussion has been archived. No new comments can be posted.

Ask Slashdot: What Should Every Programmer Read?

Comments Filter:
  • The Joy of C (Score:4, Insightful)

    by Anonymous Coward on Wednesday May 14, 2014 @06:14PM (#47004117)
    It's rather out of date but "The Joy of C" was my first programming book and I attest its style to easing me in to the development mindset.
  • by Troy Baer (1395) on Wednesday May 14, 2014 @06:19PM (#47004185) Homepage

    ...you don't get to call yourself a "software engineer" or talk about others' software engineering practices.

  • by Anonymous Coward on Wednesday May 14, 2014 @06:23PM (#47004209)

    They're there for a reason.

  • K&R (Score:4, Insightful)

    by ericloewe (2129490) on Wednesday May 14, 2014 @06:24PM (#47004215)

    The C Programming Language, so they learn how to properly document their work.

  • by gweihir (88907) on Wednesday May 14, 2014 @06:24PM (#47004217)

    Paradigms, styles, approaches are different. There is no "central" body of things that can capture this. Even absolute classics like "Goto considered harmful" can be misleading and counter-productive to read unless the reader can supply the right context. That said, every programmer should always work to understand his or her craft better and broaden their view. That includes reading about insights other people have had into the process.

  • Dilbert. (Score:4, Insightful)

    by Anonymous Coward on Wednesday May 14, 2014 @06:25PM (#47004243)

    Dilbert.

  • by bugnuts (94678) on Wednesday May 14, 2014 @06:30PM (#47004299) Journal

    I'm gazing across my bookshelf full of O Reilly books, Knuth's series, TCP/IP Illustrated, and others... but the most important books are more mundane:

    Godel Escher Bach: an Eternal Golden Braid, and Alice in Wonderland

    Both of these books encompass the thinking and mindset which will make you a better programmer by planting the seed of logic, states, and recursion, and nourishing the hell out of it. It will massage the pathways to make someone actually want to be a programmer.

  • Re:Books to read (Score:5, Insightful)

    by AuMatar (183847) on Wednesday May 14, 2014 @06:37PM (#47004379)

    The problem with that book is that too many people read it the wrong way. Instead of using it as a language to describe design, they attempt to find ways to force their code into patterns or to add patterns because they think they should use them. The result is worse code than if they had never read it. This is especially true of those who read the book before they've seen enough code to understand design. It should be read, but only at the proper time and in the proper way.

  • It's simple (Score:4, Insightful)

    by viperidaenz (2515578) on Wednesday May 14, 2014 @06:39PM (#47004399)

    code.

  • by roc97007 (608802) on Wednesday May 14, 2014 @06:40PM (#47004413) Journal

    "The best book on programming for the layman is Alice in Wonderland, but that's because it's the best book on anything for the layman."

            - Alan Perlis, "Epigrams on Programming", ACM SIGPLAN Notices 17 (9), September 1982, pp. 7–13

  • Answer to title (Score:4, Insightful)

    by O('_')O_Bush (1162487) on Wednesday May 14, 2014 @06:47PM (#47004465)
    Code. Lots and lots of code. Code from diverse sources, understanding the problems, understanding the solutions. Programming books/articles offer nice ideas, philosophies, anecdotes, whatever, but nothing will improve programming skill more than experience. Reading code, IMO, and at least for me, increases that experience much more than writing it or reading the meta about programming.
  • Re:This (Score:2, Insightful)

    by Anonymous Coward on Wednesday May 14, 2014 @06:56PM (#47004517)

    I'm sure I'm not alone. This type of "article" seems to come up every other week.

    What is a good read about programming?
    If I want to get into programming, which language should I start with?
    If I want to get my child into programming, where should I start?
    Should schools push teaching programming?
    Can I get a programming job with two semesters of classes done?
    I've programmed for my whole life, can I learn a new language?

    Isn't the rule of thumb for answers to headline questions to be "No"?

    Seriously. Make a roulette wheel, spin it, then type the language it falls on followed by "tutorial" into google and start following directions.

  • Dale Carnegie (Score:4, Insightful)

    by russotto (537200) on Wednesday May 14, 2014 @07:04PM (#47004593) Journal

    "How to Win Friends and Influence People". Not for the advice; as a geek type you'll likely never be able to pull it off anyway. But in the spirit of knowing thy enemy; when the sales and marketing and pointy-haired businessmen try to manipulate you, you'll recognize the techniques and be able to put a source to them.

  • by NemoinSpace (1118137) on Wednesday May 14, 2014 @07:34PM (#47004803) Homepage Journal
    After a year i go back and realize what a horrible programmer i am. It happens every year. But i'm getting better. I also spend a lot of time reading other people's code. I've found that if you are writing "new" code you haven't already seen in action, you just might wind up killing somone someday.
  • 7 habits of highly effective people.
    Never Eat alone
    EMotional Intellegence 2.0
    The Five Dysfunctions of a Team

    What, were you thinking of programming books? bah, mostly worhtless for your career.
    Understanding people? that is how you make it.

    I used to be all about the programming books. I write solid, clean code. I use small methods, functions., etc. I wrote some really good code, did some amazing things with very limited memory.
    None of that gets you dick in the long run.

    Career and business wise, understanding how to deal with people, and how a good team works is the way to get ahead.

    If I had read those books when I was twenty, I would have retired by 45. Instead I work endless hours to craft some high quality code when I could have written something mediocre and gone home on time.
    Seriously no one would know or care.

  • In other words... (Score:5, Insightful)

    by SuperKendall (25149) on Wednesday May 14, 2014 @09:21PM (#47005447)

    Nonsense. The Mythical Man-Month is mostly about team-building, project management and a bit about software architecture

    In other words the mix of work for a programmer of every company I have been at.

    You think you came to write code? Ha Ha! Let me acquaint you with Mr Process.

  • by Anonymous Coward on Wednesday May 14, 2014 @10:07PM (#47005683)

    Yeah, it's the Bible of software engineering: everyone quotes it, but no one has read it.

  • Re:Dale Carnegie (Score:3, Insightful)

    by clockwise_music (594832) on Wednesday May 14, 2014 @10:48PM (#47005915) Homepage Journal
    ...when the sales and marketing and pointy-haired businessmen try to manipulate you

    You have entirely missed the point of the book. It is not about manipulation. It's about being genuine and being persuasive. They are different things.

    I definitely agree that it is good to know when and how someone is trying to persuade you something, and it's a very valuable skill to increase your communication skills.

    "as a geek type you'll likely never be able to pull it off anyway"

    Resigning yourself to having bad communication is not helpful - it is possible to vastly improve your communication skills, you can do it and you should learn how.
  • by NotSoHeavyD3 (1400425) on Wednesday May 14, 2014 @11:29PM (#47006109)
    Mostly so if you ever go into management you'll have a clue, unlike the vast majority of managers. (Unfortunately after reading it you see just how much stupid stuff management does.)
  • by simishag (744368) on Thursday May 15, 2014 @12:55AM (#47006415)

    Applied Cryptography by Bruce Schneier. Really any and all of his books.

It is impossible to enjoy idling thoroughly unless one has plenty of work to do. -- Jerome Klapka Jerome

Working...