personal website of James Turk, a developer in Washington, DC
For a long time my primary language was C++. I know this is uncommon for someone of my age (21) but C was actually the first language that I learned. (Keep in mind although this wasn't that long ago, it was hard to find good advice online so I bought a book on a language I'd heard was commonly used and spent a couple months digging into C.)
When I went to college I had to learn Java, on my own I got into Perl, Python, and Lisp. I fooled around with PHP, learned to respect Javascript as a real language, and even wrote some Ruby. When it came time to explain what I did to my then-girlfriend it was Python not C++ that I helped her write a small game in.
Despite all of this linguistic infidelity I have faithfully kept up to date on C++, following the draft standard and reading Herb Sutter's fantastic GotW. But something that's been coming a long time happened when I read GotW #88: A Candidate For the "Most Important const".
In this posting he discusses the difference between assigning to a const reference and a non-const reference. Spoiler alert: in the examples he provides it is only legal to assign to a const reference.
I'd actually played around with this "feature" so I was still able to follow along, and then it hit me. I simply don't care.
I used to think that part of programming was memorizing these syntactic quirks (be sure to put a space between the <'s in a nested template declaration!). As a C++ developer I always kept them in mind but accepted them, surely other languages must have their own. I suppose this is still true, and a handful of others do come to mind.. but what has changed in my way of thinking is that they are a necessary part of a language.
So getting down to what I need to say.. C++, I know when I put you down years ago I said I'd be back - that these other languages were fun but you were the one for me. I just think we've grown apart, it's best we both move along. It's time I made an honest language out of Python and admitted I'm a Python programmer.
James Turk is a 23 year old currently living in Washington, DC working for Sunlight Labs. This site is a place for my projects and thoughts.
content © James Turk — cc-by unless otherwise noted