9fans archive / 2008 / 10 / 415 /    prev next

From: Eris Discordia <eris.discordia@gma...>
Subject: Re: [9fans] non greedy regular expressions
Date: Tue, 28 Oct 2008 15:07:25 +0000

Thanks for the explanations. The lowlife learns a bit or two :-)

--On Tuesday, October 28, 2008 2:51 PM +0000 "Brian L. Stuart" 
<blstuart@bel...> wrote:

>> > This guy seems to blur the distinctions here.  His discussion
>>
>> He doesn't. If one reads the whole section part of which was quoted one
>> will see that he clearly states DFA and NFA are theoretically
>> equivalent,  but then goes on to explain that DFA and NFA
>> _implementations_ are not  identical.
>
> Actually, that's why I said "seems to."  Basically, what he
> should be saying is that some people have found it easier
> to add elements to the NFA model that augment the grammar.
> But then he goes on to use the initials NFA when he really
> means the extensions thereof.  This creates in the reader's
> mind the misimpression that there's something magically
> different between an NFA and a DFA, theoretically or
> implementationally.  They have exactly the same expressive
> power in both realms.  Besides, nondeterminism can only
> be simulated when running on a deterministic computer.
> That's actually the insight behind the NFA to DFA construction.
> So talking about an "NFA implementation" is rather artificial.
>
>> They learn slowly, hardly, painfully--they aren't smart. If
>> possible they'll learn less rather than learn more. What the "hacker"
>> denies the lowlife is the opportunity to exist free of "GNU-is-wrong" or
>> "X-is-wrong" blemish.
>
> Look at it this way.  The people here aren't trying to
> create blemishes on anything.  Rather we are trying to
> help your learning process.  We're trying to head off
> the tendency for people to jump from "it was easy to
> learn how to do X in this tool" to "how this tool does
> things is better."  Instead, before asserting something
> is better or asking for others to write software according
> to a personal preference, it is important to broaden
> your understanding so that you know what the options
> really are and what the design decisions really imply.
> Implementing a laundry list of features without that
> perspective simply produces bad software.
>
>> It's
>> good--for the lowlife, of course--to know the wonders they see didn't
>> spring into existence out of the blue.
>
> That's why we teach the theory that everyone seems to
> want to complain about.  Building on Newton, if we want
> to see farther than those before us, we need to know
> those before us well enough to climb onto their shoulders.
> No software is based on Hogwarts' technology, and no
> good software comes from the "random walk method of
> programming."  It is the product of intellectual reasoning.
> Criticism of the result won't be taken too seriously
> if the critic shows they have not understood the reasoning
> behind it.
>
> BLS
>
>