Site Contents

Intro & News

Development

Miscellaneous

Projects


Developer Links

This page contains links to reference information, articles, libraries, and sample code on all kinds of programming subjects. Please see Developer Books for book reviews and Developer Tools for free and commercial software.

  • The American National Standards Institute (ANSI) is no longer the sole maintainer of standards on programming languages (the standards are now officially set by ISO in Switzerland) but it’s the best place to get language standards online. Downloadable PDF versions of the current C99 (document 9899-1999) and C++ (document 14882-2003) standards can be bought for a measly $30 apiece, as opposed to the CHF 342–370 that ISO demands for the exact same documents! People with too much money can get the overpriced editions from ANSI, too: just use 9899:1999 and 14882:2003 as the document numbers (note the use of colons instead of hyphens).
  • The Art of Assembly Language teaches the ins and outs of an almost forgotten programming language, including Win32 programming in assembler. Also check out Steve Gibson’s Windows in Assembler page, and the MASM download links on the Microsoft Links page.
  • CodeProject is mostly a huge mess of unedited contributions of dubious quality. Three articles by Wesner Moise stand out: Arrays Undocumented, Pointers Undocumented, and Strings Undocumented describe the inner workings and the run-time performance of these fundamental data types in amazing detail.
  • The developer.* magazine hosts a fascinating essay by Jack W. Reeves, Code as Design. The original 1992 essay was either ignored or misunderstood, so Reeves attempted to clarify his views again in 2005. Both articles and Reeves’ original letter are available as a single PDF download, and I encourage every developer to read them.
  • The European Computer Manufacturers Association (ECMA) in Switzerland maintains the standards for the Microsoft .NET Framework 2.0 and other programming languages and APIs. All documents are available as free downloads in Adobe PDF format. Here are some interesting picks:
  • Floating point arithmetic continues to befuddle unwary programmers. Lahey Computer Systems hosts a concise yet comprehensive introductory essay by Bruce M. Bush, entitled The Perils of Floating Point. A much longer and very detailed treatise is available as a part of Sun Microsystems’ Numerical Computation Guide, namely What Every Computer Scientist Should Know About Floating-Point Arithmetic by David Goldberg. – Fortran programmers should also check out Lahey’s Fortran Resources page.
  • The MVP Help Technology Centre and The Helpware Group each provide a large repository of tools and information for the various Microsoft Windows help file formats, including the current HTML Help technology.
  • HTML Help by the Web Design Group (WDG) is unrelated to Microsoft’s eponymous help file format. The site offers tips & tutorials, reference documents, and free tools for website authors, including the WDG HTML Validator that can process individual pages or an entire site.
  • InstallSite covers the world of Windows installers, ranging from product reviews to discussion forums and usage tips.
  • Intel’s Processor Manuals are available for free download as PDF documents, including a three-volume reference to the Intel 64 and IA-32 architectures with a complete instruction set reference and optimization hints.
  • The Open Source Initiative (OSI) offers a lot of propaganda material for their cause, but also the text of many open source licenses, including (L)GPL, BSD, and MIT. Pick one you like for your own software distribution!
  • Fortran specialist Polyhedron maintains a comparison database covering Fortran compilers for Windows and Linux. Language support, diagnostic capabilities, third-party support, and execution benchmarks for all available compilers are listed. Make sure to check this site when you’re thinking about purchasing a Fortran compiler.
  • Portable Network Graphics (PNG) is a universal graphics file format based on the royalty-free LZ77 compression algorithm (also used in ZIP), which is why it can offer excellent compression rates (unlike RLE-based formats such as PCX) without requiring licensing payments (like LZW-based formats such as GIF). PNG supports any color depth known to man and is by no means restricted to “networks”. The official website offers not only complete, up-to-date format specifications but also free developer libraries (in C) to read and write PNG files.
  • Random number generation can be a problem when the generated numbers aren’t quite so random after all. If you are using a generator with a small native range, such as Microsoft’s C/C++ rand() library function, your range projection method could be the culprit. The usual modulo and division methods are both guaranteed to miss or over-emphasize many values for certain target ranges.
  • C# MVP Jon Skeet has published a large number of valuable articles on potentially thorny .NET issues, from floating-point arithmetic and Unicode handling to type constructors and parameter passing. More articles can be found on the companion website for his recent (and excellent) book, C# in Depth.
  • The Standard Generalized Markup Language (SGML) is the ancestor of today’s popular markup languages, such as HTML and XML. Conceived before the Internet and finalized as ISO 8879:1986, SGML does not have a “home page”; the above page is retained by XML Cover Pages as a historical archive.
  • Unicode is the home page of the eponymous character code standard. Available resources include downloadable PDF code charts, the offline Unibook character browser, and an extensive FAQ collection. – Also check out Jon Skeet’s Unicode and .NET tutorial.
  • The World Wide Web Consortium (W3C) maintains most recent markup language standards, including CSS, HTML, XML, XSD, XSL, and so on. They also provide a very useful Markup Validation Service and a Link Checker for HTML and XHTML documents.
  • Wotsit.org: The Programmer’s File and Data Format Resource hosts snippets of unedited information on a myriad of file format specifications. No guarantees are made but it’s worth a try if you’re confronted with an obscure piece of data.

This page was last updated on 21 June 2008.
Current version available at http://www.kynosarges.de