Programming Links

  • faqs.org – a nice clearinghouse of specifications. Most useful: list of active (non-obsolete) Internet RFCs.
  • Borland’s Practical UML – a clean overview of the major UML diagrams, explaining what they mean and why they are useful
  • my Software Best Practices document – I’m not trying to toot my own horn, merely point out that I refer to (and update) this a fair bit to keep myself focused
  • Notepad++ – the best light-weight Windows-based open-source text editor I’ve found.
  • Jakob Nielsen’s useability site – sometimes useless, sometimes fantastic, but full of intriguing ideas about interface design
  • the Boost C++ libraries – auto pointers, weak references, algorithms, template meta-programming, it’s all here. Well-written, free, and a great open development process. These guys are tight with the C++ standards committee, so a lot of what is going into C++ TR1 came from the Boost library.
  • Recommended for any experienced C/C++ programmer:
    • Effective C++, by Scott Meyers – one of the few C++ books I’d recommend to everyone. 90% of the content is immediately useful, the descriptions are concise and readable, and brief examples are liberally interspersed among the text.
    • The Design and Evolution of C++, by Bjarne Stroustrup – a concise and technical description of how and why C++ was invented, evolved, and what the language’s creator has to say about it. It may not be immediately relevant to your immediate work, but will help you understand why C++ does what it does. Example quote: in real use, implicit conversion has sometimes proven tricky to use. However, providing the full set of mixed-mode operations isn’t pretty either. I would like a better solution, but of the solutions I know, implicit conversions is the least bad.
    • More Effective C++, by Scott Meyers – not as good as the first (and, unfortunately, usually more expensive), but still useful.

Have any useful links to suggest? Please post them in a comment.

Leave a Reply

Your email address will not be published. Required fields are marked *