[aklug] Re: AKLUG and others

From: Christopher Howard <choward@indicium.us>
Date: Fri Mar 05 2010 - 08:55:18 AKST

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Royce Williams wrote:
> Shane Spencer said, on 03/05/2010 07:22 AM:
>> On Thu, Mar 4, 2010 at 11:23 PM, Christopher Howard <choward@indicium.us> wrote:
>>> I'd go so far to say: if you took just about any energetic,
>>> self-motivated young programmer, put him in a house with an Internet
>>> connection, and gave him the financial means to do nothing but study
>>> programming on his own for four years, he would become a programming
>>> genius and make any UAF CS graduate look like a drop-out script-kiddie.
>>> And heck, I wouldn't mind trying that myself, but unfortunately I have
>>> not yet found a backer. So I learn what I can in my spare time (a.k.a.,
>>> breaks from my regular homework.)
>
> I've seen the code generated by self-taught "programming geniuses" who
> have spent years coding without realizing that programming is for human
> readability, that cleverness is the enemy of maintainability, and that
> the perfect is the enemy of the good.
>
> Give somebody an interesting problem to solve (or help them to think of
> one of their own. Ground them in some basic best practices.
> Occasionally point out ways to make the code more clear or more efficient.
>
> But don't grow them in a vacuum. Even the ones with native clue will
> waste a lot of time reinventing many, many wheels. A little "doing it
> the hard way" is educational, and writing Yet Another Templating Enging
> for PHP may also teach you a few things ... but a little initial
> guidance and some true mentoring can really jump-start someone's
> programmer-fu enlightenment.
>
> Some of that homework is trying to tell you this. While some of it does
> a better job than others, it's like finding out at 25 that your dad is
> smarter than you thought he was when you were 15. :-)
>
> Don't get me wrong; some CS can be bad, especially in the hands of bad
> instructors. But there are also some giants on whose shoulders you can
> stand if you can peer through the occasional curriculum cruft to
> recognize the opportunity when you see it.
>
> Royce
> ---------
> To unsubscribe, send email to <aklug-request@aklug.org>
> with 'unsubscribe' in the message body.
>

Well, of course, "initial guidance and some true mentoring" is great.
But once again, my experience in reality: What "best practices" have I
been taught by my CS instructors? OOP? Already knew about it. Code
isolation? Was already a fan of it. Readability, comments, and
documentation? Did it when my instructors told me it wasn't required.

Good group programming practices? Not one of my instructors taught me /a
thing/ about version control systems. (Learned SVN and Git on my own
initiative.) FOSS ideals? Only have had one instructor so far who is
demonstrably a FOSS idealist.

"Some of that homework is trying to tell you this" you say? Oh yeah, I
learned a ton from that tic-tac-toe exercise. This week, my assignment
is to write my first pThreads program. (I wrote a whole pThreads-based
application on my own last year.)

I'm not advocating "growing them in a vacuum." I'm just saying that with
a decent high-speed internet connection, any Joe Blow could learn /way/
more about /good/ programming through online reading, forums, e-mail
lists, and personal practice in four years than he would through the
equivalent time in a CS program.

Aside: I think it is very hard to learn high-level mathematics outside
of a classroom, which can be useful for scientific programmer or in some
library design work. You can actually get that, though, without being in
the CS program.

Aside 2: I think "on the job" is a great way to learn programming as
well. I got a ton of knowledge being forced to learn new things inside
my work environment. Typical pattern was: Get to a new stage in the
project, find out you need to do something you don't know how to do,
google it (or post it), program it, and then start over. I'm real
fortunate to have been able to work as a student programmer.

- --
Christopher Howard
http://indicium.us
http://theologia.indicium.us
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAkuRRYYACgkQQ5FLNdi0BcUmOQCeLyVAFA7VNSqZ1fPvYYICni92
Jy0AniD5nJ5Hdx10z/0PWcLDi+g7WRTi
=PX5w
-----END PGP SIGNATURE-----
---------
To unsubscribe, send email to <aklug-request@aklug.org>
with 'unsubscribe' in the message body.
Received on Fri Mar 5 08:52:46 2010

This archive was generated by hypermail 2.1.8 : Fri Mar 05 2010 - 08:52:46 AKST