Articles

Implementing a lock Keyword in C++

talks about the difference between Playmobile™ style programmers and LEGO™ style programmers.

Why C# is Not My Favorite Programming Language

Non-deterministic object lifetime, disrespect of scope, functions having to be methods, containers having algorithms as methods, dangerous default comparison behavior, severely broken operator overloading, and an interesting opinion about whether trees falling down in the woods with nobody there to hear it still make a sound. Is C# really the silver bullet of programming languages?

Syntactic Aspartame: Recreational Operator Overloading

Operator overloading seems to be a controversial feature. In this article, I explore some of its more exotic possibilities. Bet you didn't know you could do "double a = vec1 dot vec2" in C++. Scott Meyers thought it was "exploring some, er, innovative applications involving proxy classes". (Published in C/C++ Users Journal, Feb. 2006)

Picky Friendship: Access Control in C++

How do you make sure any friend can borrow your books yet only a good friend can borrow your car, while preventing both types of friends from using your toothbrush? How is the previous sentence even related to code? Find out in this article.

So how much does an iPhone developer make?

I sometimes write little apps for my iPhone. I have two apps on the App Store. Want to know if you should quit your day job and start writing iPhone apps..?

Book

My introductionary computer programming book is available here.

An online sample chapter is here.