Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Any reason to use C?

Author: Ulrich Tuerke

Date: 08:16:32 07/31/03

Go up one level in this thread


On July 30, 2003 at 17:15:11, Robert Hyatt wrote:

>On July 30, 2003 at 16:52:47, Gerd Isenberg wrote:
>
>>On July 30, 2003 at 00:00:54, Robert Hyatt wrote:
>>
>>>On July 29, 2003 at 22:10:11, Matthew White wrote:
>>>
>>>>On July 29, 2003 at 22:08:13, Robert Hyatt wrote:
>>>>
>>>>>On July 29, 2003 at 20:16:59, Matthew White wrote:
>>>>>
>>>>>>On July 29, 2003 at 16:53:05, Vincent Diepeveen wrote:
>>>>>>
>>>>>>>On July 29, 2003 at 03:15:54, Hristo wrote:
>>>>>>>
>>>>>>>>On July 28, 2003 at 19:12:56, Vincent Diepeveen wrote:
>>>>>>>>
>>>>>>>>>On July 28, 2003 at 17:34:46, Russell Reagan wrote:
>>>>>>>>>
>>>>>>>>>>Is there any reason to start new projects with C anymore? It seems like most (if
>>>>>>>>>>not all) of the drawbacks of C++ have faded away with modern compilers.
>>>>>>>>>>
>>>>>>>>>>Note that I am talking about new projects, and maintaining old projects is
>>>>>>>>>>obviously a good reason to still use C.
>>>>>>>>>
>>>>>>>>>If i would learn coding today i would prefer C++.
>>>>>>>>>
>>>>>>>>>However let's be clear, for good programmers there is not much diff between C
>>>>>>>>>and C++. Every complex problem which you can solve in 10000 lines of C++ you can
>>>>>>>>>solve in 10000 lines C too.
>>>>>>>>>
>>>>>>>>
>>>>>>>>Vincent,
>>>>>>>>with all due respect I must disagree. In 10K lines of C++ code one can solve a
>>>>>>>>much more general or larger set of problem(s) or cram in more features. :)
>>>>>>>>(think templates, exceptions, and often inheritance ... all of which can shorten
>>>>>>>>your code)
>>>>>>>
>>>>>>>I do not know about you, but i program both in C and C++.
>>>>>>>
>>>>>>>Do you?
>>>>>>>
>>>>>>>Not a single program where you can use all the nice toys you can also make a few
>>>>>>>functions for in C.
>>>>>>>
>>>>>>>In general the average programmed C++ program you program more compact in C.
>>>>>>>
>>>>>>>That's not what i'm talking about.
>>>>>>>
>>>>>>>If you do not know how to program in C, then just say it loud instead of writing
>>>>>>>it down like this.
>>>>>>>
>>>>>>>the advantages of what you mention here (assuming 1 man products) you can show
>>>>>>>great in 50 line examples or even 200 line examples.
>>>>>>>
>>>>>>>But as soon as you write a 10000 line product then it doesn't matter what you do
>>>>>>>in C++. I can do the same in C too. No problem!
>>>>>>>
>>>>>>>>In your post, latter, you indicate that C++ offers some advantages over C,
>>>>>>>>especially for large projects. In my experience this is %100 true, so we are in
>>>>>>>
>>>>>>>I see no other advantages to C++ than for big projects in fact.
>>>>>>>
>>>>>>>The advantage is *really* huge there for companies.
>>>>>>>
>>>>>>>Given the importance of those companies for the world, the choice to teach
>>>>>>>students C++ instead of C is a logical choice.
>>>>>>>
>>>>>>>teaching them Java, delphi i find a bad idea.
>>>>>>>
>>>>>>The best reason that I see to teach students using Java is that Java gives you
>>>>>>useful information when an error occurs (remember the first time you saw a
>>>>>>segmentation fault how lost you felt?). Java has strong typing and it FORCES
>>>>>>object orientedness. C and C++ are too frustrating for new programmers...
>>>>>>
>>>>>>Matt
>>>>>
>>>>>
>>>>>Strong typing was also Pascal's claim to fame.  Thankfully it died a
>>>>>graceful death.
>>>>
>>>>It was good for teaching, though...
>>>>
>>>>Matt
>>>
>>>
>>>Depends on your ultimate goal.  If you are going to be a programmer, it is
>>>not the best way to go.  If you program in Java for 4 years, then leave and
>>>go to work where they use C, you have a _long_ learning curve.  You've never
>>>seen pointers, for example.
>>
>>Bob, that may be true - but if they do Java in their job, the learning curve is
>>rather short, if not zero.
>
>I already said that.  But for large IT organizations, Java is not an
>option.  C/C++ and COBOL are dominant, still.
>
>
>>
>>In my working environment i found the trend goes to Java. Huge business
>>client/server applications with Java application server like Bea and JBoss.
>>I found Java-beans much more intuitive than C++ based component ware i used so
>>far, but still a newbie in this field. Have you ever used COM (the better C++?!)
>
>No to COM...
>
>
>>or MSXML-DOM with ms-smartpointer?
>>
>>I learned in the "bottom-up" way, from assembler close to hardware to Pascal and
>>later C/C++. I had clear imaginations what an address or a pointer is.
>>
>>In the meantime with C++, i prefere the reference synonym instead of pointer,
>>only because of syntax ( a=b instead of *a=*b, passing a,b instead of &a,&b and
>>only a prototype with (int &a) instead of (int *a).
>>Due to my career i'm not sure what's the "best" didactical way to teach "call be
>>reference" or "call by pointer" first, may be very individual.
>
>
>I learned assembly first, then FORTRAN and then others.  The point is that it
>is far better to learn your main programming language (for your career) first,
>rather than later.  Learning syntax is easy.  Learning semantics is not as
>easy.  Experience to become a _good_ programmer in a specific language takes
>_much_ longer.
>
>By the way, the two calling conventions are commonly called "pass by value
>(where a copy of the value is passed, as in FORTRAN)" and "pass by reference"
>(where a pointer to the value is passed).

I think that you are wrong here: good old Fortran passes parameters by ref..
C is an example for "pass by value".

Uli

>
>
>
>>
>>Gerd
>>
>>>
>>>We took a _lot_ of heat about that from companies like BellSouth.



This page took 0 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.