On 5/15/25 9:31 AM, Nico Williams wrote:
> On Tue, May 13, 2025 at 04:43:33PM -0700, Marc Petit-Huguenin wrote:
>> No to making anything but English sentences normative.  People can add
>> all the examples, diagram, images, and alt tags they want in an RFC, I
>> am going to ignore all of them and complain loudly that the protocol
>> cannot be implemented.
> 
> I don't want English prose to normatively describe what an ASN.1 module
> describes already, but using English prose to fill in blanks that the
> ASN.1 does not is perfectly fine.  And since ASN.1 does not describe
> _protocols_, English prose to normatively describe _protocols_ is fine.
> 
> s/ASN.1/<any-other-formal-language>/g
> 
> If we had a decent formal language to describe protocols then I would
> alter the above preference to further reduce the dependence on normative
> English prose.  I suppose we already have such languages in the form of
> programming languages, but getting consensus on _one_ and having the
> code in RFCs be good enough is probably not happening, so I'll stop at
> ASN.1/ABNF/...
> 

The issue is not having to choose a programming language, it is that the very 
idea that "the code is the specification" is nonsense.  Let me explain.

A specification is always declarative.  Code and algorithms are always 
prescriptive, and are actually examples of implementation of a specification.  
That means that there are many programs and many algorithms that would be 
correct for a specific specification.  Because of that, it is not possible to 
have one single program or algorithm that can describe all possible aspects of 
the specification.  Here's a concrete example:

The specification for sorting a set of elements is something like this:  for 
all set of comparable elements, there exists a list whose elements are in 
increasing order and that is a permutation of the set.

Now there are quite a few algorithms that fits that specification, from 
QuickSort to BogoSort, all differents in terms of stability, time, and space 
complexity.  But saying that Quicksort is the specification for sorting 
elements is simple, neat, and wrong.

-- 
Marc Petit-Huguenin
Email: [email protected]
Blog: https://medium.com/@petithug
Profile: https://www.linkedin.com/in/petithug


Attachment: OpenPGP_signature.asc
Description: OpenPGP digital signature

_______________________________________________
rfc-interest mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to