cbspt002@abnjh.UUCP (Marc E. Kenig ) (06/13/84)
(NIL) Seems to me that the type of language is somewhat a secondary cocern. Beginning CS students should not only be taught simply how to program, but how to reason a programming solution and to convert it into concrete terms in an elegant manner. In short, just as Prof. Kingsfield of 'The Paper Chase' taught his students not just contract law, but "How to think like lawyers", freshman CS students should undergo a course discipline that teaches them how to think like computer scientists. Using a 'conventional' syntax laden language is bad - too many side issues. Lisp has a clear, simple syntax. It is difficult both to "think in Lisp" and at the same time produce a good program with GOTO's, or one that is not properly top-down structured. Computer sciencs topics such as parsing, recursion, turing machines, etc. can be easily introduced. Once a student masters an object oriented language such as Lisp, it permanently alters the way in which that student will view the "art of programming" in more conventional, compiled languages. A Lisp trained programmer has learned to use many structured techniques as second nature. On a related but seperate soapbox, I believe that many students are mentally damaged when instructors speak of a programming language/system in superlative terms. Many students were taught in the 70's (and may still believe that) Pascal was the be all and end all language and that EVERYTHING should be programmed in it. Same goes for C/UNIX today. Shuts off their impressionable minds to accepting that something new may be better, since they have no wide frame of reference to view the faults/benefits of some language as opposed to others. Let's not teach language/system bigotry (hell, I got taught that way, and deep in my heart-of hearts believe that programming language development should have halted after UCI lisp was invented.....). Comments? M. Kenig, ATT-IS, S. Plainfield NJ ...abnjh!cbspt002