473,394 Members | 1,371 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,394 software developers and data experts.

C++ From the Beginning by Jan Skansholm

I came across this title while looking for something fairly unrelated (UML
diagrams for C++ templates). The review quoted below is solidly positive.
I'm not going to be able to run out an buy the book right now. I am still
interested in opinions of people who have read it. Learning C++ is on a par
with tensor analysis for me. It's damn hard! Anything that reduces the
obstacles facing the beginner is worth promotting - IMHO.

I'm still working on Stroustrup's tome. There was a comment somewhere in
the introductory sections of TC++PL(3E) saying the book was intended to
contain enough material to so that more than one reading would be rewarding
to most programmers. I believe I missed that the first time I read the
first part of the book.

C++ From the Beginning by Jan Skansholm
http://www.accu.org/bookreviews/publ...p/cp000030.htm

To write a book about C++ aimed for beginners is not an easy task, but this
is a real good one. Jan Skansholm is a lecturer in the Department of
Computer Science at Chalmers University in Sweden and has also written 'Ada
95 from the beginning'. He does not require any previous experience of C
from the reader and really starts from scratch by explaining how a computer
and a program works.

There is a short but interesting history of OOP and the process of
developing a program is described in detail, without expecting any previous
knowledge of programming from the student.

After 185 pages (of a total of 537) the author starts to explain object-
oriented program development. I have never before seen topics like pointers
and inheritance explained in such a clear and easy to understand way. The
code examples are clean and compact. I think the samples have to be short
when trying to explain such a difficult language as C++. The book's value
is enhanced by the small information windows with syntax and/or explanation
of different C++ statements. These Windows are collected in a index of
their own at the end of the book. For me, this title will also find use as
a handy pocket reference beside the computer.

The newer features of the C++ programming language are well covered. For
example, the topic of exceptions is treated in its own chapter. However, I
don't like the authors idea of collecting the switch statement, do
statement and the conditional operator in a last chapter for the reason
that they did not 'fit in anywhere else in the book'. Of course the do
statement should have been introduced together with the while and for loops
and the conditional operator in the same scope asif-else.

There is a collection of good exercises after most of the chapters, but in
spite of that, I think the speed in this book (after the first chapters)
will make it hard to read for the real beginner. Maybe making it more
suitable for programmers with experience from some other language,
requiring a thorough introduction to C++. However, this title is well worth
its price.

--
STH
Hatton's Law: "There is only One inviolable Law"
KDevelop: http://www.kdevelop.org SuSE: http://www.suse.com
Mozilla: http://www.mozilla.org
Jul 22 '05 #1
2 2484
On Sat, 24 Apr 2004 13:41:17 -0400
"Steven T. Hatton" <su******@setidava.kushan.aa> wrote:
I came across this title while looking for something fairly unrelated
(UML diagrams for C++ templates). The review quoted below is solidly
positive.


Be warned though, the book was published before the ISO standard
was finalised, although the prologue does state that it's based on
the "proposed ANSI standard".

There's a 2nd edition (ISBN: 02017216861998) which was published in 2002
and covers the ISO standard, so this may be a better bet.

I've not read either of these myself though, so take this info for what
you will.

Best regards,

Matt.
Jul 22 '05 #2
> interested in opinions of people who have read it. Learning C++ is on a
par
with tensor analysis for me. It's damn hard! Anything that reduces the
obstacles facing the beginner is worth promotting - IMHO.


nothing too hard about tensor analysis, its all about raising and lowering
covariant and contravariant indexes. Whats so hard about that :P
Jul 22 '05 #3

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

4
by: Thierry Lam | last post by:
Let's say I already wrote a file and have the following: testing testing testing testing testing testing Is there an easy way to write something of variable length at the top of the file? ...
5
by: anas.hashmi | last post by:
I am trying to write to the beginning of a file. The reason: I want to make a form where board webmasters can use it to insert in updates to a webpage without having to go directly into the web...
3
by: Matt | last post by:
Given a date, how to find the beginning date and ending date of that week please advise!
36
by: invni | last post by:
I have a nested while. How do I go from the inner while to the beginning of the outer while? Can this be done without using goto? while_1() { some codes here while_2() { if true go to the...
16
by: btopenworld | last post by:
Hi - question from a relative asp novice I have written to text files in the past, but always appending new data to the end of the text file. I now want to add the new data to the beginning of...
2
by: BobRoyAce | last post by:
I am using an IO.StreamReader to read the contents of a text file. It all works just fine. However, I do not know of a way to move back to the beginning of a file. For example, let's say that I...
1
by: OBAFGKM_RNS | last post by:
In my html, I have an embedded sound wav. I access that sound from my javascript using Play() and Stop(). However, once stopped, the sound will aways resume from where it left off, (making Stop...
3
by: Petimus | last post by:
Nowhere can I find the beginning of line Character for Regex in C#. Im using the expression *(, *)*$ But without the <Beginning of line>*(, *)*$ my strings are accepted with random letters in them...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.