J
jehugaleahsa
Well I almost forgot about my pensive moment this afternoon. Thank you
all for weighing in...
Let me add some preface. My dad wrote Cobol in the Sixties for
Chrysler International out of their London offices. Later he wrote
Basic for an insurance company stateside. He wanted me to learn coding
when I turned 18 in 1973, but I had my head just about anywhere else,
despite the fact that I had the ability to learn programming then as I
do now. I finally got into writing code full-time for a living in 2000
(never actually had a computer until 1995!). This was after various
careers, mostly in construction and as a contractor. I still work in
the construction field, just as a developer for a larger construction
company that has some ambitious software ideas.
My son is now 18, and I want him to learn to write code. He's going to
go to a local school to learn Dreamweaver and graphic arts type
things, but he has the smarts to just dive in and learn code, if he
could develop the inclination and determination to do it. He has his
head in music and all the other kinds of things 18 year olds do.
It seems to me at least, that for a smarter individual, seeing
programs go together that right away have their own gui, colors,
tricks is more gratifying than doing things that just print results to
a screen. I know it did for me. I've shown him how to build a simple
sql server set of three or four tables and then query them from C# and
display results in an Infragistics grid. I'm sure he grasped all of
it, but kids nowadays are a lot harder to amaze and surprise than my
generation was 35 years ago.
I don't really think the whole OOP versus procedural thing is such a
big issue. You can use VB.Net or C# as mostly a procedural language
anyway until you start to grasp the concepts of how the tools you work
with are all object based and then start building your own little
classes and overrides as you see a need. All depends on the kinds of
things you're developing... But the gratification factor is much
higher, imho, with any "visual" language-ide.
Bob
I have ran into this issue myself. Most people like to see immediate
results, rather than having to work for them. I am still amazed by
pong because I see the immense amount of technology that goes into it.
However, and you can tell your son this, just making pictures becomes
less and less rewarding after a while. Once you learn the tool and how
to combine the features, graphic design becomes really, really tedious
and unrewarding.
When I first started programming, I wanted to be a game programmer
because I loved games. I loved how they looked, how they played. But
deep down there was always this question in my head asking, "What
magic makes thy computer run so?". And eventually the questions were
answered through my computer science courses. And now video games are
horribly boring to me. I am more interested in how they simulated that
fire, or the g-force or how the computer manages all those 3D points.
However, now I am more aware of what a computer is and I can use that
to do things like make computer games from scratch.
Most of the code I write for fun doesn't do anything. It helps me do
something. I like to write libraries. I like to fix other programmer's
code. I like to learn why code works. Screw the final result! I found
my niche.
Tell your son that programming is fun and keeps on coming. I think my
job is more fun than a job should be. It is frustrating, yes, but it
is also intense and when you finally get your head around it, it
becomes like a playland.