Re: The Lib debate
From: JohnFound (johnfound_at_evrocom.net)
Date: 10 Feb 2004 09:13:03 -0800
Gerhard W. Gruber <email@example.com> wrote in message news:<firstname.lastname@example.org>...
> On 9 Feb 2004 07:46:55 -0800 wrote email@example.com (JohnFound) in
> alt.lang.asm with <firstname.lastname@example.org>
> I guess you only know Linux from hearing it in the newspapers commercials paid
> by Microsoft. Otherwise you wouldn't spout such a nonsense.
Wrong guess, I never believe in ads. I even stop buying the goods that
are currently boosted on the TV. ;) I know Linux on my own experience,
because I was forced to write applications under Linux on my last job.
So, I can say candidly - Linux sucks! :D BTW: Do you ever write
something profesionally under Linux?
> That's the idea of a black-box, rmeber? I don't have to study microelectronics
> to use a radio. There is such a thing as a userinterface with a clear
> specification which says " Turn that knob and you will eventually hit your
> favourite radio station."
Weak, example. But let use it to illustrate the case. Black box
approach is good if everything is ideal. (It is invented in good
studyes when proffesor X between two caps of coffe said: "Black box
programming - what a lovely idea!"). But in the real world there is no
such idea - ideal black box. Imagine - you turn the knob of radio and
- buzzzz. You goes two meters left and lift your left leg - it plays
great rock'n'roll. But it is not comfortble. You goes in your chair -
buzzzzz. :D and so on.
What you have to do? Right - go to the service. BUT WHAT TO DO WITH
"BUZZZZ"-ing LIBRARY SUBROUTINE? Go to the service? YOU ARE THE
SERVICE! You are the programmer that should provide the function to
play rock'n'roll, not to emit strange noises. The pity is that 90% of
novadays HLL programmers will write in the user manual: "System
requirements: To ensure best results the user should stay with raised
left leg out of his chair." :D
> There are such things as people wanting to get a job done.
There is nothing wrong to want to get job done. But if the programmer
says: "You have to buy new computer to work with my program." - Do you
call this "job is done"?
> no point in tuning code down to the latest clockcycle, when all it does is to
> wait for the hard disk to spin up to load a single data package.
Wrong. Good writen program in multitask environment in such situation
must be suspended and free some CPU resources to the other
applications in the system.
> Huh? Ever used something like STL? Using a string in STL is not much different
> then using it in normal code....
It is not a problem for source-level libraries at all. You simply
forget that we talking not against libraries, but about precompiled vs
You can check the StrLib in Fresh package, that provide a bunch of
string functions working on dynamic and static strings. Maybe it is
not the ideal string library in the world, but I can change it in
every moment, beause it is on source-level, not precompiled.
> There are
> enough reasons to use libraries and you never always know in which language
> they were written and you shouldn't care. The question is not which language
> they were developed in, but do they serve your needs.
I want to clear the things. All the time, I am talking about assembler
written applications. Not about inline assembler in C, neither
assembly written component for VB. So, WHAT IS ASSEMBLER WRITTEN
APPLICATION, if you use precompiled libraries written on HLL? What
percent of the code should be written in assembler to let us qualify
the program as "assembly" program?
And if you include only one external library written on HLL, it is
possible that HLL/assembly code size ratio will be 5:1 - because you
know, HLL libraryes are BIG. So, can we talking about assembler
programming if the 80% of the code is HLL precompiled library?
There ARE people writing applications in assembly language. Look at:
http://www.goosee.com/ (EVE - vector graphics editor in 73k)
Here is a small quote from EVE user manual (the author of EVE is Barry
EVE is small because she is handcrafted in assembly language, and was
to make maximum use of the raw Win32 API. Most software developed
use tools that result in layers of software -- in other words the
high levels of abstraction to speed code development, with the penalty
of enormous code size and slow performance. The difference in code
size and speed between these two opposite approaches is staggering.
> You can always write your own device driver in ASM to avoid that.
Well, rather not driver, but OS. :) And there are people writing such
OSes. Take a look at MenuetOS project or V2OS project. It is not only
me and Betov so crazy. :D