Mail Archives: djgpp/2000/10/20/17:30:22
| From: | dontmailme AT iname DOT com (Steamer) | 
| Newsgroups: | comp.os.msdos.djgpp | 
| Subject: | Re: Help! | 
| Date: | Fri, 20 Oct 2000 21:27:24 GMT | 
| Organization: | always disorganized | 
| Lines: | 64 | 
| Message-ID: | <39f0b88a.48929103@news.freeserve.net> | 
| References: | <002001c03ac9$ebe70fc0$0500a8c0 AT brk> | 
| NNTP-Posting-Host: | modem-53.black-angel.dialup.pol.co.uk | 
| X-Trace: | newsg4.svr.pol.co.uk 972077245 26918 62.136.232.53 (20 Oct 2000 21:27:25 GMT) | 
| NNTP-Posting-Date: | 20 Oct 2000 21:27:25 GMT | 
| X-Complaints-To: | abuse AT theplanet DOT net | 
| X-Newsreader: | Forte Free Agent 1.11/32.235 | 
| To: | djgpp AT delorie DOT com | 
| DJ-Gateway: | from newsgroup comp.os.msdos.djgpp | 
| Reply-To: | djgpp AT delorie DOT com | 
Johan Henriksson wrote:
> >> It's quite unavoidable to learn C if you learn CC...
> >Why go to all the trouble of learning C++ if all you want to learn
> >is C?
> * You can read ~100% more sources to others apps
True, but by that logic you should also learn Java, Perl, etc.,
while you're at it, then you could read even more sources.
> * You get a better understanding of programming and OO
I don't think C++ is very good for learning object-oriented
programming.  Java is surely better.  Smalltalk may be even
better, but it isn't very popular.
> >How are you going to know which parts of C++ are also C?
> You get a parse error :)
True...
> Seriously, I think books should be
> more careful about how they write. CC is an "addon" and
> should be threat like one.
I think it is better to consider C++ as a separate language.
A typical C++ program doesn't look much like C at all, with
all that object-oriented stuff, exception handling, new/delete
instead of malloc/free, cout instead of printf, etc.
 
> >And how are you going to find out about all those little things
> >which are different in C?
> Is anything different? None of my older books tells anything about that.
What is the type of 'a'?  (C answer: int.  C++ answer: char.)
A C++ compiler will choke on
    char *ptr = malloc(9);
although this is fine in C.
There are other differences, but I can't remember them all at the
moment.  Somewhere there is a web page listing differences, but
I've lost the URL.
Here's a silly program that prints out the name of the language it
was compiled as - I'll let you work out why:
#include <stdio.h>
typedef int foo;
 
int
main()
{
    struct foo {
        int x[2];
    };
    char *arr[] = { "++", "" };
    
    printf("C%s\n", arr[sizeof(foo)==sizeof(int)]);
    return 0;
}
- Raw text -