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=0.2 required=5.0 tests=BAYES_00,FROM_ADDR_WS, INVALID_MSGID,REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: fac41,d24e07f660698f1 X-Google-Attributes: gidfac41,public X-Google-Thread: f43e6,d24e07f660698f1 X-Google-Attributes: gidf43e6,public X-Google-Thread: 103376,d24e07f660698f1 X-Google-Attributes: gid103376,public X-Google-Thread: 109fba,d24e07f660698f1 X-Google-Attributes: gid109fba,public From: Ian Nelson <"Ian Nelson"> Subject: Re: I use Eiffel! and other "strange tongues"! Date: 1997/08/02 Message-ID: <33E36594.416A@ibm.net>#1/1 X-Deja-AN: 261738168 References: <33C61545.167EB0E7@tower.com> <01bc94e6$9ced0820$287b7b7a@tlo2> <33E1B18E.66B4DEC2@docs.uu.se> <33e4d7ec.1596193@news.deltanet.com> Organization: CMU student/IBM employee for now Reply-To: bonovo1@ibm.net Newsgroups: comp.software-eng,comp.lang.eiffel,comp.lang.c++,comp.lang.ada Date: 1997-08-02T00:00:00+00:00 List-Id: Walt Howard wrote: > I think OOP is the terminal paradigm. It is like the wheel. > We're there. We've arrived at the proper way to build software. > We may make some minor adjustments in the future but the paradigm > itself will be our computing core for hundreds, if not thousands > of years. But that's just speculation of course. I kind of agree with this to some extent. OOP will best mimmick the world as the human mind sees it, and this will always be good when it comes to producing applications. OOP will probably change over time, possibly in major ways but the religion will be the same and they will still call it OOP. That and functional programing will be the two paradigms that count in 20 years, and they will probably barrow so many ideas from each other that they will be the same in many ways by then. (of course zealots from either camp would never admit that...) > >Teaching PROGRAMMING in C or C++ is ridiculous, as you get bogged down > >in silly details. If you're students need it, they will learn it on > >their own. The job of the university is to teach concepts that will > >last, and not todays high-fashion languages. > > I agree with you up to this point. > > C and C++ are not high-fashion languages. C has had constant > growth since it's creation. C++ looks to be the spearhead that is > getting OOP accepted universally, despite it's problems. Sending > someone out into the real world knowing Pascal instead of C is > like sending a soldier into a battlefield with a BB Gun while > everyone else has an M16. There are two sides to this. I suppose it is kind of like comparing a vocational school to a university; you will leave the vocational school with a skill and the ability to make a living but you probably won't have the long term earning power of a university grad and you will likely find yourself back at the vocational school in 10 years learning something new because your old skill isn't as useful. > I haven't yet seen anyone put their finger on why C is so > popular. I'd like to put forth a possible reason. Compilers are written, it's free, there is a code base, UNIX, UNIX was free, and 10-20 years ago people were scared that you couldn't write good apps without assembly and C takes you there. The fact that people started using it caused people to start learning it which in turn encourages some more usage. > What I'm saying is, you can write a Prolog interpreter, a > Smalltalk interpreter, a Fortan Compiler etc etc etc in C! But > you can't do the reverse. This is because these higher level I hate to sound like an academic but, would you care to prove that? > I'd say that C and C++ are the BEST way to teach basic > programming. Once someone understands the basics of the computer, > stacks, addresses, linked lists, trees, but implementing them > himself with a language such as C, then he should graduate up to > being able to ignore the details and use a higher level language. What about functional programming? Object Oriented Programming? Logic? the 'basics' you mention are a really basic part of one paradigm. > C is the simplest language there is to learn. If you leave > out the compiler and talk about only the language, it has less > syntax to learn than basic (don't include the standard library in > the definition of C). But it can be made more complex than > anything else once you get good with it. It spans a large range > of complexity. How complex does it need to be so that it is useful?