On Wed, Jun 23, 2010 at 11:57 AM, Aled Gest <himse...@gmail.com> wrote: >> Yes, wasting resources is a Bad Thing, by the strict definition of >> 'waste' -- cost with no benefit. But if you use more of one >> inexpensive resource in order to reduce the use of another expensive >> resource and achieve a net gain in the process, that's not waste, >> that's smart. > > I'm still a little confused as to why you keep insisting that > competence is expensive. > >> How much Lisp/Scheme have you written? > > About 0 lines of code in my life time so far. > >> Note the 'if's in what you said above. There are a lot more examples >> that will involve a lot more ifs when editing C, none when editing >> Scheme. > > Note the other solution you skipped over, which essentially removes > the 'if' in this case for C. > >> Superfluous? The regular and simple syntax of Scheme and Lisp is one >> of the factors that allows the language to easily take full advantage >> of the von Neumann architecture: programs that write and execute >> programs. (TCL actually has this virtue, too, because there's some >> Lisp influence in its design, though it's not nearly as clean as >> Scheme.) The ease of editing is a side-effect of this, a property of >> Lisp that has been there since the language was invented by John >> McCarthy in the early 1960s, long before text editors were a gleam in >> anyone's eye. So you've got the cart before the horse -- the simple >> editing is a consequence of a long-standing property of the language; >> there were no contraints, superfluous or otherwise, imposed on Scheme >> to make it simple to edit. > > Yes superfluous, do all the parentheses need to be there, if so, why? > >> I never said that. I said, in effect, that complex tools are sometimes >> useful, even essential. Yes, simplicity is a virtue, but sometimes you >> can't have it, either because it's inherently impossible or it simply >> hasn't been done. >> >> You have been professing to be allergic to anything big and >> complicated ("Emacs, being all but a >> small operating system in itself, goes against the very idea of >> simplicity, but each to their own.") but I was pointing out to you >> that you use operating systems, which are big and complicated. You do >> because you can't compute without one. Do you use gcc? Big and >> complicated. With editors, you have more choice. I choose emacs >> because it's useful to me, it works well on today's hardware even >> though it's huge (here again, we have the trade-off that you hate; I'm >> willing to burn some extra cycles and some extra memory, courtesy the >> super-computer on my desk, to save me time and effort, allowing me to >> work on the real problem I'm trying to solve; that's a characteristic >> of a good tool -- giving you leverage in order to accomplish something >> good that you wouldn't otherwise be able to do) so on a cost-benefit >> basis, it works well for me. Quite evidently, you don't feel that way. >> So use something small and simple, if it makes you feel better. But if >> it makes you less productive, I'd argue that that's a bad trade. > > The point is Emacs and tools like it (Eclipse comes to mind) are > unnecessarily complex and cumbersome, and in the case of Emacs, it > goes against a fundamental principle of Unix philosophy -- "Write > programs that do one thing and do it well". > > I wouldn't be surprised if there was an Emacs module that cooks Sunday > dinner. That would be useful, but completely misplaced. > >> The only thing that has a chance of convincing you, and I think it's a >> very slim one, is if you actually spent some time doing Scheme >> development. I doubt that a "practical rationale" exists that would >> move you at all. > > The problem with that idea is there don't seem to be any resources (as > far as I've found or have been shown) that don't come with pages upon > pages of inflated waffle before getting to any point. I'd be more than > happy to give it a try if somebody could point me to a concise > reference that gets straight to the point and provides practical > examples. If that doesn't exist for Scheme, then it certainly doesn't > meet my requirements. I have no interest in academic theology. > >> What you are hearing from Scheme advocates comes from experience with >> the language and developing in it. It's hard to describe its virtues >> in the abstract (again, pun intended). It's a bit like Supreme Court >> Justice Potter Stewart's comment about pornography -- "it's hard to >> define, but I know it when I see it". All I can say to you is that >> I've been doing this for a very long time, I've written code in just >> about every language you can think of (except Perl, which looks like >> something that came out of a broken modem to me; didn't Paul Graham >> say that it looks like a cartoon character cursing?), and I am more >> productive in Scheme than any other language (one reason is that Jerry >> and Guy Steele found a very small basis set; I almost never consult >> documentation when writing Scheme -- the small set of core principles >> are in my head; that's not true of C, particularly when writing >> declarations). There's also the 80-20 rule to consider. If one >> develops in Scheme and finds that the result is too slow, there's >> always the escape to C for the critical inner-loop stuff. > > I have no doubt that some people are more productive in Language X > than Language Y, and that's all well and good, but people don't all > think the same way. What works for one person does not necessarily > work for another, so for somebody to be convinced that changing the > way they work will benefit them, they must be presented with valid > evidence in support of that case. > > I think it's prudent to once again point out here, that this > conversation started because somebody was suggesting that Scheme > *should* be used by everybody for everything. If that is a valid > suggestion to make, then there needs to be practical non academic > guides to getting started in scheme, and there needs to be examples of > code that proves Scheme's superior nature to people who aren't > ingrained in Scheme mentality. > > Saying "you'll love it once you get used to it" just doesn't cut it, > but that's all I ever hear from Scheme and Lisp fans. It seems for me > to like Scheme I must first bludgeon my self with senseless inflated > BS, and that does not suggest to me a language worthy of my devotion. > I don't do blind faith. > >> Having said that, my guess is that your experience would be different >> than mine. We've already agreed that we see things very differently >> and, as I've said above, my guess is that even if you made a >> good-faith attempt to gain some Scheme experience, you'd still hate >> it. There's nothing wrong with that -- there's lots of work in the >> world for people who want to be close to the hardware and feel the >> electrons buzzing around them. But I do suggest that you to think more >> about the net productivity of computer + human rather than just the >> computer; you'll accomplish a lot more as a software developer if you >> do. > > Human productivity is what I think about, I see computer productivity > as being something that has a direct effect on human productivity. > Programmers don't have the right to be lazy, because their laziness > costs other people, whether that cost is perceived is irrelevant in my > mind. > > The world is full of business managers who ignorantly follow the > short-sighted 'cost-benefit' principle you're so fond of, and > programmers who are happy to be lazy and take shortcuts to reach > arbitrary targets, and as result the world in a large part runs on > inadequate and inefficient software.
This discussion has become all cost and no benefit to me, in other words, a waste. So I think we should stop. /Don > >