der Mouse wrote:
These times are
gone - assembler is irrelevant for larger projects,
I'm not sure, at least not unless you restrict which kinds of projects
you're talking about. I recently finished playing one of the Ratchet &
Clank games for the PlayStation2, and watched the embedded making-of
video. According to that, their game engine is millions of lines of
assembly. (Unless I misunderstood, of course - I don't have it at
ready hand to rewatch - but it seems unlikely.)
Okay, to specify this claim a bit more: there are still applications
where you use assembler, or rather, it is not complete applications but
small subroutines which cannot be efficiently done with C code, for
instance the low-level part of an interrupt dispatcher, or some
initialization parts of a kernel that fiddle with special registers or
enable paging or alike.
Also few parts of a standard library that deal with I/O ports are often
written in assembler, provided the C compiler does not already know how
to handle them.
Other than that, the current generation of so-called "programmers",
according to my observation, avoid anything that is not close to be
clickable, or "object-oriented" (read: blown-up, slow, inefficient - not
the classic OO style as it was intended - programming skills haven't
really improved since COBOL days): assembler is 666, size or speed, or
engineering quality no longer matters; get the junk out of the door
before the enterprise is reorganized or the dept is closed.
Concerning that playstation game which I don't know, I'd rather
interpret that as advertising bullshit. One could simply count the
number of people involved in programming the core and estimate how many
lines of assembly one would have needed to write. If the result were
even in the 10**5..6 range or even higher, I'd consider this unrealistic
unless one speaks of excessive code duplication. Some code like the OS/2
kernel is about 2 thirds of assembly code, the rest is 16 bit or 32 bit
C, but this is about 800K executable size - not really millions of LOC.
Holger