Re: Announcing the RosAsm Library Project

Discussion in 'C Programming' started by Evenbit, Oct 5, 2007.

  1. Evenbit

    Evenbit Guest

    On Oct 4, 6:29 pm, "" <> wrote:
    > Hey, Rene,
    >
    > Let's pretend for a moment that we're all on "Planet Betov" where
    > using statically linked library code is never done and all code reuse
    > is accomplished by "cut & paste".
    >
    > In this dream world, here's what I see:
    >
    > MASM: People can cut and past code from the MASM32 Library source
    > code.
    > FASM: People can cut and past code from the FASMLIB source code.
    > NASM: People can cut and past code from the ASMLIB source code
    > HLA: People can cut and past code from the HLA Standard Library.
    >
    > RosAsm: ????
    >
    > Even if we "level the playing field" and don't allow static linking of
    > libraries, as all these other assemblers support, where exactly is the
    > "RosAsm Library"? (Or snippets, or templates, or whatever else you
    > want to call it.)
    >


    This is extremely easy to answer. The average RosAsm coder tends to
    only make use of the libraries documented here:

    http://msdn2.microsoft.com/en-us/library/aa383749.aspx

    If you wish to revue the source code, then bring that issue up with
    Microsoft. Please let us know of any positive results. ;)

    If a programmer feels that a project requires him to use a large
    amount of pre-written "library" code and advanced programming features/
    tools, then he must seriously question why he is using assembly
    language (rather than a High-Level Language) in the first place.
    After a programmer has made the choice to code at the ASM level, he
    has already -- by default/definition -- decided to avoid the trappings
    of the HLL world.

    You are indeed one pecular person. On the one hand [ http://www.artofasm.com
    ], you have taught, written a book, built an advanced assembler, and
    generally answer many questions about assembly language. However, on
    the other hand, you spend a great deal of time here in alt.lang.asm
    denigrating assembler tools and "bashing" those who write assembly
    language.

    So, the question is [this goes also for all those regular a.l.a
    trolls]: Are you here to _support_ the *assembly language*
    community? Or, are you here to encourage everyone to "give up" on ASM
    and adopt an easy HLL instead?

    Nathan.
     
    Evenbit, Oct 5, 2007
    #1
    1. Advertising

  2. Evenbit

    Guest

    On Oct 4, 6:36 pm, Evenbit <> wrote:
    >
    > This is extremely easy to answer. The average RosAsm coder tends to
    > only make use of the libraries documented here:
    >
    > http://msdn2.microsoft.com/en-us/library/aa383749.aspx


    Which is a bit limiting, wouldn't you agree?

    >
    > If you wish to revue the source code, then bring that issue up with
    > Microsoft. Please let us know of any positive results. ;)


    Actually, at one time I *had* the NT sources on my machine (research
    at UCR in the OS research time). Let's just say that at 35 million
    lines of code (at the time, this was NT 4.0) it may as well have been
    closed source. :)


    >
    > If a programmer feels that a project requires him to use a large
    > amount of pre-written "library" code and advanced programming features/
    > tools, then he must seriously question why he is using assembly
    > language (rather than a High-Level Language) in the first place.


    Why is that?
    You do realize that with every OS API call you're making, you're doing
    exactly this -- making use of a large amount of pre-written "library"
    code.


    > After a programmer has made the choice to code at the ASM level, he
    > has already -- by default/definition -- decided to avoid the trappings
    > of the HLL world.


    What makes you think this? You do realize, don't you, that the *vast*
    majority of people who write assembly code are actually writing
    functions to be called from HLLs, right?

    And what "trappings" of the HLL world are you talking about?
    I've seen *very* little code posted to this group or to any assembly
    language site that couldn't be done in almost exactly the same way in
    a HLL.

    >
    > You are indeed one pecular person. On the one hand [http://www.artofasm.com
    > ], you have taught, written a book, built an advanced assembler, and
    > generally answer many questions about assembly language. However, on
    > the other hand, you spend a great deal of time here in alt.lang.asm
    > denigrating assembler tools and "bashing" those who write assembly
    > language.


    Well, I wonder why that is?

    >
    > So, the question is [this goes also for all those regular a.l.a
    > trolls]: Are you here to _support_ the *assembly language*
    > community?




    > Or, are you here to encourage everyone to "give up" on ASM
    > and adopt an easy HLL instead?


    I'm all for people using the appropriate tools for a given task. If an
    "easy HLL" is more appropriate than assembly language for the task,
    I'm all for having them adopt an "easy HLL" instead.

    The argument that all applications should be written in assembly
    language was lost over a decade and a half ago, I'm afraid. Although I
    feel that far more code should be written in assembly language than we
    see today, only a fool would claim that all code should be written in
    assembly language. Today, the main reason for learning assembly
    language is *not* so you can write all your code in assembly, but so
    that you can understand what HLL compilers are doing with your source
    code when they translate it into machine code. This allows you to
    write much better HLL source code.

    What's funny, despite Rene's constant dream about an "assembly
    rebirth" is that today people are viewing languages like C (and even C+
    +) the same way assembly language was viewed 15 years ago. I suspect
    that in another 10 years, you'll hear the old time C programmers
    arguing about how programs ought to be written in C rather than in the
    latest gee-whiz interpreted scripting language.

    As much as I would like to see things turn out otherwise, the bottom
    line is that assembly language is really dying off. Anyone who doesn't
    see this just isn't paying attention. Oh sure, we had a big burst of
    activity when the Iczelion Tutorials were first announced, and lately
    there *have* been a couple of new books appear, but how many people
    are *truly* developing assembly language code (of any kind --
    libraries, OSes, system tooks, apps, whatever)?

    In one resect, Rene is right. Where are all the assembly apps? And I
    add "written with any assembler?" Or sure, a few crackpots (myself
    included) still do it, but everyone in this newsgroup is out on the
    fringe.

    Though *writing* assembly language code isn't so bad, the real problem
    with most people is the issues of testing, debugging, and maintenance.
    I don't care what debugger you use, one simple fact is that debugging
    assembly language code is a heck of a lot more work than debugging HLL
    code. The reason is pretty simple -- you can't do things like screw up
    the stack in most HLLs; you generally get *some* sort of type checking
    in those HLLs that is missing from assembly (including HLA, I might
    add). Having just developed a test suite for the HLA stdlib, I can
    tell you that it's a heck of a lot more work to test and debug
    assembly code that it is to debug the equivalent C code.

    Then, on top of that, code has to be maintained. Very few projects in
    this world are like HLA/HLA stdlib where a single person works on the
    code for 10 years. In most environments, you have some senior
    engineers who develop something, get it working reasonably well, and
    then they dump the result on someone else for maintenance and
    enhancement. Now matter how good *you* are at assembly language, the
    sad fact is that most people, to whom the code is going to be dumped
    on later, don't know assembly language or, at best, have a passing
    knowledge of it. That, alone, is probably the major reason why
    assembly language *has died out*.

    Yes, there are still some *very* good reasons for learning assembly
    language. And for certain projects there are some good reasons why one
    should use assembly language. But assembly language really has become
    a "niche within a niche".

    The reasons for using assembly language today have little to do with
    "avoiding the trappings of a HLL." Indeed, the main reason HLLs have
    caught on is to avoid the trappings of assembly language. Today,
    there are only a few valid reasons for using assembly language on a
    real project. I'm kind of a special case, I use assembly language (for
    example, I'm writing a terminal emulator for General Atomics right now
    in assembly language) for a couple of reasons that have little to do
    with the project:

    1) I enjoy working in assembly language
    2) I get to further test the HLA compiler and stdlib by using it on
    work-related projects

    and then, of course, the biggie:

    3) Job Security! :)

    (the last is a joke, if you didn't catch on to that.)

    Soon, I expect to be working on a rewrite of the Triga Mark II digital
    console software (currently written in C under QNX4) to Linux. I'm
    contemplating doing this project in assembly language because it will
    force me to write a lot of assembly code under Linux and really shake
    out the HLA system under Linux. I'm currently weighing the benefits of
    that against the "unprofessionalism" of delivering an application
    written in assembly language to the next person who comes along and
    works on the project.

    Bottom line is that you want to always advocate using the right tool
    for the job. Some times, the right tool *is* assembly language; most
    of the time it is not (opinions in this newsgroup not withstanding).
    Yes, facilities like the HLA standard library make it possible to use
    assembly language where it absolutely did not make sense before, but
    by and large, assembly's day has passed.

    Now as to "denigrating tools around here", well, some tools (e.g.,
    RosAsm) are pure crap and they do even more harm to assembly's
    reputation and a practical development tool. Such crap definitely
    deserves appropriate comments; especially when it's being pushed as a
    "solution" to perceived problems.

    One of those perceived problems, and hence this satrical thread, is
    this crazy notion that assembly language libraries are bad. This is
    absolutely insane. The only reason Rene would even make such a claim
    is because he's never gotten around to providing such a library for
    RosAsm users. If he doesn't have something, his reaction is to attack
    those who do.

    hLater,
    Randy Hyde
     
    , Oct 5, 2007
    #2
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Mark Hahn
    Replies:
    22
    Views:
    672
    Carlos Ribeiro
    Sep 9, 2004
  2. Calum Grant
    Replies:
    0
    Views:
    340
    Calum Grant
    Sep 1, 2005
  3. Evenbit
    Replies:
    2
    Views:
    267
    Steve
    Oct 5, 2007
  4. David Baird
    Replies:
    0
    Views:
    286
    David Baird
    Feb 18, 2009
  5. Tony Arcieri
    Replies:
    6
    Views:
    172
    Tony Arcieri
    Jan 1, 2008
Loading...

Share This Page