[ale] Assembly & C

synco gibraldter synco at xodarap.net
Wed Sep 24 06:02:53 EDT 2003


On 23 Sep 2003 at 17:26, Benjamin Scherrey wrote:

>  C is not the language to learn before learning C++. C++ is a superset
>  of C but C++ is also 
> a language that enforces certain constructs, implements OO
> capabilities, and supports abstractions and programming concepts (via
> the compiler) that are far outside the scope of C. To be a C++
> programmer you need to approach it from these directions otherwise you
> lose most of the benefits of the language. To do this you will have to
> unlearn a lot of old-C idioms so its counter-productive. C was
> designed effectively to be a platform-independent or portable assembly
> language and succeeded remarkably well which is why it is the language
> of choice for operating system level development. C++, being a
> superset of C, can be used as an even better platform independent
> assembly language (as a language) but, unfortunately, ABI standards
> are just not there to support this portability between compilers so C
> still holds this turf rather strongly although it has made remarkable
> inroads in the embedded development market.

i love this answer... very succinct.  i'm a long-time c programmer and i've done very 
little in c++ [i took an intro class in high school and i own 1 book that i won't 
recommend to anyone] and i have no intention of learning it further.  i'm sure i could 
do the same things in c++ i do in c but do them easier, but the transition would be 
such a drastic one that i haven't really wanted to.  it just "seems" like a lot of 
overhead knowledge to do the same things and, although i know this is just my 
perspective because i've been doing things the long way for so long, your analysis 
above is right on.

>  Your request to learn C++ & asm, however, leads me to wonder what
>  kind of application 
> development you are embarking on.

shellcode?  or perhaps just a better understanding of how things come together on 
the back end -- not a bad idea, even if you never actually code in asm.  hard to 
understand the concepts of compiling and linking if you only know what they do 
conceptually.

--    synco gibraldter
--    atlanta, ga
--    synco at xodarap.net
--    key id: 0xC5117E0A



More information about the Ale mailing list