I was wondering if assembly is used commercially anymore, or did it
become merely a hobby language? I was looking at job ads and couldn't
find a single one where they specifically looked for an assembly
programmer. Mostly C++, Java, COBOL etc. knowledge was also required.
So what is the truth, is assembly used today?
Thanks, Csaba
I've just tried a search on UK Jobserve. There are a few assembler
roles but not many. They appear to be for games. I guess device
programming - drivers, BIOSes, telemetry, networking kit etc - still
requires some assembler work but there won't be much of it left. As
you know, in general it's probably more cost effective to develop and
maintain high level language code. The dollar rules. Techies get put
out to grass.
James
Of course Assembly language will be used every day. Mostly you will
found solutions with high level languages. But anything related to
booting device needs assembly languages.
When you look at embedded systems you find often the requirement to work
in the specific environment. So it's often an requirement for assembly
language skills.
Regards,
Helge
"Gajo Csaba" <csaba...@MUNGED.microcosmotalk.com> wrote in message
news:4aeec775$0$4963$9a6e...@unlimited.newshosting.com...
it is used now, but it is not likely that one will be able to find a job
with it...
knowing ASM may well be like knowing math:
it is useful, and may well be needed in lots of places, but very few people
can make a career of it.
so, instead, one will usually do a mixed language project, with maybe 90% of
the code in C or C++, and ASM spread around "here and there".
even for something like compiler writing:
one works with and produces lots of ASM;
however, most of the actual work is done in C or similar.
...
> Thanks, Csaba
On 02 Nov 2009 16:31:29 GMT, James Harris
As others have said, mostly embedded code, libraries and drivers.
The comparision is a bit forced, but knowing assembly is
like knowing latin & greek when studying european languages.
It explains where things came from and how they got that way.
-- Robert
>
This is a loaded question: answer depends who you ask. People with
very little exposure to assembly in their routine daily work will of
course disagree violently with the fact that it is used and a
necessary component of modern computing.
They are not writing JIT compilers, real-time code generators,
compilers, microcode for embeddeed devices and so on. A very few
people are. That's why it seems almost underground activity to most of
the application developers and similar programming activity
practitioners.
It's NOT underground, it's just not very popular as far as programming
languages and practises these days go. For good reasons I might add,
but it doesn't lessen the need for people who DO understand
architectures and know how they work and know various mechanisms to
generate code to run on such devices.
The reason why I was asking is that I did work with drivers, and as far
as I can see everything is written in C. Which is not a problem, but I
was wondering if it would be useful if I further specialized myself into
assembly programming (knowing all instructions of a specific platform
etc). Looks like I better not to.
I'm rolling with drivers myself, too, at this time. All, or at least
as much as possible of the driver code is indeed written in C for the
simple reason that our products will be integrated into so many
different systems. The target platforms are not always x86 or ARM, the
range varies a lot so in that sense C is fine and it does work from
performance point of view pretty well - well enough at least!
One thing that doesn't change is the "product" and it needs some ucode
to do anything useful. For that assembly is a must (in one form or
other, offline compiler, stitching the ucode, or using macros, etc..)
sometimes we have room in instruction memory only for like, 20-30
instructions you know, so a full-blown offline assembly compiler would
be overkill a lot of times.
In my hobby projects I generate a lot of code from states, so much
that it prompted me to write a lot of tools for generating code in
runtime. But that's different. It's not commercial environment, so I
can afford as much time I want to attempt perfection, which I won't of
course ever achieve as the better some stuff becomes so does ambition
and expectation go higher. Oh well. Screw it. ;)