[Scribus] I really shouldn't open my mouth... but I'm going to

Asif Lodhi asif.lodhi
Sun Nov 5 05:22:00 CET 2006

Hi Calum,

On 11/4/06, Calum Polwart <scribus at wittongilbert.free-online.co.uk> wrote:
> On Wed, 2006-11-01 at 08:57 +0800, Craig Ringer wrote:
> Ok - so my first starting point would be to learn some C++ ..................

A very good book that I have found very useful for beginners is "C++:
How to Program" by Deitel & Deitel.  It covers the latest ISO
standard, is easy to go with and also teaches you UML modelling. It's
not that good from the perspective of teaching object-oriented
programming concepts - even though it teaches good UML - but then you
can learn that from other books also.

Another good book, which I have only partially scanned is the "C++ for
Dummies".  This also covers the language in sufficient depth for

When you have gone through, at least, a book like "C++: How to
Program" and created a few programs yourself (for your own needs, for
example) then do also consider to learn object-oriented design &
programming concepts from some really good books - such as those by
Booch, Rambaugh, etc.

Basically, C++ is the most complex of all computer programming
languages.  The language detail is so much that a beginner gets lost
in the detail and almost always fails to see the forest for the trees.
 I mean that most C++ books, no matter how hard they try, fail to
teach object-oriented design/programming concepts to beginners - in
addition to teaching them C++ - this is mostly because of the language
detail/complexity.  Personally, I have found that those who learn
other object-oriented programming languages, such as Java, grasp
object-oriented concepts better - because, in other languages, they
have to deal with fewer details - but then some make the mistake of
sticking to those "easy" languages - instead of making a come-back to
C++ and explore it in more detail.

I think, the best way to "really" learn C++ is to read a few
beginners' book, such as the ones I have mentioned above, write a few
programs in it, learn another language like Java (because it has
plenty of stuff to teach you good OO design/programming concepts),
"design"  a good few object-oriented programs/systems, make a
come-back to C++ and use C++ with good GUI libraries such as QT,
SmartWin++, V, etc., read the most important books for experienced C++
programmers ("The C++ Programming Language" by Bjarne Stroustrup - the
language's creator, "C++ Primer: 4th Ed." by Stanley Lipmann", "C++
Strategies & Tactics" by Rob Murray, etc.) and read further books on
design such as "Design Patterns" by Eric Gamma and the other three
authors, etc.

The above sounds like too much but, personally, I have found it to be
a useful path for those who want to "really" learn C++ along with
sound object-oriented design and programming concepts.

In addition, you won't get a very good understanding of the language
and appreciate the way it lets you write efficient programs without
compromising the performance unless you also study the Assembly
language for a microprocessor (such as Intel) and Microprocessor
Architecture for that processor.  You will appreciate the beauty of
C++ the most only after you have learned Assembly language - you'll
truly see as to how it handles the various details of the program
generations and why some of the things are the way they are.



More information about the scribus mailing list