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.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 1696ae,97188312486d4578 X-Google-Attributes: gid1696ae,public X-Google-Thread: fc89c,97188312486d4578 X-Google-Attributes: gidfc89c,public X-Google-Thread: 103376,97188312486d4578 X-Google-Attributes: gid103376,public X-Google-Thread: 1014db,6154de2e240de72a X-Google-Attributes: gid1014db,public X-Google-Thread: 109fba,baaf5f793d03d420 X-Google-Attributes: gid109fba,public From: jah@cais.cais.com (John A Hughes) Subject: Re: Should I learn C or Pascal? Date: 1996/07/23 Message-ID: <4t35m0$329@news2.cais.com> X-Deja-AN: 169704149 references: <01bb74ac$b7aa7860$7b91f780@deangulo> <01bb7591$83087d60$87ee6fce@timpent.airshields.com> organization: Sent via CAIS Internet newsgroups: comp.lang.c,comp.lang.c++,comp.unix.programmer,comp.dos.programmer,comp.lang.ada Date: 1996-07-23T00:00:00+00:00 List-Id: In article , johnf wrote: >In article <01bb7591$83087d60$87ee6fce@timpent.airshields.com>, "Tim >Behrendsen" wrote: > >>Carlos DeAngulo wrote in article >><01bb74ac$b7aa7860$7b91f780@deangulo>... >>> You should definitely learn C/C++. The business world today uses C++ as >>its >>> power language to develop the finest applications. Don't let anyone guide >>> you wrong. >> >>Not to start a flame war on C++, but all you newbie programmers >>out there, don't believe everything you hear about C++... >OK > >I am one of these newbies. >I haven't programmed anything, ever, with any language. >I am currently learning C with the help of Dave Mark (Learn C on Mac) as >my baptism into programming. >So, I am I only learning C, and not "how to program"? I don't understand >how the two can be exclusive... >[deletia] >I don't expect to start as the Sr. Developer on some project, I will >happily slog it out in the trenches and pay my dues, just explain to me >how to get there... I was a TA for introductory computer science classes one year in grad school. The experience was pretty illuminating and I always remember it when I read these silly arguments. The first semester, they taught the poor kids Scheme, a dialect of LISP. These are kids who've never seen a program before in their lives. However, one thing about the language is that its syntax and semantics are crystal clear. When you program in Scheme, you're really doing pure problem solving. The brightest kids in the class understood this after a while and went to work. A sizeable portion of the class, however, whined because they talked to "big, smart people in the real world" who told them they were wasting their time, no one uses Scheme, it's a stupid language, you can't do XYZ like you can in C or whatever, man, universities are stupid, this country is fucked up blablabla. I was a very friendly TA and did what I could to try to persuade these students that there is more to learning a skill than aping what big smart people in the real world do, and point out that they were learning basics that they would use over and over in whatever language they eventually used-- they were just starting out with the basics and not spending time on syntactic crypticness and memory management exotica. Some understood. Some never shut up with their whining. And they were lousy students, too, and had bizarre, undeserved arrogances because they were hobbyists who could write programs to do this or that in whatever language and didn't need to pay any attention to what we were trying to teach them. Of course this would not be so interesting if I did not TA most of the same students the very next semester in part II of intro comp sci, which was taught in C++. Now, I personally don't believe C++ is a language for beginners at all, though I don't sharre the opinion that the language "sucks" or is a "bad implementation of OOL". However, the good students, who had paid attention in the first semester, got used to thinking about how to solve problems and express them in a formalism, and didn't whine constantly about all those stupid parentheses, managed to pick up the basics of C++ just as easily and go on to solve the significantly harder problems they were given in that semester. A significant portion of the whiners all practically flunked; it was very sad. They hadn't learned a damn thing the first semester except how stupid computer scientists are, and then with their first taste of the "real world" they were hopeless. I am not saying that this is anything other than anecdotal, but I think it illustrates very nicely how someone who is really interested in what programming is differs from someone who isn't, and exercises linguistic bigorty in the name of what goes on in the real world. What goes on in the real world, in fact, is that a bunch of morons who really don't know how to program but have "used" hot new languages get lots of jobs writing lousy code that other people who like solving problems and expressing them in a formalism (any one will do, really) have to maintain, debug, and rewrite totally when the smallest thing changes because they have no foresight. THAT is the real world. Pick a language you feel comfortable with and that looks kind of easy to start with. Read what EVERYone has to say about programming and think about those things while you learn. Stuff will become clear to you. Then you can move on to other languages to see how different formalisms can help you express solutions differently. You will have wasted no time learning any of the languages, and you'll be appreciated more for being intelligent and having broad experience than your coworkers who learned C++ out of the womb but has no idea what it's for. IMHO, C and Pascal are not different enough to warrant this silly argument; Pascal's a bit easier and probably better for newbies. Learning C from there will be a total snap. And if you really know what you're doing, you'll impress people in interviews and you WILL get a job. jah