Chronology Current Month Current Thread Current Date
[Year List] [Month List (current year)] [Date Index] [Thread Index] [Thread Prev] [Thread Next] [Date Prev] [Date Next]

Re: Required common programming language



I'd like to take the other side. I learned programming about the same time and
in the same way as you, Leigh. I've programmed in Fortran, written spaghetti
code in Atari Basic, rolled my own in Forth, and became a late convert to the
structured programming of Quick Basic (evolved to Visual Basic and Visual Basic
for Applications). One advantage of the latter is that it is additionally the
macro language of MicroSloth products. One doesn't need to rewrite the wheel,
but may take advantage of the extensibility provided by a structured macro
language.

Leigh writes (in part, I'll edit to take him out of context)

...and that some attention
should be paid to the virtue of the inclusion of the GO TO statement in
any reasonable language. Furthermore they should be told that no one is
ever going to read their code,

There is no virtue to the GOTO. I wrote a technical word processor in Atari
Basic with machine language routines in critical spaces for speed. I couldn't
read my own code today to save my ... life! It was spaghetti. It needed to be
compact because of space and speed considerations that are no longer necessary.
Structured programming with clean modules provides reusable modules and the
ability to re-use an old wheel from time to time. If you can't read it 3
months later, you can't modify it for a new task AND it may well have done some
things you couldn't see buried in the spaghetti.

favored by a friend might facilitate learning too, even if that language
is not considered kosher by the computer "science" authorities.

I'm a physical chemist and no authority whatsoever.

to do. We old codgers never took programming courses, and still we
learned. I got a copy of McCracken and a key punch and went to work. It
didn't take long to get that first thrill, I'll tell you. Why should
others be deprived of it by having unnecessary obstacles placed before
them because they are so unfortunate as to have to learn structured
programming and to spend time writing grammatically correct documentation
for the eyes of a teacher?

I learned it the same way. That doesn't mean it was the best way, just what we
did in those earlier times. Having lived through that time AND enjoyed
programming as you did, I still enjoy it, but the structure gives it an
additional beauty with the practical result that I can even read it a few
months later.

The point here is this: computer programming is not necessarily something
that has to be taught. Like other language, with a facility for
communication (access to other speakers of the language or to a computer)
the student will naturally learn by himself. Later on, as we do in English
composition classes, we can teach him the refinements which are
undisputably valuable. As has been pointed out several times, learning yet
another language at this point is usually very easy.

I'm not sure I agree here. I had a student last year in a problem solving
course using Quick Basic. This student had (I'm convinced) been brain damaged
by excessive exposure to the GOTO. He wrote one of the most convoluted complex
pieces of code I ever saw to do a rather simple and straight forward
programming assignments. Not only wasn't it reusable or extensible, it was
unreadable!

One other point regarding programming, we are changing our computer problem
solving/programming course to one using Excel as the engine. I hope to do some
programming within Excel using the macro language.

In a discussion last spring with some Mechanical Engineering Profs. at
Rochester Institute of Technology we discussed how infrequently students
exposed to programming (either in the Engineering Fortran Course or my Chemical
Technology Quick Basic Course) actually used these skills to solve problems in
their later courses. The RIT experience has been that when teaching students
to use modern software tools, they voluntarily proceed to use these tools to
solve problems.

Next week I'll try the Excel approach in lieu of the straight programming
course. I hope to include loops, branches and decisions in the context of
macro programming. Ultimately I'd like to include a tool like Mathcad to
complement the spreadsheet. Today's software tools are quite capable of doing
many of the jobs we used to punch cards for in an earlier time. Our ultimate
goal should be to help students master tools to facilitate their problem
solving.

My wordprocessor (self written) was quite useful in its time. Subscripts,
superscripts, greek letters, etc. in the early 80's BEFORE the IBM pc existed.
There is no reason today to try to write a personal version of MS Word. Take
advantage of the existing tools and move on.

Well that's more like $1.90 than $0.02 worth.

Ciao,
Frank



/\~~~/\
> > Frank M. Lanzafame Department of Chemistry
^ ^ > Monroe Community College 1000 East Henrietta Rd.
(_O_) > Rochester, NY 14623 716-292-2396
> U > Internet: flanzafame@monroecc.edu