Received: from spf1.us4.outblaze.com (spf1.us4.outblaze.com [205.158.62.23]) by sdf.lonestar.org (8.12.10/8.12.10) with ESMTP id iACCLoQM021265 for ; Fri, 12 Nov 2004 12:21:53 GMT Received: from lists.gnu.org (lists.gnu.org [199.232.76.165]) by spf1.us4.outblaze.com (Postfix) with ESMTP id 0BAA253B9A for ; Fri, 12 Nov 2004 12:21:50 +0000 (GMT) Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.33) id 1CSaZc-0004O8-5y for migo@homemail.com; Fri, 12 Nov 2004 07:30:40 -0500 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.33) id 1CSaZD-0004O3-SH for gnu-arch-users@gnu.org; Fri, 12 Nov 2004 07:30:15 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.33) id 1CSaZD-0004Nr-D7 for gnu-arch-users@gnu.org; Fri, 12 Nov 2004 07:30:15 -0500 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.33) id 1CSaZD-0004No-94 for gnu-arch-users@gnu.org; Fri, 12 Nov 2004 07:30:15 -0500 Received: from [62.233.46.148] (helo=xlate.ouvaton.net) by monty-python.gnu.org with esmtp (Exim 4.34) id 1CSaQC-0003xa-AA for gnu-arch-users@gnu.org; Fri, 12 Nov 2004 07:20:56 -0500 Received: from jack.ou-data.net (jack.ou-data.net [192.168.2.11]) by xlate.ouvaton.net (Postfix) with ESMTP id DBD2967813; Fri, 12 Nov 2004 13:20:53 +0100 (CET) Received: from meuh by jack.ou-data.net with local (Exim 3.35 #1 (Debian)) id 1CSaQ9-0002d2-00; Fri, 12 Nov 2004 13:20:53 +0100 To: Dustin Sallings Subject: Re: [Gnu-arch-users] Re: Re: darcs vs tla References: <20041107234609.7bf0abfe@delta.hk.office.outblaze.com> <1099995711.2900.84.camel@stargate> <20041110204049.GD5978@suffields.me.uk> <20041111093245.GY721@vagabond> <20041111100931.GB11392@hezmatt.org> <6E1DC26B-340C-11D9-9D7F-000393CFE6B8@spy.net> From: Yann Droneaud Organization: Meuh Date: Fri, 12 Nov 2004 13:20:53 +0100 In-Reply-To: <6E1DC26B-340C-11D9-9D7F-000393CFE6B8@spy.net> (Dustin Sallings's message of "Thu, 11 Nov 2004 10:06:37 -0800") Message-ID: <87actnmf6i.fsf@jack.ou-data.net> User-Agent: Gnus/5.1006 (Gnus v5.10.6) Emacs/21.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: GNU Arch Users X-BeenThere: gnu-arch-users@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: a discussion list for all things arch-ish List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: gnu-arch-users-bounces+migo=homemail.com@gnu.org Errors-To: gnu-arch-users-bounces+migo=homemail.com@gnu.org Status: RO Content-Length: 3147 Lines: 80 Dustin Sallings 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 +33 6 88 40 82 43 http://droneaud.com/ http://meuh.org/ http://meuh.tuxfamily.org/ 1024D/BEA43321 5D91 B5B0 5137 B8FE 6882 FE19 CAA0 6F05 BEA4 3321 _______________________________________________ Gnu-arch-users mailing list Gnu-arch-users@gnu.org http://lists.gnu.org/mailman/listinfo/gnu-arch-users GNU arch home page: http://savannah.gnu.org/projects/gnu-arch/