Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

A language without a spec ? Damn, php is even worse than I thought. Still, FB may turn it (with hack and HMMV) into something interesting.


That's not uncommon for implementation-defined languages. Ruby didn't have a language specification until the community set up rubyspec as it started getting serious about alternative implementations.

Facebook is apparently getting serious about its own alternative implementation (or at least intending to be taken seriously) and are thus stepping in with a spec.


Often I wonder if going without Spec is a good thing. Ruby doesn't want a Spec because Matz said Ruby is an always evolving languages. But the same could be said about HTML 5 where it does have a living spec.


> Ruby doesn't want a Spec

Both RubySpec and the ISO standardization effort suggest that this is less than true.

> because Matz said Ruby is an always evolving languages.

That's not a reason not to have a spec; that's a reason that the current bleeding-edge version might diverge intentionally from the spec and that the spec might trail.

(Or, as in the case of HTML/HTML5, its why you might have both an evolving target spec, like WHATWG has with the HTML living spec, for language implementers to develop toward, and a more conservative one, like the W3C HTML5 spec, that is more geared toward what language users should target.)

Without a spec -- preferably one that is or includes an executable test suite -- independent implementations are problematic, and multiple independent implementations that can experiment with different innovations is good for an "always evolving language".


Python has a spec[0] and Python is an always-evolving language as well[1], so I'll just go ahead and say that it's probably an excuse for laziness rather than an actual justification for not having a spec.

[0] https://docs.python.org/2/reference/

[1] https://docs.python.org/3/reference/


Well, sometimes it's good to be able to tell whether some code is of the language in question or not. That's were a spec comes in handy, whether it's considered ongoing or not.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: