Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Interesting book reference

7 views
Skip to first unread message

Ioannis Vranos

unread,
May 28, 2009, 4:55:19 PM5/28/09
to
I happened to click a link to check the page of VC++ 208 Express Edition, and I found out that a book of
Schildt is mentioned there:


http://www.microsoft.com/express/vc


"Access the C++ Beginner's Guide free e-book by Herb Schildt to get started learning the fundamentals today".

There it has a link:


http://msdn.microsoft.com/en-us/beginner/cc305129.aspx

Anyone else impressed?

--
Ioannis A. Vranos

C95 / C++03 Developer

http://www.cpp-software.net

Ioannis Vranos

unread,
May 28, 2009, 4:58:29 PM5/28/09
to
Ioannis Vranos wrote:
> I happened to click a link to check the page of VC++ 208 Express
> Edition, and I found out that a book of Schildt is mentioned there:
>
>
> http://www.microsoft.com/express/vc
>
>
> "Access the C++ Beginner's Guide free e-book by Herb Schildt to get
> started learning the fundamentals today".
>
>
>
> There it has a link:
>
>
> http://msdn.microsoft.com/en-us/beginner/cc305129.aspx
>
>
>
> Anyone else impressed?


Yeap, it is interesting from the beginning of the first chapter:

"CRITICAL SKILL 1.1: A Brief History of C++

The history of C++ begins with C. The reason for this is easy to understand: C++ is built upon the
foundation of C. Thus, C++ is a superset of C. C++ expanded and enhanced the C language to support
object-oriented programming (which is described later in this module). C++ also added several other
improvements to the C language, including an extended set of library routines. However, much of the
spirit and flavor of C++ is directly inherited from C. ==> Therefore, to fully understand and appreciate C++,
you need to understand the �how and why� behind C".

Phlip

unread,
May 28, 2009, 5:26:26 PM5/28/09
to
Ioannis Vranos wrote:

> "CRITICAL SKILL 1.1: A Brief History of C++

Ooh, a Schildt Bashing Thread!

> The history of C++ begins with C. The reason for this is easy to
> understand: C++ is built upon the
> foundation of C. Thus, C++ is a superset of C. C++ expanded and enhanced
> the C language to support
> object-oriented programming (which is described later in this module).
> C++ also added several other
> improvements to the C language, including an extended set of library
> routines. However, much of the
> spirit and flavor of C++ is directly inherited from C. ==> Therefore, to
> fully understand and appreciate C++,
> you need to understand the �how and why� behind C".

Ho hum ... C++ is not a "superset" if it also redefines a few C things, like
void* grammar ... whatever. I don't see how writing the word "superset" there
will corrupt the youth of America.

Next, we all know that the best way to learn C++ is as a high-level language,
starting at the non-C things like std::string. The /Ruminations on C++/ approach
by Koenig, IIRC. Learn C when its time to debug array overruns (like you can get
even with std::string.)

Could you go in after some raw details that suck? I doubt, this late, you will
find a 'void main' - even when describing a MS product.

And whose names are in the Acknowledgements? Any VC++ bigwigs we know?

--
Phlip

Ioannis Vranos

unread,
May 28, 2009, 6:57:32 PM5/28/09
to
Phlip wrote:
> Ioannis Vranos wrote:
>
>> "CRITICAL SKILL 1.1: A Brief History of C++
>
> Ooh, a Schildt Bashing Thread!
>
>
> Could you go in after some raw details that suck? I doubt, this late,
> you will find a 'void main' - even when describing a MS product.
>
> And whose names are in the Acknowledgements? Any VC++ bigwigs we know?


Actually there are many details that I thing are wrong or quite inaccurate, when taking quick looks at chapter
1 pdf.

For example this paragraph:

"==> C++ is the parent for both Java and C#. Although both Java and C# added, removed, and modified
various features, in total the syntax for these three languages is nearly identical. Furthermore, the
object model used by C++ is similar to the ones used by Java and C#. Finally, the overall �look and feel�
of these languages is very similar. ==> This means that once you know C++, you can easily learn Java or C#.
==> The opposite is also true. ==> If you know Java or C#, learning C++ is easy. ==> This is one reason that
Java and C# share C++�s syntax and object model; it facilitated their rapid adoption by legions of experienced
C++ programmers".

Ioannis Vranos

unread,
May 28, 2009, 7:00:59 PM5/28/09
to
Phlip wrote:
>
> And whose names are in the Acknowledgements? Any VC++ bigwigs we know?


I didn't find any acknowledgements so far, but I have only taken a look at chapter 1 a bit.

Phlip

unread,
May 28, 2009, 11:41:33 PM5/28/09
to
Ioannis Vranos wrote:

> For example this paragraph:
>
> "==> C++ is the parent for both Java and C#.

You selecting the exact paragraph to motivate me. Regardless of Java's
advertising copy, it has nothing to do with C++. Further, C++ is a member of a
healthy family tree of living "C languages", including Objective-C (and
Objective-C++!), various reference implementations, and the new forthcoming
standards. Actually researching those relations would have added a lot of value
here.

And C# is nothing but Java with some keywords search-replaced. Calling Java a C
language is like calling JavaScript both a C language and a Java language -
because they all have curly braces {} in common! 'Nuff said.

> This means that once you know
> C++, you can easily learn Java or C#.

Then he goes for the exact crucial reason not to compare C++ to those pieces of
pure shit. Anyone deluded into thinking C++ gets them any closer to Java/C# is
headed for the kind of nasty surprise that wastes a lot of time and effort.

Thanks! I needed to do some bashing today, but your first 'graph simply was not
doing it for me! (-:

--
Phlip

James Kanze

unread,
May 29, 2009, 4:54:12 AM5/29/09
to
On May 29, 5:41 am, Phlip <phlip2...@gmail.com> wrote:
> Ioannis Vranos wrote:
> > For example this paragraph:

> > "==> C++ is the parent for both Java and C#.

> You selecting the exact paragraph to motivate me. Regardless
> of Java's advertising copy, it has nothing to do with C++.

Sure it does. It uses curly braces. It also has way too many
operators, with way too many different levels of precedence, a
completely broken variable declaration syntax, no nested
functions, it's compiled (so you can't execute text input at
runtime), with static typechecking (more or less) and explicit
(and implicit) conversions. Java is certainly closer to C++
than it is to, say, Lisp, or even Smalltalk.

> Further, C++ is a member of a healthy family tree of living "C
> languages", including Objective-C (and Objective-C++!),
> various reference implementations, and the new forthcoming
> standards. Actually researching those relations would have
> added a lot of value here.

Probably, although I'm not sure how accurate the term "living"
is. Are new applications really being written in Objective-C?
(That's a serious question. I know a few places it was used 10
or more years ago, but I've not heard anything of it since.)

--
James Kanze (GABI Software) email:james...@gmail.com
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34

Ioannis Vranos

unread,
May 29, 2009, 6:37:25 AM5/29/09
to
James Kanze wrote:
>
> Sure it does. It uses curly braces. It also has way too many
> operators, with way too many different levels of precedence, a
> completely broken variable declaration syntax, no nested
> functions, it's compiled (so you can't execute text input at
> runtime), with static typechecking (more or less) and explicit
> (and implicit) conversions.


Are you talking about Java or C++ here?

Bart van Ingen Schenau

unread,
May 29, 2009, 6:41:56 AM5/29/09
to
James Kanze wrote:

> On May 29, 5:41 am, Phlip <phlip2...@gmail.com> wrote:
>
>> Further, C++ is a member of a healthy family tree of living "C
>> languages", including Objective-C (and Objective-C++!),
>> various reference implementations, and the new forthcoming
>> standards. Actually researching those relations would have
>> added a lot of value here.
>
> Probably, although I'm not sure how accurate the term "living"
> is. Are new applications really being written in Objective-C?
> (That's a serious question. I know a few places it was used 10
> or more years ago, but I've not heard anything of it since.)

As far as I am aware, Objective-C is the preferred language for writing
applications for the Apple iPhone & iPod. That means the language will
probably increase in popularity in the coming few years.

> --
> James Kanze (GABI Software) email:james...@gmail.com

Bart v Ingen Schenau
--
a.c.l.l.c-c++ FAQ: http://www.comeaucomputing.com/learn/faq
c.l.c FAQ: http://c-faq.com/
c.l.c++ FAQ: http://www.parashift.com/c++-faq-lite/

Stuart Golodetz

unread,
May 29, 2009, 7:02:48 AM5/29/09
to
James Kanze wrote:
> On May 29, 5:41 am, Phlip <phlip2...@gmail.com> wrote:
>> Ioannis Vranos wrote:
>>> For example this paragraph:
>
>>> "==> C++ is the parent for both Java and C#.
>
>> You selecting the exact paragraph to motivate me. Regardless
>> of Java's advertising copy, it has nothing to do with C++.
>
> Sure it does. It uses curly braces. It also has way too many
> operators, with way too many different levels of precedence, a
> completely broken variable declaration syntax, no nested
> functions, it's compiled (so you can't execute text input at
> runtime), with static typechecking (more or less) and explicit
> (and implicit) conversions. Java is certainly closer to C++
> than it is to, say, Lisp, or even Smalltalk.
>
>> Further, C++ is a member of a healthy family tree of living "C
>> languages", including Objective-C (and Objective-C++!),
>> various reference implementations, and the new forthcoming
>> standards. Actually researching those relations would have
>> added a lot of value here.
>
> Probably, although I'm not sure how accurate the term "living"
> is. Are new applications really being written in Objective-C?
> (That's a serious question. I know a few places it was used 10
> or more years ago, but I've not heard anything of it since.)

It's used for developing Mac OS X and iPhone applications. (I've been
looking into doing some coding for the latter, which is how I know.)
Incidentally, Wikipedia says it's "primarily" used in those
environments, which I didn't know:

http://en.wikipedia.org/wiki/Objective-C

Regards,
Stu

> --
> James Kanze (GABI Software) email:james...@gmail.com

> Conseils en informatique orient�e objet/
> Beratung in objektorientierter Datenverarbeitung
> 9 place S�mard, 78210 St.-Cyr-l'�cole, France, +33 (0)1 30 23 00 34

Juha Nieminen

unread,
May 29, 2009, 9:32:18 AM5/29/09
to
Stuart Golodetz wrote:
> It's used for developing Mac OS X and iPhone applications.

Luckily you can use Objective-C++, so it's a bit better situation.

Phlip

unread,
May 29, 2009, 9:38:47 AM5/29/09
to
Ioannis Vranos wrote:

> James Kanze wrote:
>>
>> Sure it does. It uses curly braces. It also has way too many
>> operators, with way too many different levels of precedence, a
>> completely broken variable declaration syntax, no nested
>> functions, it's compiled (so you can't execute text input at
>> runtime), with static typechecking (more or less) and explicit
>> (and implicit) conversions.

> Are you talking about Java or C++ here?

He's listing the problems Java's architects didn't bother fixing because C++ had
them in spades. Yes, C++ influenced Java. Just not enough that any
self-respecting author should claim a parental relationship, only to spread his
C++ book into Java's market...

--
Phlip

Phlip

unread,
May 29, 2009, 9:41:13 AM5/29/09
to
Stuart Golodetz wrote:

> It's used for developing Mac OS X and iPhone applications. (I've been
> looking into doing some coding for the latter, which is how I know.)
> Incidentally, Wikipedia says it's "primarily" used in those
> environments, which I didn't know:
>
> http://en.wikipedia.org/wiki/Objective-C

Maaster!! You have created ... a monster!!

Yes, Igor! By tr-r-ransplanting Smalltalk's virtual dispatch system into zee
skull of my cadaver of zee C language, zee virtual messages shall move zee arms
and zee legs uvv structs and ints! Und zey vill doo our biddings!! Vee vill rool
zee wooorld!! Mwha-ha-haha!

Vhat vill you call heem, Maaster??

I vill call him... Id.

Jerry Coffin

unread,
May 29, 2009, 11:39:19 AM5/29/09
to
In article <gvmtn8$sgi$2...@news.grnet.gr>, ivr...@freemail.gr says...

> I happened to click a link to check the page of VC++ 208 Express Edition, and I found out that a book of
> Schildt is mentioned there:

[ ... ]

> Anyone else impressed?

Impressed? yes. Positively? no.

--
Later,
Jerry.

The universe is a figment of its own imagination.

James Kanze

unread,
May 31, 2009, 5:27:13 AM5/31/09
to
On May 29, 12:37 pm, Ioannis Vranos <ivra...@freemail.gr> wrote:
> James Kanze wrote:

> > Sure it does. It uses curly braces. It also has way too
> > many operators, with way too many different levels of
> > precedence, a completely broken variable declaration syntax,
> > no nested functions, it's compiled (so you can't execute
> > text input at runtime), with static typechecking (more or
> > less) and explicit (and implicit) conversions.

> Are you talking about Java or C++ here?

Both.

James Kanze

unread,
May 31, 2009, 5:32:48 AM5/31/09
to
On May 29, 12:41 pm, Bart van Ingen Schenau <b...@ingen.ddns.info>
wrote:

> James Kanze wrote:
> > On May 29, 5:41 am, Phlip <phlip2...@gmail.com> wrote:

> >> Further, C++ is a member of a healthy family tree of living
> >> "C languages", including Objective-C (and Objective-C++!),
> >> various reference implementations, and the new forthcoming
> >> standards. Actually researching those relations would have
> >> added a lot of value here.

> > Probably, although I'm not sure how accurate the term
> > "living" is. Are new applications really being written in
> > Objective-C? (That's a serious question. I know a few
> > places it was used 10 or more years ago, but I've not heard
> > anything of it since.)

> As far as I am aware, Objective-C is the preferred language
> for writing applications for the Apple iPhone & iPod. That
> means the language will probably increase in popularity in the
> coming few years.

Interesting. Having Steve Jobs behind you certainly helps keep
you around:-).

(Seriously, I've never used Objective-C, so I can't express any
real opinion about it. My comment was based on companies that I
knew who used Objective-C on NeXT, and had more or less decided
to change policies because NeXT wasn't going to be available any
more.)

--
James Kanze (GABI Software) email:james...@gmail.com

Ioannis Vranos

unread,
May 31, 2009, 5:53:27 AM5/31/09
to
James Kanze wrote:
>
> Both.


OK then, I will comment regarding C++.


James Kanze wrote:

> Sure it does. It uses curly braces.


Which are at least as obvious as keywords "begin" and "end" in Pascal.

> It also has way too
> many operators, with way too many different levels of
> precedence,


Should they have, let's say, two levels of precedence only?

> a completely broken variable declaration syntax,


Why it is broken?


> no nested functions,


What would be the additional practical advantage of having that.


Also keep in mind, you can define function object types, and define function objects inside functions:

#include <iostream>


int main()
{
class NestedFunctionType
{
public:
void operator()(void)
{
std::cout<< "Function object!\n";
}
};


NestedFunctionType nestedfunction;

nestedfunction();
}


> it's compiled (so you can't execute
> text input at runtime),


An example of what you mean? You mean C++ source code input?

> with static typechecking (more or
> less) and explicit (and implicit) conversions.


Well it is a compiled language.

0 new messages