Need a C++ book for complete idiot!

M

me

ptyxs said:
And by the way, do any of you know the following book, also written
for beginners :

Absolute C++ by Savitch
what do you think about it ?

This is the book they are using in my college intro
class

Id say its NOT for complete beginners....even the
preface to the book says this...

Its for someone who has played around with programming
a bit but does know "something"
 
P

ptyxs

This is the book they are using in my college intro
class

Id say its NOT for complete beginners....even thet
preface to the book says this...

Its for someone who has played around with programming
a bit but does know "something"

And assuming that do you think it is a good book ?

(and by the way the latest Stroustrup's Programming Principles and
Practise Using C++ is supposed to be usable by absolute beginners)
 
K

Kensai

Has anyone actually "finished" Stroutstrup's beginners' book on C++?
I've just started it, but I wouldn't want to invest learning all of it
if it's not that good in the end...

Kensai
 
B

Bo Persson

Kensai said:
Has anyone actually "finished" Stroutstrup's beginners' book on C++?
I've just started it, but I wouldn't want to invest learning all of
it if it's not that good in the end...

Kensai

Sure, I liked it a lot. But I'm not a beginner. .-)


What do you want to achive by reading it?


Bo Persson
 
P

peter koch

FYI, neither Stroustrup nor other so called designers of programming
languages are teachers and, or has nor expertise in teaching. If you
want learn C++, learn it from a real teacher and, or authoritative
writer on introductory books of C++ _programming_ Language.

That is not true. Stroustrup is (also) a teacher.
FYMI (For Your More Information), I have read books of Brian W.
Kernighan (C), Bjarne Stroustrup (C++), Niklaus Wirth (Oberon) and many
other such designers of programming languages and found serious flaws in
the examples and, or code snippets in their so called authoritative
books, which are/were far away from real life examples and, or usable code.
First of all, the books - at least the older ones - of Stroustrup are
not "so called authoritative". They are authoritative, one of them to
an extent that it was the reference book of C++.
Second, code in books is not meant to be "usable". It is there to
illustrate a point.
And finally regarding the quality of those books. Wrt at least the
books of Stroustrup I must say that I do not share your experience. I
have found bugs, of course, but I do not remember any serious bug in a
book of Stroustrup. Perhaps you could enlighten us to what fatal flaws
you've found?
Moreover, the phenomena and, or art or science of programming is
something quite beyond the scope of all _programming Languages_, though
some programming languages may provide you domain specific constructs
and, or facilities, but not all do that and, or do it well.

I agree with you on that part.
OTOH, C++ is a general purpose Object Oriented (Computer) Programming
(OOP) Language, but it is not and shall never be a panacea for you and,
or anyone else, if one does not learn the basics of the *Art/Science of
Computer Programming*.
I hope not you are referring to the books by Knuth; those books
certainly are not meant for beginners.

/Peter
 
S

stan

Balwinder S Dheeman wrote:
said:
languages are teachers and, or has nor expertise in teaching. If you
want learn C++, learn it from a real teacher and, or authoritative
writer on introductory books of C++ _programming_ Language.

FYMI (For Your More Information), I have read books of Brian W.
Kernighan (C), Bjarne Stroustrup (C++), Niklaus Wirth (Oberon) and many
other such designers of programming languages and found serious flaws in
the examples and, or code snippets in their so called authoritative
books, which are/were far away from real life examples and, or usable code.

This has been noted recently, but I can't remember if it was this thread
or not. Stroustrup is currently working as a Professor. For that matter
Kernighan is also working as a Professor, and Wirth was a Professor when
he did his work on developing Pascal.

On another note, Kernighan didn't develop C he just wrote the book.
Kernighan did co-develop gawk which is really neat:)

As another data point, I can't say I agree with the analysis of the
books noted above. I've never read anything about Oberon but I have read
wirth's Pascal stuff.

When you say "serious flaws" do you mean mistakes or merely things you
would have done differently? I don't know if I can defend the C or C++
books as the best book for a beginner with no programming experience, but
I wouldn't dismiss them as the OP does. As technical writing goes, I've
been forced to deal with much worse than either Kernighan or Stroustrup
in both my educational and working experience.

OTOH, C++ is a general purpose Object Oriented (Computer) Programming
(OOP) Language, but it is not and shall never be a panacea for you and,
or anyone else, if one does not learn the basics of the *Art/Science of
Computer Programming*.

Are you condemming Kernighan and holding up Knuth as the model writer
for beginner books?

I own, read, and enjoy both authors but of the two I wouldn't pick Knuth
for a beginner. Unless, he was one of those arrogant, cocky, unbearable
types who really needed an attitude adjustment :) You know the type who
has done a web page and now knows everything about programming and is
fully qualified to dismiss people who have programmed for a living for
years.
 
B

Bo Persson

Balwinder said:
FYI, neither Stroustrup nor other so called designers of programming
languages are teachers and, or has nor expertise in teaching. If you
want learn C++, learn it from a real teacher and, or authoritative
writer on introductory books of C++ _programming_ Language.

Perhaps not an expert, but he is an experienced teacher - being a
university professor, and everything.

His latest book is actually about Programming - using C++ for the
examples. You have to use some language, right?
OTOH, C++ is a general purpose Object Oriented (Computer)
Programming (OOP) Language, but it is not and shall never be a
panacea for you and,
or anyone else, if one does not learn the basics of the
*Art/Science of Computer Programming*.

C++ is a programming language that can be used for OOP, but that is
far from its only use. Unlike specialized languages, supporting just a
specific aspect, C++ lets you use whatever methodology you need for
you particular problem.


Bo Persson
 
R

red floyd

On another note, Kernighan didn't develop C he just wrote the book.
Kernighan did co-develop gawk which is really neat:)

Minor nitpick. Kernighan co-developed AWK (which was named after its
creators: Aho, Weinberger, and Kernighan). "gawk" is the GNU clone of
awk.
 
K

Kensai

Thank you for your answers. I actually read all of them but I reply to
this once since it appears as the first (older) to my newsreader.

Bo,
I'm coming from a totally different field (Medicine) and I want to learn
a relatively powerful language for some Computational Neuroscience
which interests me. I decided to go for C++ and/or Python. Python is
used a lot in the scientific world because it's easy and has [today]
many mathematical/scientific libraries.

C++ is even better in this aspect and I feel that if I become adequate
in such a powerful language then passing to another will be easy.

What I want to achieve? Learn how a computer language works as close to
the metal as possible. This is imperative for me because although many
laymen believe that CPUs and brains work alike, there are many many
differences. And I need to understand these key differences. Going
straight away to a high-level language might make my life easy, but I
won't achieve my basic goal.

Anyway, I've seen a diatribe above about Stroutstrup's teaching
capabilities. The book "Programming: Principles and Practice Using C++"
is really what I wanted to put my hands on because it's written for
engineering students, not computer science ones. Second, he had help
from some experienced colleagues so even if his teaching experience was
mainly with postdoc scientists, he has has honed his skills as a Texas
A&M professor lecturing undergraduates. At the moment, I'm satisfied.

The problem is, I'm still at the first 150 pages and the book is almost
1200. I already see "the big picture", but will it be the same once I
finish it? That's why I asked if someone had read it ALL up to the end.

Kensai
 
B

Bo Persson

Kensai said:
Bo said:
Sure, I liked it a lot. But I'm not a beginner. .-)


What do you want to achive by reading it?


Bo Persson

Thank you for your answers. I actually read all of them but I reply
to this once since it appears as the first (older) to my newsreader.

Bo,
I'm coming from a totally different field (Medicine) and I want to
learn a relatively powerful language for some Computational
Neuroscience which interests me. I decided to go for C++ and/or
Python. Python is used a lot in the scientific world because it's
easy and has [today] many mathematical/scientific libraries.

C++ is even better in this aspect and I feel that if I become
adequate in such a powerful language then passing to another will
be easy.
What I want to achieve? Learn how a computer language works as
close to the metal as possible. This is imperative for me because
although many laymen believe that CPUs and brains work alike, there
are many many differences. And I need to understand these key
differences. Going straight away to a high-level language might
make my life easy, but I won't achieve my basic goal.

Anyway, I've seen a diatribe above about Stroutstrup's teaching
capabilities. The book "Programming: Principles and Practice Using
C++" is really what I wanted to put my hands on because it's
written for engineering students, not computer science ones.
Second, he had help from some experienced colleagues so even if his
teaching experience was mainly with postdoc scientists, he has has
honed his skills as a Texas A&M professor lecturing undergraduates.
At the moment, I'm satisfied.
The problem is, I'm still at the first 150 pages and the book is
almost 1200. I already see "the big picture", but will it be the
same once I finish it? That's why I asked if someone had read it
ALL up to the end.
Kensai

I'm not really qualified to determine how much you learn from this
book, because I already knew it all. I'm just nerdy enough to read
this kind of stuff for fun. :)

The book differs from many others because it teaches C++ as a language
of its own, not as an extension to the C language. I believe this is
the correct way, if your aim is to learn C++. (Logical, isn't it? If
you wanted to learn C, you would read a C book.)


However, to me it seems like the first 250 pages or so, contains a lot
of language details. That's the foundation you need to be able to
write any kind of complete programs. After that, it focuses more on
the Programming part of the learning - just sneaking in the odd
language or library feature as you go along.

Also, you "only" have about 1000 pages of lecture material. The last
200 pages are background and reference material.


Bo Persson
 
O

osmium

Kensai said:
Anyway, I've seen a diatribe above about Stroutstrup's teaching
capabilities. The book "Programming: Principles and Practice Using C++" is
really what I wanted to put my hands on because it's written for
engineering students, not computer science ones. Second, he had help from
some experienced colleagues so even if his teaching experience was mainly
with postdoc scientists, he has has honed his skills as a Texas A&M
professor lecturing undergraduates. At the moment, I'm satisfied.

The problem is, I'm still at the first 150 pages and the book is almost
1200. I already see "the big picture", but will it be the same once I
finish it? That's why I asked if someone had read it ALL up to the end.

I suspect I am typical in that I don't think I have ever read a whole book
on a programming language. The only time I have come close is when I was
using a book as a text book in a course I was teaching, but even then I
rarely got to the end of the book, we ran out of time first. I almost read
K&R on C but glossed over some of the Unix parts of the book.

So good luck on you search.
 
B

Balog Pal

Kensai said:
I'm coming from a totally different field (Medicine) and I want to learn a
relatively powerful language for some Computational Neuroscience which
interests me. I decided to go for C++ and/or Python. Python is used a lot
in the scientific world because it's easy and has [today] many
mathematical/scientific libraries.

Python is IMO a good choice to learn programming at start.
C++ is even better in this aspect and I feel that if I become adequate in
such a powerful language then passing to another will be easy.

'power' is only goos if the wielder has enough lore to use it.
What I want to achieve? Learn how a computer language works as close to
the metal as possible.

Interesting. In that case why not start with assembly?

While if you want to know how a programming (and a language) works, the best
way is to study SICP. http://mitpress.mit.edu/sicp/
This is imperative for me because although many laymen believe that CPUs
and brains work alike, there are many many differences. And I need to
understand these key differences. Going straight away to a high-level
language might make my life easy, but I won't achieve my basic goal.

Yeah, but if you start in the middle, there's a good chance you'll stay
there and sink in the mud. The two paths mentioned above are tried and do
work. By starting at one clear-cut edge.
The problem is, I'm still at the first 150 pages and the book is almost
1200.

C++ is a huge language, and it wan't meant for beginners -- rather for those
who know very well both ends. Who know what they want to do, so then can
tolerate quirks and imperfections in exchange for other attributes.
 
M

me

Kensai said:
Python is
used a lot in the scientific world because it's easy and has [today]
many mathematical/scientific libraries.

I've heard Python is very cool!!
 
A

Anand Hariharan

Balwinder S Dheeman wrote:




This has been noted recently, but I can't remember if it was this thread
or not. Stroustrup is currently working as a Professor. For that matter
Kernighan is also working as a Professor, and Wirth was a Professor when
he did his work on developing Pascal.

It was noted in this thread (http://groups.google.com/group/comp.lang.c
++/msg/269fddd8cffedb7e) - by James Kanze in response to the same
poster (Balwinder S Dheeman).

- Anand
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,580
Members
45,054
Latest member
TrimKetoBoost

Latest Threads

Top