3 ms·
I read through the whole article twice, and I think OP is using the term "state machine" very, very loosely. I have a very tough time believing that the vast ar
by dxbydt 14y ago
I read through the whole article twice, and I think OP is using the term "state machine" very, very loosely. I have a very tough time believing that the vast army of MVC web developers out there know about Mealy machines and Moore machines in any significant depth, if at all. How many of them do you think know how to formulate a Moore machine, convert it to a Mealy machine, explain the differences between a finite automaton and a Moore machine, how to negate lambda transitions, produce a context free grammar...seriously, if you are the sort who, when given a problem, thinks of FSMs and Moore machines as a first level abstraction, are able to construct a delta transition function as the cartesian product of the set of input states Q times the set of input alphabets sigma...you are so far ahead of the rest of the pack in both theoretical competence and intellectual ability...you wouldn't even bother with nonsense like MVC at that point.
There was a generation where these things were formally taught...but that ship has sailed. The people who get worked up about MVC in web frameworks these days are in the same boat for whom Microsoft once built the FrontPage wysiwyg html editor, because they were too busy to grok the bold and italic tag. Ofcourse a REST api can be modelled using an FSM. But then, so can addition. Division. Subtraction. Arithmetic. Do you honestly see people approaching general purpose CRUD programming by saying "hey lets build a state machine" , because that what's 99% of computation is, anyways ? Nope. Then why pretend ?
- DigitalJack 14y agoI'm a hardware designer by profession--digital logic specifically. A very large portion of our work involves FSMs. I don't think I've ever done a design without one, and usually several. State machines, to me, are a completely natural way to solve problems. They are, of course, just one tool in the box, but in the digital logic world, FSMs are a tool used quite frequently. I do some coding as well, mostly as a hobby/intellectual interest. I really struggle with a lot of CS ideas. Higher order functions require a lot of concentration on my part to keep straight, and recursion isn't a concept I run into much in hardware design. I suppose it could just be a lack of familiarity, but I find state machines (Moore or Mealy) to be a very straight forward and concrete concept. I feel that much of CS requires the greater intellectual ability. I struggle with MVC. It sounds great and eminently reasonable when I read about it, but it seems like the lines are smeared whenever I try to implement it or see others implementations.