Articles tagged C++

  1. Hiding iterator boilerplate behind a Boost facade
  2. Binary search revisited
  3. Binary search returns … ?
  4. Next permutation: When C++ gets it right. An investigation into a classic algorithm for generating the distinct permutations of a sequence in lexicographical order.
  5. Code Rot. What happens when we stop tending to our code? It decays. This article investigates why.
  6. Converting integer literals in C++ and Python
  7. Inner, Outer, Shake it all abouter. Encapsulation is about allocating responsibility and easing utility rather than protecting data.
  8. Copy, load, redirect and tee using C++ streambufs. The C++ iostream library separates formatting from lower level read/write operations. This article shows how to use C++ stream buffers to copy, load, redirect and tee streams.
  9. Generic documentation
  10. Longest common subsequence. An investigation into the classic computer science problem of calculating the longest common subsequence of two sequences, and its relationship to the edit distance and longest increasing subsequence problems.
  11. comp.lang.name? Python was named after a comedy troupe. This note discusses what makes a good name for a computer language.
  12. Books, blogs, comments and code samples
  13. Sums and sums of squares in C++. Reduce is a higher order function which applies a another function repeatedly to a collection of values, accumulating the result. Well known to functional programmers, reduce is also a standard C++ algorithm.
  14. Looping forever and ever
  15. Syntactic Sugar
  16. Macros with halos
  17. Fixing header file dependencies. A simple script to check header files are self contained
  18. Stop the clock, squash the bug. Which is better, a clock which loses a minute a day or one which is stopped? An investigation into how we find and fix software defects.
  19. Top Ten Percent. The most efficient way to sort the top 10% of a collection.
  20. Top Ten Tags. Choosing the right algorithm to select the N largest items from a collection.
  21. From Hash Key to Haskell. A note on keys, characters, smileys, digraphs and Haskell.
  22. Elegance and Efficiency. Must elegant code be efficient? This article investigates.
  23. Big City Skyline Puzzle. Comments on a novel computer science puzzle. When machine resources are scarce, a compiled language offers precise control.
  24. Ongoing Peer Review
  25. Pitching Python in three syllables
  26. Koenig’s first rule of debugging. The problems caused by the C++ compilation model, dependencies and cryptic compile diagnostics. If an expert like Andrew Koenig can’t get it right, what hope for the rest of us?
  27. Shameful Names
  28. He Sells Shell Scripts to Intersect Sets. The Unix command shell contains a lot of what I like in a programming environment: it’s dynamic, high-level, interpreted, flexible, succinct. This article shows the Unix tools in action.
  29. The Third Rule of Program Optimisation
  30. Evolving Python in and for the real world
  31. Introducing Java
  32. Mixing Python and C++
  33. Release then Test
  34. Casualties in the great computer shootout. An investigation into various dimensions of some speed benchmark programs.
  35. Retro-fitting coding standards
  36. Code Craft
  37. Printed C++ Journals
  38. Review of Pete Becker’s TR1 Book
  39. Smart Pointers, Dumb Programmers. A note describing how a smart pointer tripped me up.
  40. Joined Output and the Fencepost Problem. Items and the spaces between them: some notes on the fencepost problem and joining up strings.
  41. Computer Language Complexity
  42. Complacency in the computer industry
  43. The Lazy Builder’s Complexity Lesson. A discussion of algorithmic complexity, and a demonstration of how the C++ standard library allows programmers to write code which is both concise and efficient.
  44. String literals and regular expressions. An article about string literals, escape sequences, regular expressions, and the problems encountered when mixing these together.
  45. There’s no escape??!
  46. Parsing C++
  47. Are List Comprehensions the Wrong Way Round?
  48. Message to Self. What’s this?
  49. Octal Literals
  50. A Subversion Pre-Commit Hook. How to install and test a simple Subversion pre-commit hook script.
  51. Binary Literals
  52. Readable Code
  53. Built in Type Safety?
  54. The case against TODO. A neat label for work in progress or an easy way to disguise the flaws in a codebase?
  55. Metaprogramming is Your Friend. An investigation into metaprogramming techniques used by lazy C, C++, Lisp and Python programmers.
  56. A Mini-Project to Decode a Mini-Language
  57. Code in Comments. Don't comment out dead code, delete it!