l i n u x - u s e r s - g r o u p - o f - d a v i s
L U G O D
 
Next Meeting:
October 7: Social gathering
Next Installfest:
TBD
Latest News:
Aug. 18: Discounts to "Velocity" in NY; come to tonight's "Photography" talk
Page last updated:
2002 Feb 24 21:07

The following is an archive of a post made to our 'vox mailing list' by one of its subscribers.

Report this post as spam:

(Enter your email address)
Re: [vox] Why C?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [vox] Why C?



On Sun, 2002-02-24 at 11:50, R. Douglas Barbieri wrote:
> The nice thing about C++ is that it is more type strict than C.  For
> example, in C, you can call an un-prototyped function, and merely get a
> warning (if you remember to turn on that specific warning). But in C++, it
> is an error--you *must* prototype your functions. It is much stricter on
> casting, and it allows you to define your own types. Of course, the most
> effective way to use the language is to embrace the object-oriented
> paradigm and program that way.

It's worth noting that the entire idea of prototyping was borrowed from
C++ - that is, prototypes didn't exist in C until C++ had 'em.

However, my opinion is that C++'s type strictness tends to be in the
wrong areas sometimes.  (C has always allowed you to defined your own
types too, BTW - the struct).  I think C++'s treatment of assignment
from void pointers is completely braindead - after all, what is the
point of void*, which in C was a "universal" type, if you have to cast
from it?
> 
> I recommend Stroustrup's "The C++ Programming Language"  
> http://www.research.att.com/~bs/3rd.html. He takes you through all aspects
> of C and C++. Al Stevens also has a really good book called "Teach
> Yourself C++;" it was the book I used to teach myself the language (of 
> course it was a very old edition--gosh I'm not getting any younger...).

The "Teach Yourself" books are frequently grossly inaccurate and tech
unportable code.  I do not know of the C++ book, but the C book is
notorious.

Stroustrup's book is, IMO, the best book you can get on C.  It reads
like a college text, but it has an interesting approach - it keeps
covering some of the same ground several times, but each time at a more
detailed level.  However (and I'm not the only person to feel this way),
Stroutrup's ego seems rather thick through most of the first couple
chapters - he seems to emphasize that he created the language, and that
C++ is superior to C (which I disagree with - they both have some pretty
significant strengths and weaknesses in relation to eachother).

> For Perl, check out the O'Reilly book "Learning Perl." It is a great book
> to start with. Of course, there is the more in-depth Larry Wall's
> "Programming Perl, 3rd Edition," but I believe that "Learning Perl" is
> better as a good introduction to the language. Of course, I haven't
> personally read Wall's book yet--it's on my reading list.

Honestly, I'd recommend the more in-depth book (the "Camel" book) over
the Learning Perl one; the former appears to provide a more cursory
level of understanding in Perl, whereas the other can lead to mastery of
the language.  And it is still extremely accessible, written in Larry
Wall's unique and very enjoyable style.

Micah

_______________________________________________
vox mailing list
vox@lists.lugod.org
http://lists.lugod.org/mailman/listinfo/vox



LinkedIn
LUGOD Group on LinkedIn
Sign up for LUGOD event announcements
Your email address:
facebook
LUGOD Group on Facebook
'Like' LUGOD on Facebook:

Hosting provided by:
Sunset Systems
Sunset Systems offers preconfigured Linux systems, remote system administration and custom software development.

LUGOD: Linux Users' Group of Davis
PO Box 2082, Davis, CA 95617
Contact Us

LUGOD is a 501(c)7 non-profit organization
based in Davis, California
and serving the Sacramento area.
"Linux" is a trademark of Linus Torvalds.

Sponsored in part by:
Appahost Applications
For a significant contribution towards our projector, and a generous donation to allow us to continue meeting at the Davis Library.