Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Any reason to use C?

Author: Robert Hyatt

Date: 14:15:11 07/30/03

Go up one level in this thread


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).



>
>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.