[nSLUG] Re: C++ beginner references
milesthompson at ns.sympatico.ca
Tue Oct 21 09:26:24 ADT 2003
At 04:00 AM 10/21/2003 +0100, you wrote:
>On Mon, Oct 20, 2003 at 03:42:14PM -0300, Jeff Warnica wrote:
> > As a disclamer: Im not a programmer.
>The time spent by a student writing a program is minimal, most of my
>undergrad programs were written in a less than an hour. Most of the time,
>past the first 10-20 minutes my time was spent debugging, so I suggested
>languages that are easier (IMHO) to debug. In the work place I spend most
>of my time planning, debugging, and maintaining software not writing
>new code. Quick and easy to code is not the only focus a programmer
>should have IMO.
>Perl is not the easiest language to debug, the multiple intereprations of
>symbols depending on context, the weak typing, the culture of obfuscated
>code, the evolved rather than planned designed which allows you to shoot
>yourself in the foot with great speed, ease, and few bytes - nothing I want
>near anyone trying to master first steps of programming.
I've been following this thread with interest. My background is probably
atypical, as I started with CDC BASIC, FoxPro / Pascal, other BASIC's,
Python and, more lately, PHP for web sites. I've always suspected that I've
never been a "real" programmer, as I've only played a bit with C, never
used it in anger.
Despite that, the applications have worked, customers have been satisfied,
and I've taken enough care to ensure that when I returned in 6 months I was
able to understand what I'd done.
The two most important things when learning to program are understanding
what you want to do and working out an algorithm before touching the
keyboard, and understanding what you want to do and working out an
algorithm, again, before touching a keyboard. A road map is essential. (God
forbid, I'm nearly recommending pseudo-code rather than jumping right in!)
After that, a language which enables easy trials, has a tight write-run
loop, has a clear and enforceable syntax, and provides adequate debugging
information speeds the learning process. In this case, I'd recommend Python.
Compare this with learning to drive - starting out it's important to keep
between the ditches, but more importantly to learn how to see and read
traffic, to maintain situational awareness and to develop a feel for the
road. Same thing with programming, the skills are v. transferable. Starting
with a language which facilitates clear and comprehensible code really helps.
Hope this helps, Vikram - Miles
PS As for Perl, I fully concur with the assessment included above;
undoubtedly a fantastic tool for those who learned it, and once learned,
probably useful for almost everything.
More information about the nSLUG