- From: chris nuernberger <cnuernber@gmail.com>
- Date: Wed, 13 Feb 2013 15:38:42 -0700
- To: Jim Barnett <Jim.Barnett@genesyslab.com>
- Cc: "VBWG Public (www-voice@w3.org)" <www-voice@w3.org>
- Message-ID: <CAG=GWvfz0+ugUzajLLAmpfLzEjjSoOiGtb0XzUG2xtYBBB1Rsg@mail.gmail.com>
That is *really* debatable. So people have to learn a language that has no specification and that has no working implementation (and which is typed inconsistently with respect to indentation and punctuation) because you don't want to worry about language-specific implementation details? I bet I could write javascript that, ignoring supporting libraries, looked at least as good as the pseudo code and hid any language-specific details. The idea that inventing a new language helps people avoid worrying about the language is kind of ridiculous. The pseudo-code obviously hasn't ran and obviously will never run and no one is assured that what they are reading actually works. We just reason through it and hope and then we spend months to years on the mailing list finding problems and debugging issues that wouldn't have existed had the 'pseudo-code' been actual code (because it would have worked or not instantly without some monkey brain trying to run it). So I completely disagree that the pseudo-code makes clarifying intended semantics easier and furthermore it makes verifying that anything is actually correct near impossible. Right off the bat, we had a list of questions such as 'what the hell do these types do for transitions'. Because the code to type the transition was 'helpfully' omitted, important semantics were lost. And these semantics would have been ironed out completely *if* the code has been actually implemented. I *just* implemented an SCXML engine and I would have rather had a reference implementation than the pseudo-code. I think you are completely wrong with your first assertion (it made clarifying semantics easier due to lack of implementation details). It would seem that based solely on that there should be at least a hint of doubt that the pseudo-code is the right way to go. Making the pseudo-code correct is at least as hard as getting any language correct. I think that the time will come to completely drop the pseudo-code and just have a reference implementation. Although, as you note, having a thorough test suite with 'correct' answers is better than having a reference implementation or anything else. Chris On Wed, Feb 13, 2013 at 1:13 PM, Jim Barnett <Jim.Barnett@genesyslab.com>wrote: > Chris,**** > > The point of the pseudo-code is to clarify the intended semantics, which > is easier if you don’t have to worry about language-specific implementation > details. There are open source implementations that people can examine, > including one in Javascript. I agree that we need to publish our set of > tests, which we are working on. Once we do, and the open source > implementations run them, everyone will have access to: pseudo-code, > running code, and tests. **** > > ** ** > > **- **Jim**** > > ** ** > > *From:* chris nuernberger [mailto:cnuernber@gmail.com] > *Sent:* Wednesday, February 13, 2013 1:06 PM > *To:* VBWG Public (www-voice@w3.org) > *Subject:* It would be a lot cooler if:**** > > ** ** > > 1. The pseudocode was a reference implementation in javascript.**** > > 2. Hosted on github or gittorious.**** > > 3. Ran a set of accepted SCXML tests.**** > > 4. We could then all propose refactoring and such with pull requests and > discuss them and we would know if things were working or not pretty quickly. > **** > > ** ** > > We can't be all that far from this. I bet it would take all of like 3-4 > days of work and I thought someone already had a reference implementation > somewhere. I think a lot of problems with the pseudocode would be better > discussed with a failing test than with theoretical observations.**** > > > **** > > ** ** > > Chris**** > > ** ** > > -- > A foolish consistency is the hobgoblin of little minds - Emerson **** > -- A foolish consistency is the hobgoblin of little minds - Emerson
Received on Wednesday, 13 February 2013 22:53:52 UTC