From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,7fb761492573daee X-Google-Attributes: gid103376,public From: dkumar@blackcat (Deepak Kumar) Subject: First Language Debate etc. Date: 1995/04/20 Message-ID: #1/1 X-Deja-AN: 101283208 references: <3mq0jd$r10@kaiwan009.kaiwan.com> <0jZPp6C00WBMQAQVNS@andrew.cmu.edu> organization: Bryn Mawr College, Computer Science Department newsgroups: comp.lang.ada Date: 1995-04-20T00:00:00+00:00 List-Id: Here are few points I would like to make in this debate: 1) With regards to CS1 the choice of a programming environment is as important as the language. For instance, I haven't seen anything close to Semantec's THINK Pascal environment for either C++, Ada, SML, Miranda, and fill your favorite new language here. Before someone refers me to Semantec/Metrowerks C++ products, let me say that I have evaluated them both and they do not come close. Semantec's is better than Metrowerks Codewarrior. The latter are more obsessed with the fact that their compilers produce efficient PowerPC code and think that that is enough reason for the world to kneel and proclaim "we're not worthy". But seriously, one has to really take the programming environment into account. The added factor (at least for me) is how well some of the native hardware facilities are integrated into the language. In the case of THINK PASCAL all the QuickDraw graphics, mouse, and sound capabilities are accessible through convenient library routines. This adds a significant pedagogical aspect to the teaching of CS1. 2) Somehow, the push towards C++ seems to be motivated more by "industry" pressures than anything else. If the industry is content with hiring C++ programmers rather than computer scientists the schools ought to follow suit...produce C++ programmers. What a concept! CS1 is only an introduction to Computer Problem Solving/Computer Science. A typical CS curriculum requires upwards of 11 other CS courses, about at least 7 of which have a serious programming component in them. In other words, there is ample time to learn what employers want. 3) Then there is the issue of using non-procedural programming languages for CS1. This is a luxury schools with large programs can afford. It is claimed that, in the long run, it produces better computer scienctists. The jury is still out on this. Personally, this still suffers from point 1 above, lack of a decent environment that is affordable by ALL. The real-world is still mostly procedural... I personally am of the opinion that there ought to be a follow up course to CS1 (the procedural version) that introduces computer problem solving in other paradigms...enter SML, Miranda, Haskell, Prolog, SmallTalk, Eiffel, etc. I have created such a course (see a related paper by following http://www.brynmawr.edu/~dkumar/) and am in the process of writing a text for it. I am also planning a panel discussion on this at the next ACM/CSC (interested people, please contact me). 4) What about Ada? I would like to use Ada in CS1, but it also suffers from point 1 above :-( no decent programming environment for CS1. I will be using Ada in CS2 (using the SUN Ada Compiler and possible GNAT, when we get to the Ada95 parts). Will share experiences when we get there. 5) This semester I taught Ada as well as C++ in the Programming Language Concepts class....reactions were mixed, some wouldn't have anything to do with Ada, some loved it. Personally, I an neutral to both. I like aspects of both. 6) Then there is also the issue of textbooks.... Anyway, if you read all this, thanks!, and please write back or contribute to this discussion...we have had several throwbacks on Ada and its use in the industry, as if that was the only way to promote the language in education. I could care less whether school-A, ranked in the top-X, uses language-Y unless there is a discussion of the factors than went into the decision making process. Deepak. -- Deepak Kumar Department of Mathematics & Computer Science Bryn Mawr College Bryn Mawr, PA 19010