Building a Library

Building a Library

We're big on reading. As we noted in Your Knowledge Portfolio, a good programmer is always learning. Keeping current with books and periodicals can help. Here are some that we like.

Periodicals

If you're like us, you'll save old magazines and periodicals until they're piled high enough to turn the bottom ones to flat sheets of diamond. This means it's worth being fairly selective. Here are a few periodicals we read.

  • IEEE Computer.   Sent to members of the IEEE Computer Society, Computer has a practical focus but is not afraid of theory. Some issues are oriented around a theme, while others are simply collections of interesting articles. This magazine has a good signal-to-noise ratio.

  • IEEE Software.   This is another great bimonthly publication of the IEEE Computer Society aimed at software practitioners .

  • Communications of the ACM.   The basic magazine received by all members of the ACM, CACM has been a standard in the industry for decades, and has probably published more seminal articles than any other source.

  • SIGPLAN.   Produced by the ACM Special Interest Group on Programming Languages, SIGPLAN is an optional addition to your ACM membership. It is often used for publishing language specifications, along with articles of interest to everyone who likes looking deeply into programming.

  • Dr. Dobbs Journal.   A monthly magazine, available by subscription and on newsstands, Dr. Dobbs is quirky, but has articles ranging from bit-level practice to heavy theory.

  • The Perl Journal.   If you like Perl, you should probably subscribe to The Perl Journal (www.tpj.com).

  • Software Development Magazine.   A monthly magazine focusing on general issues of project management and software development.

Weekly Trade Papers

There are several weekly newspapers published for developers and their managers. These papers are largely a collection of company press releases, redressed as articles. However, the content is still valuable it lets you track what is going on, keep abreast of new product announcements, and follow industry alliances as they are forged and broken. Don't expect a lot of in-depth technical coverage, though.

Books

Computing books can be expensive, but choose carefully and they're a worthwhile investment. Here are a handful of the many we like.

Analysis and Design

  • Object-Oriented Software Construction, 2nd Edition.   Bertrand Meyer's epic book on the fundamentals of object-oriented development, all in about 1,300 pages [Mey97b].

  • Design Patterns.   A design pattern describes a way to solve a particular class of problems at a higher level than a programming language idiom. This now-classic book [GHJV95] by the Gang of Four describes 23 basic design patterns, including Proxy, Visitor, and Singleton.

  • Analysis Patterns.   A treasure trove of high-level, architectural patterns taken from a wide variety of real-world projects and distilled in book form. A relatively quick way to gain the insight of many years of modeling experience [Fow96].

Teams and Projects

  • The Mythical Man Month.   Fred Brooks' classic on the perils of organizing project teams, recently updated [Bro95].

  • Dynamics of Software Development.   A series of short essays on building software in large teams, focusing on the dynamics between team members, and between the team and the rest of the world [McC95].

  • Surviving Object-Oriented Projects: A Manager's Guide.   Alistair Cockburn's " reports from the trenches" illustrate many of the perils and pitfalls of managing an OO project especially your first one. Mr. Cockburn provides tips and techniques to get you through the most common problems [Coc97b].

Specific Environments

  • Unix.   W. Richard Stevens has several excellent books including Advanced Programming in the Unix Environment and the Unix Network Programming books [Ste92, Ste98, Ste99].

  • Windows.   Marshall Brain's Win32 System Services [Bra95] is a concise reference to the low-level APIs. Charles Petzold's Programming Windows [Pet98] is the bible of Windows GUI development.

  • C++.   As soon as you find yourself on a C++ project, run, don't walk, to the bookstore and get Scott Meyer's Effective C++, and possibly More Effective C++ [Mey97a, Mey96]. For building systems of any appreciable size , you need John Lakos' Large-Scale C++ Software Design [Lak96]. For advanced techniques, turn to Jim Coplien's Advanced C++ Programming Styles and Idioms [Cop92],

In addition, the O'Reilly Nutshell series (www.ora.com) gives quick, comprehensive treatments of miscellaneous topics and languages such as perl, yacc, sendmail, Windows internals, and regular expressions.

The Web

Finding good content on the Web is hard. Here are several links that we check at least once a week.

  • Slashdot.   Billed as "News for nerds. Stuff that matters," Slashdot is one of the net homes of the Linux community. As well as regular updates on Linux news, the site offers information on technologies that are cool and issues that affect developers.

    www.slashdot.org

  • Cetus Links.   Thousands of links on object-oriented topics.

    www.cetus-links.org

  • WikiWikiWeb.   The Portland Pattern Repository and patterns discussion. Not just a great resource, the WikiWikiWeb site is an interesting experiment in collective editing of ideas.

    www.c2.com



The Pragmatic Programmer(c) From Journeyman to Master
The Pragmatic Programmer: From Journeyman to Master
ISBN: 020161622X
EAN: 2147483647
Year: 2005
Pages: 81

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net