[Coco] OO programming - [Was]:Emulator
Mark McDougall
msmcdoug at iinet.net.au
Fri Nov 6 20:34:12 EST 2009
Steven Hirsch wrote:
> Perhaps this points out the difference in concept between "IT
> Professional" and "computer scientist" or "software engineer"? It's not
> my intention to be demeaning to anyone, just take this as
> acknowledgement that the field has fragmented and specialized quite a bit.
You make a good point, and again, without being demeaning to anyone, I think
there has always been, and always will be, a clear distinction between
"computer scientist", "software engineer" and "programmer".
I see myself as perhaps being formerly the latter, and more recently the
2nd. And there's not a lot of people that could truly claim to be the 1st.
I studied computer science as my 1st degree, and despite the name of my
course, I was well and truly a "programmer" for the first few years in the
workforce. A few years later I returned to study Electrical Engineering, and
since then I see myself more as a "software engineer".
IMHO, a "programmer" is someone who generally has a specialisation, and is
mostly concerned with the design and coding of "applications". It is more
true today than ever before, given the ever broadening discipline of
computer programming, encompassing everything from micros, mobile platforms,
to desktop pc to distributed computing across intranets, wans and the global
internet. And of course we need specialist programmers, just like we need
specialist doctors.
A "software engineer" OTOH, is more of a "jack of all trades" and whose work
generally spans a reasonable variety of platforms, architectures and
technologies. Their work involves not only occasional application
development, but also device drivers, utilities and other low-level tasks
like kernel tweaking, interrupt processing, hacking startup code, etc.
Of course, each SE has their own preferred "bag of tricks" and will usually
tackle a problem in their preferred domain, but it's not unusual to have to
roll up the sleeves and learn another language/API/platform to do the job at
hand. So the job requires a more intimate level of knowledge "under the
hood" than a traditional IT programming job.
For the record, a "computer scientist" is someone who lives in academia and
tinkers with things in the name of (computer) "science" rather than solving
a commercial problem.
I'm not holding these definitions up as "gospel" - it's just the way that I
see it.
And to tie into the original point of this rant - I see universities
churning out "programmers" rather than "software engineers" these days.
That's not a criticism in itself, but I do wonder how long it will be before
the art of "software engineering" starts to become lost in the world of
Java, PHP, Phyton scripts, CSS, HTML and all that guff. ;)
Regards,
--
| Mark McDougall | "Electrical Engineers do it
| <http://members.iinet.net.au/~msmcdoug> | with less resistance!"
More information about the Coco
mailing list