TIP: Click on subject to list as thread! ANSI
echo: c_plusplus
to: MATHIEU BOUCHARD
from: JONATHAN DE BOYNE POLLARD
date: 1998-01-30 14:27:00
subject: converting char to string

 MB> Btw, remember that C++ is a kind of high-level typed assembler with
 MB> Simula classes and Ada generics. You don't completely understand it
 MB> until you know more or less how to program in assembler.
[ The term is "assembly language", by the way.  "Assembler" is the thing that 
assembles, not the language itself.  ]
Inasmuch as Turing's hypothesis holds, and all programming languages are 
fundamentally equivalent, C++ is a "kind of" assembly language.  But on a 
less theoretical level I have to disagree with you.  C++ is nothing like 
assembly language, either in structure or in syntax, and is most certainly 
not just a variant on it as you imply.
I'd argue that the reason that most people don't completely understand C++ 
until they know assembly language is not that they need to know assembly 
language /per se/, but that they need to understand the basic CPU and memory 
architecture of the machine that they are using, so that they can understand 
what is actually going on when (say) they dereference a pointer.
But this is just a matter of knowing how the "abstract machine" that the C++ 
language defines relates to the real physical machine that the program runs 
on.  A complete understanding of C++ involves fully understanding that 
abstract machine, and only *partially* understanding the real one.  One 
doesn't need to know what the FISTP instruction does in order to write C++ 
programs.
 ¯ JdeBP ®
--- FleetStreet 1.19 NR
---------------
* Origin: JdeBP's point, using Squish (2:440/4.3)

SOURCE: echomail via exec-pc

Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.