Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 17 Apr 2004 16:38:49 +0400
From:      DoubleF <doublef@tele-kom.ru>
To:        Daniela <dgw@liwest.at>
Cc:        Miles Lubin <miles@lubin.us>
Subject:   Re: Beginning C++ in FreeBSD
Message-ID:  <20040417123848.GA244@Shark.localdomain>
In-Reply-To: <200404171050.29467.dgw@liwest.at>
References:  <200404151110.i3FBAaoo048373@adsl-68-76-19-75.dsl.klmzmi.ameritech.net> <200404162234.05133.dgw@liwest.at> <4BA66CA5-8FF0-11D8-BD38-000A95EFF4CA@foolishgames.com> <200404171050.29467.dgw@liwest.at>

next in thread | previous in thread | raw e-mail | index | archive | help

--Kj7319i9nmIyA2yE
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Sat, Apr 17, 2004 at 10:50:29AM +0000,
 Daniela probably wrote:
> On Friday 16 April 2004 21:52, Lucas Holt wrote:
> > > Why would one need C++ if it's converted to C anyway?
> >
> > C++ is useful for programmers that believe in object oriented
> > methodologies.  Some things are easier to do in C++ as well.  It all
> > depends on the programmer.
> >
> > You seem to favor assembly languages.  I've found that many people into
> > assembly never seem to get OO and therefore languages like C++ and Java
> > make no sense to them.   Assembly *can be* fast but its not portable.
> > C was created to make unix portable.  C++ was created to add OO
> > features to C.  (as was objective c)
>=20
> I do program in C++ quite often and it does make sense to me. I know seve=
n=20
> programming languages and which one I use depends on the program, as I fi=
nd=20
> them all easy. OO languages can be optimized differently than non-OO=20
> languages, and when you translate one language into another, this advanta=
ge=20
> gets lost.
>=20
> I would rather say, assembly is fast and can be portable, if it's done=20
> properly. Yes, it is an unforgiving language, but I think beginning=20
> programmers need exactly that.
>=20

I don't think that assembly is the best language to learn first. English
is:) (I mean, reading the draft standards is a good idea; though they
can't be regarded as manuals, they have valuable examples and notes).

Learning assembly has the added advantage of knowing (at least
basically) what happens when you do a dynamic_cast<>(), for instance.
Assembly doesn't have to be portable to be usable this educational way.
At least for me, this is necessary to be sure of what I'm doing in C++.

This doesn't mean that to understand a C++ program, I have to convert it
to assembly:). It just means that, when I face a problem, I can dig into
the details and find out what I've done wrong, etc. OO means a high
level of abstraction, and if part of the levels are floating in the air
with nothing to support them, you sooner or later will face problems ---
the problems of your misunderstanding how it works.

I don't mean you have to write every program in assembly, but if you
understand how it works --- it certainly helps. YMMV.

--=20
DoubleF
Legalize free-enterprise murder: why should governments have all the
fun?

--Kj7319i9nmIyA2yE
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (FreeBSD)

iD8DBQFAgSVXwo7hT/9lVdwRAmYcAJ4ta0BLL1tIwtBuGPiXIA6ydhYm2gCeNu0y
bLeiGHhjcWfgVhTDbXz3Wuo=
=BwY9
-----END PGP SIGNATURE-----

--Kj7319i9nmIyA2yE--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040417123848.GA244>