Entry tags:
Rookie mistakes in computer programming
At work, I fell short of my usual high standards a couple of times lately, and found both interesting in that they relate to switching between languages.
I have a lot of experience in Java. I haven't used C++ much since twenty-five years ago and, even back then, I was not an advanced user, more a
I've used Python rather more recently but it makes for an unusual case in that I never had chance to take a week or two to simply sit down and study it systematically. For instance, when I started with Perl, my employer was happy for me to take a fortnight with the Camel Book and study it. So far, I've learned Python only by analogy and code snippets, until somebody gives me the time for a more organized approach. Anyhow, of course, I am used to seeing people initialize instance variables in
I have a lot of experience in Java. I haven't used C++ much since twenty-five years ago and, even back then, I was not an advanced user, more a
C plus objects plus streams, maybe, though I had already seen compile-time parameterized templates in Modula-3. The whole business of if I want a shared pointer or unique pointer or whatever, I never knew. I currently have a couple of C++ projects at work and, in one of them, when adding some code, I naively declared
MyClass foo
then assumed that foo
is a pointer to an instance. Uh, no, this isn't Java.I've used Python rather more recently but it makes for an unusual case in that I never had chance to take a week or two to simply sit down and study it systematically. For instance, when I started with Perl, my employer was happy for me to take a fortnight with the Camel Book and study it. So far, I've learned Python only by analogy and code snippets, until somebody gives me the time for a more organized approach. Anyhow, of course, I am used to seeing people initialize instance variables in
__init__
, like self.foo = "bar"
, I do it myself. However, in writing a new class, I absent-mindedly initialized the field before declaring the first method, as one may in Java. Thus did I receive a painful lesson in how to emulate Java's static
.