From owner-freebsd-questions@FreeBSD.ORG Sat Apr 17 05:41:00 2004 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D939116A4CE for ; Sat, 17 Apr 2004 05:41:00 -0700 (PDT) Received: from mx.tele-kom.ru (mx.tele-kom.ru [213.80.148.6]) by mx1.FreeBSD.org (Postfix) with SMTP id E827943D2D for ; Sat, 17 Apr 2004 05:40:56 -0700 (PDT) (envelope-from doublef@tele-kom.ru) Received: (qmail 32036 invoked by uid 555); 17 Apr 2004 16:40:55 +0400 Received: from shark (213.80.149.236) by t-k.ru with TeleMail/2 id 1082205653-32015 for luke@foolishgames.com; Sat, 17 Apr 16:40:53 2004 +0400 (MSD) Received: by shark (Postfix, from userid 1000) id D012F75; Sat, 17 Apr 2004 16:38:50 +0400 (MSD) Date: Sat, 17 Apr 2004 16:38:49 +0400 From: DoubleF To: Daniela Message-ID: <20040417123848.GA244@Shark.localdomain> Mail-Followup-To: DoubleF , Daniela , Lucas Holt , freebsd-questions@freebsd.org, Miles Lubin 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> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="Kj7319i9nmIyA2yE" Content-Disposition: inline In-Reply-To: <200404171050.29467.dgw@liwest.at> User-Agent: Mutt/1.4.2.1i X-Operating-System: FreeBSD Shark.localdomain 4.8-RELEASE FreeBSD 4.8-RELEASE cc: freebsd-questions@freebsd.org cc: Miles Lubin Subject: Re: Beginning C++ in FreeBSD X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 17 Apr 2004 12:41:01 -0000 --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--