|
From: | Brandon J. Van Every |
Subject: | [Chicken-users] Re: Integrating unit tests into source code |
Date: | Thu, 14 Dec 2006 05:59:23 -0800 |
User-agent: | Thunderbird 1.5.0.8 (Windows/20061025) |
Peter Bex wrote:
On Thu, Dec 14, 2006 at 03:10:28AM -0800, Brandon J. Van Every wrote: The point is, you can use LGPL code as "starter code," and incrementally transform it, until you have only BSD code. The incrementality is important. Some licenses will prevent you from doing that. Anyway, even if we're not using the exact code, we could use something like a similar syntax or at least take the good ideas and let PLT keep the bad ideas :) It takes me 6 design iterations to get anything right, and that's only for perfunctory low-level features. For contract programming I'd rather look at someone else's mature programming model. The paradigm is pretty fundamental to the way you're gonna write your software. That may be an argument in favor of simpler testing mechanisms. If the Scheme programmer doesn't have to think of anything new to implement a testing mechanism, that's a short-term benefit. I've never cared about contract programming, because I'm too saddled with performance concerns to worry about that. Also, when you write code that can return errors, there's the ongoing question of "Gee, what are we going to do about the errors?" If you're a 20 person organization, well you're gonna have lotsa code monkeys writing lotsa code to deal with the errors. But if you're 1 guy just trying to get something working, you're wasting your time mentally masturbating on how you might deal with the errors, in a design that isn't mature yet, and is gonna change another 5 times before you're happy with it. I'm saying, testing and errors are appropriate when your design is more stable. That's rather downstream, and also a rather expensive support burden. Compare build engineering. Chicken had to exist a long time, and go through a bunch of so-so builds, before it was worth having someone like me come along to "make it all proper" with 1 build. Not that we're there yet, but in 6..12 months it'll be there. The heavy lifting is done. And it was *expensive* to do that heavy lifting. Chicken was stable enough to take it though. Are there any BSD licensed Schemes worth poaching?I hope someone else can answer this. You could Google around about it. :-) Admittedly, it's more involved than looking up the PLT Scheme license. I thought I saw a chart comparing all the Scheme implementations once upon a time, but I can't find it now. Here's the Wikipedia entry on Design By Contract: http://en.wikipedia.org/wiki/Design_by_contract#PLT_Scheme . That's the only Scheme listed there. I don't know how many flavors of DBC are out there. I suspect several. So there's the broader question of "what kind of DBC?" Please don't post to another list when replying to a thread. It makes it very hard to follow discussions. Oops. The problem, in my point of view, is that you Unix guys are always setting up mailing lists to be "Reply To Sender." So I have to manually type the name of the list every time I reply. Sometimes I make a mistake. Windows guys set up their mailing lists to be "Reply To List." This is all religion about how mail clients should be implemented. Unixers go for the traditions peculiar to their historical mail clients. Windozers go for what makes sense to the common man; "Reply" means "send it back to where it came from." We subscribe to a list, things come from the list, we send things back to the list. I will wager, furthermore, that a default of Reply-To-Author is a relic of a time when net curmudgeons didn't want you "wasting everyone's time" with your idle chit-chat. Force you to think about replying to the entire group, the entire world community, all the resources wasted on all those servers, oh my! Mutt and other threaded mailclients can't display the thread tree correctly if the mails are in different mailboxes, of course, and some people might not be subscribed to both mailinglists and miss half the discussion. I'm crossposting this in the hope to move the thread back to chicken-users. Another problem is I sometimes have trouble telling where a thread actually belongs. I suppose "do you like testing or contract programmer interfaces?" is a Users question. How to do it, such as where you will snarf code from, is a Hackers question. Cheers, Brandon Van Every |
[Prev in Thread] | Current Thread | [Next in Thread] |