I agree, Colin. I read his conclusion that FSM's are great and not so hard
I once you're used to them but that until you're well enough versed they
seem too much effort (YAGNI) and when the code is complex enough that it's
no longer the case, it's to expensive to change.

I'll definitely check out Ragel.

On Mon, 18 May 2015 00:18 Colin Fleming <[email protected]> wrote:

> I don't agree that the conclusion to be drawn from that article is that
> FSMs can be at most an educational exercise - quite the opposite. He argues
> at the start that no-one would ever retrofit a FSM to existing code, but
> then describes a case where they did exactly that (albeit painfully) and
> said it was great. He seems to be arguing quite the opposite - that we
> should be using state machines more.
>
> I've used them a lot, although mostly in "classical" applications like
> lexing and parsing. But I've used them occasionally for logic too, and it's
> always worked very well. I'm not a web developer but it definitely seems
> like they would be excellent for modelling webapp state.
>
> Zed Shaw has a great article about specifying servers with state charts
> here: http://zedshaw.com/archive/ragel-state-charts/. For those
> interested in FSMs, Ragel is definitely worth a look, it's a really lovely
> piece of software.
>
> On 18 May 2015 at 10:44, Marc Fawzi <[email protected]> wrote:
>
>> Not "stop" but just consider the reality of it in the general case. I
>> just found that Unity3D had many FSM tools as plugins and they are very
>> popular for game AI along with behavior trees etc.
>>
>> Sent from my iPhone
>>
>> > On May 17, 2015, at 2:50 PM, Dave Sann <[email protected]> wrote:
>> >
>> > The conclusion at the end of his article is very different from the
>> catch-22 suggested to stop people using this at the beginning
>> >
>> > Dave
>> >
>> > --
>> > Note that posts from new members are moderated - please be patient with
>> your first post.
>> > ---
>> > You received this message because you are subscribed to the Google
>> Groups "ClojureScript" group.
>> > To unsubscribe from this group and stop receiving emails from it, send
>> an email to [email protected].
>> > To post to this group, send email to [email protected].
>> > Visit this group at http://groups.google.com/group/clojurescript.
>>
>> --
>> Note that posts from new members are moderated - please be patient with
>> your first post.
>> ---
>> You received this message because you are subscribed to the Google Groups
>> "ClojureScript" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected].
>> To post to this group, send email to [email protected].
>> Visit this group at http://groups.google.com/group/clojurescript.
>>
>
>  --
> Note that posts from new members are moderated - please be patient with
> your first post.
> ---
> You received this message because you are subscribed to the Google Groups
> "ClojureScript" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at http://groups.google.com/group/clojurescript.
>

-- 
Note that posts from new members are moderated - please be patient with your 
first post.
--- 
You received this message because you are subscribed to the Google Groups 
"ClojureScript" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/clojurescript.

Reply via email to