Talk About Network



Register and Login
Nick
Password
Register create new account Sign up is FREE and you can post replies, new topics, bookmark posts and more!
Recover lost password


Programming > Forth > Re: paul graham...
Latest [ Topics | Posts ] Archive Post A New Topic Post a Reply
<< Topic < Post Post 2 of 2 Topic 4012 of 4065
Post > Topic >>

Re: paul grahams arc, a new lisp, and his words about makign code

by John Passaniti <nntp@[EMAIL PROTECTED] > Apr 23, 2008 at 07:44 PM

Jonah Thomas wrote:
> If you have to keep the limitations of the tool in mind, then it isn't
> doing a perfect job of insulating you from the complex details. But
> still it can be easier to learn enough about it to use it adequately and
> then use it with its limitations in mind, than to deal directly with all
> those details.

Who said it was "perfect?"  I can't think of *any* tool, computer-based 
or otherwise, that in any sense is ever "perfect."  Every tool has 
limitations.  Every tool has best and worst practices associated with 
it.  Every tool ultimately requires the user to some degree understand 
how to use the tool.

This is this ridiculous and condescending notion in comp.lang.forth that 
the use of libraries and tools that provide some abstraction is "not 
thinking" or "locking into someone else's problem" or other nonsense. 
If that's true, then it's also true of Forth.  When you use Forth, you 
are choosing to not think about the many other ways that a problem can 
be solved (for example using non-procedural imperative languages).  And 
when you use Forth, you are locked into a world-view that says your 
problem is ultimately to be solved with the key abstractions provided by 
Forth-- the dictionary, stacks, and a direct view of the machine.

It's not the only way to consider problems.

> Comp.lang.forth has some different groups who sometimes talk at cross
> purposes. I'd say that two of them are people who just want to get their
> work done, and people who're thinking like Big Beavers. If I pretend I
> have a Forth processor, or if I actually do have a Forth processor with
> a simple Forth OS, then ALL the complexity is MY complexity and none of
> it is SEP (Someone Else's Problem). If there is one true measure of
> complexity that's probably the one to use. (But until I actually do it
> and measure it, I don't have a true measure.)

I don't find that a useful measure of complexity as it is entirely 
subjective and suffers from observer bias.  You can create the most 
byzantine monstrosity ever created, but because you created it and you 
understand it, you can claim it isn't complicated.

> It might be good to recognise when someone is in that mode and just
> accept it. He won't do much harm if you ignore him. Occasionally he
> might produce something useful. You don't want to depend on immediate
> results from somebody who wants to recreate everything from scratch.
> He's likely to be mostly useless. But if you do pay some attention in
> your spare time he might come up with an interesting or amusing idea.

That is one of the reasons I even bother to read messages in 
comp.lang.forth.  Occasionally, someone here comes up with a unique idea 
or a different perspective.  That's the kind of thing that I find
valuable.

> Perhaps they should build their routines to solve some particular
> problem. Then if all goes well they wind up with something simple and
> consistent that actually fits at least one problem. I think that's
> better than starting out with a solution you think ought to be useful
> and then try to find problems it will fit.

That's often how libraries start.  You take a application framework like 
Ruby on Rails.  The Rails developers didn't sit down one day and say, 
"gosh, I'm going to create this framework from nothing and maybe someday 
people will use it."  Rails was a library that came from the development 
of a specific web site.  It then grew from that.

Most every successful library that exists was at one time part of an 
application that solved a problem.  The developers identified that part 
of the application could be extracted and reused, and then it began to 
have a life of it's own.

> Rotation angle and distance? You can't just tell the turtle to move from
> where it is to some particular spot? That does not sound like a very
> good turtle to me.

No, you can't just say move to a X/Y point:

http://en.wikipedia.org/wiki/Turtle_graphics

Read the overview and understand what the phrase "turtle graphics" 
means.  Turtle graphics is by definition about a system that describes 
motion by relative displacements.  This is not a term I invented.  It's 
existed since the late 60's.

>> This is what drives me nuts about many of the messages in 
>> comp.lang.forth.  These discussions of complexity and efficiency are
>> far more often than not discussed in a vacuum, as if they were
>> absolutes that don't rely on context.  But they of course do.
> 
> If they don't show context, and they also don't fit the context where
> the people involved are doing everything, then you might point that out.

Thanks.  And I often do.

> There's nothing wrong with discussing where to put the complexity so it
> will least get in the way. And there's nothing wrong with discussing
> whether a particular sort of complexity is needed at all for a
> particular problem. 

Nope.  But when such discussions exclude the possibility of examining 
ways of reducing complexity that don't match people's assumption (that 
by sprinkling magic Forth dust over everything all problems are solved), 
that is where I step in.

 > And it isn't terrible if people discuss
> philosophical problems that have no immediate application, provided you
> don't get sucked into them and waste your time. But suppose people are
> discussiong "complexity" and they're thinking about whole-system
> complexity, and they're doing it wrong. Maybe they're ignoring parts of
> the system that need attention. You could do them more good by showing
> where they're wrong in their own context, than by showing that other
> contexts are often useful.

Ummm, that's the point.  If someone is locked into a narrow context and 
can't see the larger perspective, then "showing where they're wrong in 
their own context" can't work.  The very limitation imposed by their 
narrow context prevents them from seeing anything else.




 2 Posts in Topic:
Re: paul grahams arc, a new lisp, and his words about makign cod
Jonah Thomas <jethomas  2008-04-23 14:04:29 
Re: paul grahams arc, a new lisp, and his words about makign cod
John Passaniti <nntp@[  2008-04-23 19:44:04 

Post A Reply:
  Go here to Signup

AddThis Feed Button


About - Advertising - Contact - Frequently Asked Questions - Privacy Policy - Terms of Use - Signup

Contact
tan12V112 Sat May 17 8:45:17 CDT 2008.