Account Options

  1. Sign in
The old Google Groups will be going away soon, but your browser is incompatible with the new version.
Google Groups Home
« Groups Home
ILC2003: ARC
There are currently too many topics in this group that display first. To make this topic appear first, remove this option from another topic.
There was an error processing your request. Please try again.
flag
  Messages 26 - 43 of 43 - Collapse all  -  Translate all to Translated (View all originals) < Older 
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
 
From:
To:
Cc:
Followup To:
Add Cc | Add Followup-to | Edit Subject
Subject:
Validation:
For verification purposes please type the characters you see in the picture below or the numbers you hear by clicking the accessibility icon. Listen and type the numbers you hear
 
Doug Tolton  
View profile  
 More options Oct 19 2003, 1:26 pm
Newsgroups: comp.lang.lisp
From: Doug Tolton <d...@nospam.com>
Date: Sun, 19 Oct 2003 17:26:49 GMT
Local: Sun, Oct 19 2003 1:26 pm
Subject: Re: ILC2003: ARC

There are a lot of people rethinking the whole strong OOP point of view.
   Python for example has classes, but does not enforce encapsulation.
As a developer that has used OOP for a long time, I have seen many of
the limitations to that approach.  I think OOP has it's uses, but I've
found languages such as Java and C# overly rigid in their application of
it.  I like the Multiple dispatch model in Lisp much better for
instance, as well as first class functions.

After having done a quite a bit of work in Python and learning Lisp, I
went back to work on a fairly large program I'd written in C#.  The
amount of time you spend dealing with type cast errors is quite
aggravating IMO.  I find that I am far more efficient solving problems
in Python and Lisp than I am under C# or Java. In fact I would say it's
a rather large stretch to say OOP embodies the "current wisdom" in
software design, more to the point I would say it embodies the current
*trend* in software design.  Those two statements are not equivalent.

> In brief, I can see people look at his approach and say "We tried that
> already, it was called 'spagetti programming' and we're trying to move
> away from that."

OOP didn't fix spagetti programming.  I have seen horribly spagettified
programs written in both Java and C#.  In fact I have yet to see *any*
programming paradigm that will make an ill-conceived approach to
software design turn out well.  I think you made a big logical leap to
say that anything not OOP is spagetti programming.  Lisp has CLOS, but
there is quite a bit of code that doesn't use it, does that make all
non-CLOS code spagetti code?  I think not.

> I think there are some valid benefits to his approach, though.

I agree with this point. :)

--
Doug Tolton
(format t "~a@~a~a.~a" "dtolton" "ya" "hoo" "com")


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Gareth McCaughan  
View profile  
 More options Oct 19 2003, 4:33 pm
Newsgroups: comp.lang.lisp
From: Gareth McCaughan <gj...@g.local>
Date: 19 Oct 2003 20:57:45 +0100
Local: Sun, Oct 19 2003 3:57 pm
Subject: Re: ILC2003: ARC

Doug Tolton wrote:
> OOP didn't fix spagetti programming.

It's been said that OO replaces spaghetti with ravioli.
What you get is a big pile of classes with inheritance
all over the place (and in inappropriate places), with
all conditionals being handled implicitly by polymorphism.
When this is done well, the resulting code can be very nice
to read (once you're used to the style). When it's done
badly, it's as bad as the old pile o' GOTOs ever was.

--
Gareth McCaughan
.sig under construc


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Conrad Barski  
View profile  
 More options Oct 19 2003, 8:37 pm
Newsgroups: comp.lang.lisp
From: mygenericemailacco...@yahoo.com (Conrad Barski)
Date: 19 Oct 2003 17:37:29 -0700
Local: Sun, Oct 19 2003 8:37 pm
Subject: Re: ILC2003: ARC
Yeah, the final straw in C++ came when I had a "Variant" template
class and had to generate a function object with the boost function
template libraries to generate a function type that returned said
variant. I think I spent about 2 evenings trying to get the returned
template variable *just so* so that the compiler accepted it as the
correct type definition, requiring many, many layers of angled
template brackets and finally determined that it was *probably* not
possible for unknown reasons.

In Lisp, this would have been trivial.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Adam Warner  
View profile  
 More options Oct 19 2003, 8:57 pm
Newsgroups: comp.lang.lisp
From: Adam Warner <use...@consulting.net.nz>
Date: Mon, 20 Oct 2003 13:57:07 +1300
Local: Sun, Oct 19 2003 8:57 pm
Subject: Re: ILC2003: ARC
Hi Doug Tolton,

>> In brief, I can see people look at his approach and say "We tried that
>> already, it was called 'spaghetti programming' and we're trying to move
>> away from that."

> OOP didn't fix spaghetti programming. [...]

Paul Graham clearly believes OOP is a source of spaghetti programming.
From note 178 on page 408 of ANSI Common Lisp:

   Let's play that back one more time: /we can make all these types of
   modifications without even looking at the rest of the code/. This idea
   may sound alarmingly familiar to some readers. It is the recipe for
   spaghetti code.

   The object-oriented model makes it easy to build up programs by
   accretion. What this often means, in practice, is that it provides a
   structured way to write spaghetti code. This is not necessarily bad,
   but it is not entirely good either.

   A lot of code in the real world is spaghetti code, and this is probably
   not going to change soon. For programs that would have ended up as
   spaghetti anyway, the object-oriented model is good: they will at least
   be structured spaghetti. But for programs that might otherwise have
   avoided this fate, object-oriented abstractions could be more dangerous
   than useful.

I agree with the tenor of these conclusions.

Regards,
Adam


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Thomas F. Burdick  
View profile  
 More options Oct 20 2003, 1:52 am
Newsgroups: comp.lang.lisp
From: t...@famine.OCF.Berkeley.EDU (Thomas F. Burdick)
Date: 19 Oct 2003 22:52:52 -0700
Local: Mon, Oct 20 2003 1:52 am
Subject: Re: ILC2003: ARC

Gareth McCaughan <gj...@g.local> writes:
> Doug Tolton wrote:

> > OOP didn't fix spagetti programming.

> It's been said that OO replaces spaghetti with ravioli.

I'd say it's more like tagliatelli.

> What you get is a big pile of classes with inheritance
> all over the place (and in inappropriate places), with
> all conditionals being handled implicitly by polymorphism.
> When this is done well, the resulting code can be very nice
> to read (once you're used to the style). When it's done
> badly, it's as bad as the old pile o' GOTOs ever was.

Oh, it's much much worse.  Maybe it's just because I cut my teeth on
BASIC, but spaghetti (or tagliatelli) OOP code in, say, Java, is 1000
times harder to follow than good old spaghetti and polpetti BASIC.
(Or FORTRAN).

<duck>

--
           /|_     .-----------------------.                        
         ,'  .\  / | No to Imperialist war |                        
     ,--'    _,'   | Wage class war!       |                        
    /       /      `-----------------------'                        
   (   -.  |                              
   |     ) |                              
  (`-.  '--.)                              
   `. )----'                              


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Ivan Toshkov  
View profile  
 More options Oct 20 2003, 4:28 am
Newsgroups: comp.lang.lisp
From: Ivan Toshkov <fors...@hotmail.com>
Date: Mon, 20 Oct 2003 11:28:00 +0300
Subject: Re: ILC2003: ARC

Gareth McCaughan wrote:
> Doug Tolton wrote:

>>OOP didn't fix spagetti programming.

> It's been said that OO replaces spaghetti with ravioli.
> What you get is a big pile of classes with inheritance
> all over the place (and in inappropriate places), with
> all conditionals being handled implicitly by polymorphism.
> When this is done well, the resulting code can be very nice
> to read (once you're used to the style). When it's done
> badly, it's as bad as the old pile o' GOTOs ever was.

There was a whole Pasta theory to programming (IIRC), which ordered the
resulting programs like that:

1. Spaghetti (worst)
2. Lazania -- layers
3. Ravioli -- being the best. e.g. Beans or something.

But, OOL don't fix the design by its own.  I'm working with Java since
1999 and most of the systems I saw (and wrote) ended up to be speghetti.

Perhaps in Java, they should be called Spaghlets :))

--
Ivan Toshkov

email: first-n...@last-name.org


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Kenny Tilton  
View profile  
 More options Oct 20 2003, 11:04 am
Newsgroups: comp.lang.lisp
From: Kenny Tilton <ktil...@nyc.rr.com>
Date: Mon, 20 Oct 2003 15:03:49 GMT
Local: Mon, Oct 20 2003 11:03 am
Subject: Re: ILC2003: ARC

So no one is saying OO is bad, right? It's OO in Java or OO in CLOS in
the hands of a wood-pusher. Lispniks love high-powered tools which can
lop off limbs if used without finesse. Such is CLOS. Esp. with Cells.

kenny

ps. Should we share with everyone that McCarthy, when asked point blank
by Paul Graham, shared that he had voted for Arnold? "We muscle men have
to stick together," he said as he flexed on stage.

kt

--
http://tilton-technology.com
What?! You are a newbie and you haven't answered my:
  http://alu.cliki.net/The%20Road%20to%20Lisp%20Survey


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Doug Tolton  
View profile  
 More options Oct 20 2003, 11:17 am
Newsgroups: comp.lang.lisp
From: Doug Tolton <d...@nospam.com>
Date: Mon, 20 Oct 2003 15:17:38 GMT
Local: Mon, Oct 20 2003 11:17 am
Subject: Re: ILC2003: ARC

I'm not saying that OOP is bad per se.  I think it's like much of the
other tools, in the hands of a good hacker it's a great boon, in the
hands of a newb it sucks.

Like I said, I have yet to find any paradigm that makes up for stupidity
or ignorance.

> kenny

> ps. Should we share with everyone that McCarthy, when asked point blank
> by Paul Graham, shared that he had voted for Arnold? "We muscle men have
> to stick together," he said as he flexed on stage.

Yeah, that was a funny sequence.  I'm guessing that room was filled
mostly with democrats?  I woulda voted for Arnold too. :) Cruz was just
freaky IMO.

--
Doug Tolton
(format t "~a@~a~a.~a" "dtolton" "ya" "hoo" "com")


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Paolo Amoroso  
View profile  
 More options Oct 20 2003, 12:34 pm
Newsgroups: comp.lang.lisp
From: Paolo Amoroso <amor...@mclink.it>
Date: Mon, 20 Oct 2003 18:00:15 +0200
Local: Mon, Oct 20 2003 12:00 pm
Subject: Re: ILC2003: ARC

Thomas F. Burdick writes:
> I'd say it's more like tagliatelli.

                                   ^
                                   e

> times harder to follow than good old spaghetti and polpetti BASIC.

                                                            ^
                                                            e

Paolo
--
Paolo Amoroso <amor...@mclink.it>


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Marco Antoniotti  
View profile  
 More options Oct 20 2003, 12:37 pm
Newsgroups: comp.lang.lisp
From: Marco Antoniotti <marc...@cs.nyu.edu>
Date: Mon, 20 Oct 2003 12:36:53 -0400
Local: Mon, Oct 20 2003 12:36 pm
Subject: Re: ILC2003: ARC

prunesqual...@comcast.net wrote:
> Doug Tolton <d...@nospam.com> writes:

>>I haven't personally run into a problem with not having Macros as
>>first class objects, but it would be interesting to see how they
>>behaved differently if they were first class.  Does anyone know why
>>Macros aren't first class objects in CL currently?

> It's hard to compile the source code if it isn't generated
> until run-time.

(defun generate-and-compile (x)
    (compile nil `(lambda (y) (+ ,x y)))

(funcall (generate-and-compile 42) 42)

Cheers
--
Marco


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Ray Dillinger  
View profile  
 More options Oct 20 2003, 1:20 pm
Newsgroups: comp.lang.lisp
From: Ray Dillinger <b...@sonic.net>
Date: Mon, 20 Oct 2003 17:18:29 GMT
Local: Mon, Oct 20 2003 1:18 pm
Subject: Re: ILC2003: ARC

Ivan Toshkov wrote:

> There was a whole Pasta theory to programming (IIRC), which ordered the
> resulting programs like that:

> 1. Spaghetti (worst)
> 2. Lazania -- layers
> 3. Ravioli -- being the best. e.g. Beans or something.

Odd.  Our preferred naming for badly-structured C++ and Java
code was "goulash" -- something about the hungarian notation.

                                Bear


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Joe Marshall  
View profile  
 More options Oct 20 2003, 2:19 pm
Newsgroups: comp.lang.lisp
From: Joe Marshall <j...@ccs.neu.edu>
Date: Mon, 20 Oct 2003 14:19:44 -0400
Local: Mon, Oct 20 2003 2:19 pm
Subject: Re: ILC2003: ARC

Yeah, but it really doesn't help performance in this case:

(map 'list (lambda (x y)
             (funcall (generate-and-compile x) y))
           list-one
           list-two)


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Gareth McCaughan  
View profile  
 More options Oct 20 2003, 2:33 pm
Newsgroups: comp.lang.lisp
From: Gareth McCaughan <gj...@g.local>
Date: 20 Oct 2003 19:18:56 +0100
Local: Mon, Oct 20 2003 2:18 pm
Subject: Re: ILC2003: ARC

Kenny Tilton wrote:

[in reply to Doug Tolton, me, and Thomas Burdick:]

> So no one is saying OO is bad, right? It's OO in Java or OO in CLOS in
> the hands of a wood-pusher. Lispniks love high-powered tools which can
> lop off limbs if used without finesse. Such is CLOS. Esp. with Cells.

I certainly wasn't saying that OO is bad. Only that
bad programmers can produce pasta in any language.

--
Gareth McCaughan
.sig under construc


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Thomas F. Burdick  
View profile  
 More options Oct 20 2003, 4:41 pm
Newsgroups: comp.lang.lisp
From: t...@hurricane.OCF.Berkeley.EDU (Thomas F. Burdick)
Date: 20 Oct 2003 13:41:30 -0700
Local: Mon, Oct 20 2003 4:41 pm
Subject: Re: ILC2003: ARC

Gareth McCaughan <gj...@g.local> writes:
> Kenny Tilton wrote:

> [in reply to Doug Tolton, me, and Thomas Burdick:]
> > So no one is saying OO is bad, right? It's OO in Java or OO in CLOS in
> > the hands of a wood-pusher. Lispniks love high-powered tools which can
> > lop off limbs if used without finesse. Such is CLOS. Esp. with Cells.

> I certainly wasn't saying that OO is bad. Only that
> bad programmers can produce pasta in any language.

Absolutely.  And for the record, I'm a big fan of both CLOS and
TAGBODY/GO, when used properly.

--
           /|_     .-----------------------.                        
         ,'  .\  / | No to Imperialist war |                        
     ,--'    _,'   | Wage class war!       |                        
    /       /      `-----------------------'                        
   (   -.  |                              
   |     ) |                              
  (`-.  '--.)                              
   `. )----'                              


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Kenny Tilton  
View profile  
 More options Oct 20 2003, 4:55 pm
Newsgroups: comp.lang.lisp
From: Kenny Tilton <ktil...@nyc.rr.com>
Date: Mon, 20 Oct 2003 20:55:01 GMT
Local: Mon, Oct 20 2003 4:55 pm
Subject: Re: ILC2003: ARC

Oh, OK, I thought I saw CLOS getting the Lisp Treatment(tm), as when
Lisp gets marked down as slow because a newbie goes on a consing binge.

kenny

--
http://tilton-technology.com
What?! You are a newbie and you haven't answered my:
  http://alu.cliki.net/The%20Road%20to%20Lisp%20Survey


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Doug Tolton  
View profile  
 More options Oct 20 2003, 6:05 pm
Newsgroups: comp.lang.lisp
From: Doug Tolton <d...@nospam.com>
Date: Mon, 20 Oct 2003 22:05:12 GMT
Local: Mon, Oct 20 2003 6:05 pm
Subject: Re: ILC2003: ARC

I chucked in a couple of inverted logic twists, where I asked a question
then asked it in the negative.  Maybe it looked that way, but I wasn't
intending to trash CLOS.  I was trying to make the point that all
non-CLOS code isn't crap.  Meaning you can write good non-OO code just
as you can write crappy OO code.

--
Doug Tolton
(format t "~a@~a~a.~a" "dtolton" "ya" "hoo" "com")


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Christian Lynbech  
View profile  
 More options Oct 21 2003, 4:21 am
Newsgroups: comp.lang.lisp
From: Christian Lynbech <christian.lynb...@ericsson.com>
Date: Tue, 21 Oct 2003 10:19:54 +0200
Local: Tues, Oct 21 2003 4:19 am
Subject: Re: ILC2003: ARC

>>>>> "Ray" == Ray Dillinger <b...@sonic.net> writes:

Ray> Odd.  Our preferred naming for badly-structured C++ and Java
Ray> code was "goulash" -- something about the hungarian notation.

Could also be a reference to quality.

In Denmark, goulash has a somewhat dubious reputation going back to
World War I. Denmark remained neutral and some scooped up quite a
fortune selling food to the warring parties. A lot of it was labelled
"goulash" and was made out of the lowest possible quality ingredients.

Those greedy characters involved in that business was named "goulash
barons" due to the wealth they gained and the match between the
quality of their products and their moral and general behaviour.

With all due apologies to the hungarians which definitely knows how to
make very good goulash.

------------------------+-------------------------------------------------- ---
Christian Lynbech       | christian #\@ defun #\. dk
------------------------+-------------------------------------------------- ---
Hit the philistines three times over the head with the Elisp reference manual.
                                        - peto...@hal.com (Michael A. Petonic)


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Ivan Toshkov  
View profile  
 More options Oct 21 2003, 4:45 am
Newsgroups: comp.lang.lisp
From: Ivan Toshkov <fors...@hotmail.com>
Date: Tue, 21 Oct 2003 11:45:23 +0300
Local: Tues, Oct 21 2003 4:45 am
Subject: Re: ILC2003: ARC

Ray Dillinger wrote:
> Ivan Toshkov wrote:

>>There was a whole Pasta theory to programming (IIRC), which ordered the

I did a bit of googling and found it:
http://www.gnu.org/fun/jokes/pasta.code.html

>>resulting programs like that:

>>1. Spaghetti (worst)
>>2. Lazania -- layers

Its spelled Lasagna, but my spell checker didn't complain!  Odd.

>>3. Ravioli -- being the best. e.g. Beans or something.

> Odd.  Our preferred naming for badly-structured C++ and Java
> code was "goulash" -- something about the hungarian notation.

Damn!  I've forgotten about the hungarian notation.  And now the
nightmares will start again.

>                            Bear

--
Ivan Toshkov

email: first-n...@last-name.org


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
End of messages < Older 
« Back to Discussions « Newer topic     Older topic »