gnu-arch-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Gnu-arch-users] Re: Re: darcs vs tla


From: Yann Droneaud
Subject: Re: [Gnu-arch-users] Re: Re: darcs vs tla
Date: Fri, 12 Nov 2004 13:20:53 +0100
User-agent: Gnus/5.1006 (Gnus v5.10.6) Emacs/21.3 (gnu/linux)

Dustin Sallings <address@hidden> writes:

> On Nov 11, 2004, at 3:07, Yann Droneaud wrote:
>
>> "it can do more [improper, invalid, faulty, bad] work with one
>> statement"
>>
>> Higher languages makes bigger mistakes, low level languages makes a
>> lot of
>> small mistakes, so the results are generally the same.
>> Only the programmer and his mind make a difference.
>
>       Wow, this argument reminds me of a programmer at my last
> company whom I had to convince that reuse was good.  You see, he
> thought that if code were reused, then someone could go and introduce
> a bug into the reused library and affect all kinds of things, but if
> every program reproduced the world that would be impossible.
> Obviously, if a bug was found in the pasted code (which it invariably
> was), it was a much larger problem.
>


No need to convince me reuse is good. I don't rewrite my own kernel, 
and if I'm a free software supporter this is to be able to reuse the
more code I could (and to produce some too ;).

To elaborate on my toughts:

If you use incorrectly a high level function (with bad arguments for example),
the whole action of the function will be broken, the end result will be
probably completly incorrect.
Or think of bugged functions, libraries, without the sources or with
huge sources, broken documentation, not portable, where you have to
build a whole framework to circumvenent the bugs or limitations: in this
case, you will spend too much time build a workaround if you ever find a
way, or search for another library.

Instead if you use a broken down function as simples primitives,
you can introduce a small error when using one of the primitive,
the end result will could be still good, with a litte error (truncated
string), as wrong as with the higher level, more wrong.

The difference will be in the time needed to find and correct the bug.
We can only hope the bug is not in the high level function.
Using a unknown library or a well known broken library is always bet.

To conclude, for me the best case is when you have high level primitives
build around accessibles low level primitives with correct
documentation. And having multiple choice of libraries.

And reuse is good, i don't discuss it.

>       Likewise, would you rather fix one broken line of code, or 100?
>

If you have one broken line of code and not for a typo or some simple errors
you have to review the complete program/function using this line: it's a
flaw in your analysis or your understanding of the work of the function.

Instead, it's sometimes easier to rework the 100 lines of code to match
the behavior you expected.

So there's no real point for me...

Regards.

-- 
Yann Droneaud      <address@hidden>        +33 6 88 40 82 43
<address@hidden>  <address@hidden>  <address@hidden>
http://droneaud.com/ http://meuh.org/ http://meuh.tuxfamily.org/
1024D/BEA43321 5D91 B5B0 5137 B8FE 6882 FE19 CAA0 6F05 BEA4 3321




reply via email to

[Prev in Thread] Current Thread [Next in Thread]