mtbc: maze I (white-red)
Mark T. B. Carroll ([personal profile] mtbc) wrote2022-04-15 11:06 am
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 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.

Post a comment in response:

This account has disabled anonymous posting.
(will be screened if not on Access List)
(will be screened if not on Access List)
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

If you are unable to use this captcha for any reason, please contact us by email at [email protected]