4 ms·
> Basically, the language doesn't have a "spec" per-se. It does[1]. And process of improving it is called PEP[2]. [1]: https://docs.python.org/ https://docs.p
by devy 10y ago
> Basically, the language doesn't have a "spec" per-se.
It does[1]. And process of improving it is called PEP[2].
[1]: https://docs.python.org/ https://docs.python.org/
[2]: https://en.wikipedia.org/wiki/Python_(programming_language)#Development https://en.wikipedia.org/wiki/Python_(programming_language)#...
- lomnakkus 10y agoUh, what? Claiming that your [1] is in any way a specification for the language is utterly absurd. It's far too vague. (Compare to even an IETF RFC, and you'll see what I mean. If you want to compare to a real language spec, compare to ISO C++.)
- orf 10y agoCPython is the spec (or really more the CPython test suite). Just like the Ruby MRI. It's a simple, plain interpreter without many frills, and to add or remove a feature you have to submit a PEP which goes through a specification process. Python started as a one-man-band project and of course didn't have a specification.
- lomnakkus 10y agoYes, but that's what the PP was arguing wasn't the case (by linking to a "spec"). I'm not sure why you're restating the obvious (OPs position).
- madgar 10y ago> Python started as a one-man-band project and of course didn't have a specification. C started as a one-man-band project and of course does have a specification. JavaScript started as a one-man-band project and of course does have a specification.
- orf 10y agoC wasn't a one man band project (at least a two-man-band one at the start!) and neither was JavaScript. C also didn't have a formal specification for over 20 years (only an informal one) and JavaScript had a strong selection bias for interpreters that roughly conformed to the specification. But that didn't exactly help it, JS is/was notorious for differing implementations of browser APIs. Each of them also has a strong need for a specification, as there are many differing compilers and interpreters. There are a few for Python but are specialized, the CPython interpreter is good enough for 90% of cases.
- guitarbill 10y ago> to a real language spec, compare to ISO C++. No thanks. Written specs can always have interesting implications or undefined behaviour. Just because it's written in a more verbose language (English) doesn't mean it's less vague. E.g. GGC is the de facto C spec for many. Code/platforms as spec makes more sense and is easier to maintain/update, with quicker iterations of language features (c.f. Ruby/Python to C++).
- lomnakkus 10y agoMy issue isn't necessarily with the fact that it's in English. It's that it's hopelessly imprecise English. Maybe you'd have less of an issue with the Java Language Spec? (Which, IIRC, even left out some memory model problems until recently.)
- devy 10y agoFor your narrow minded understanding of what a programming language specification is only: https://en.wikipedia.org/wiki/Programming_language_specification#Natural_language https://en.wikipedia.org/wiki/Programming_language_specifica... You can say it's imprecise or lack of ratification from one or many international organization(s), but you cannot say it doesn't exist. End of story.