Re: on the irresponsibility of pursuing C language reform
Keith Bostic <[email protected]> Sat, 1 Aug 2026 15:22:49 -0700
| Newsgroups | gmane.comp.lib.glibc.alpha,gmane.linux.man,gmane.comp.lib.gnulib.bugs |
|---|---|
| Message-ID | <CAETFuj2OwoyK9J85r2f0RoXbHbXKA4gQJ=JZ-7=QoqGcMwk0+Q@mail.gmail.com> |
--00000000000076ce34065803bf40 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Sat, Aug 1, 2026 at 10:09=E2=80=AFAM Alejandro Colomar <[email protected]> = wrote: Well, Keith Bostic wouldn't have suggested that I do this change, and Branden wouldn't be defending that it might make sense to make this change. Since my name came up: I did suggest man page changes, and I should have been clearer about what I meant. I generally think innovation should happen in releases, in response to the user base. That=E2=80=99s the model with the better track record. Somebody = ships something, users adopt it or they don=E2=80=99t, and the standards codify e= xisting practice once it reaches consensus. When the standards bodies invent instead of codify, results have been uneven. So if glibc added <nonstring.h> tomorrow, that=E2=80=99s the system working= . Ship it, let people vote with their code, and let the standard adopt if it wants= . But as I understand it, the man-pages project doesn=E2=80=99t control the c= ode it documents. It describes glibc and the kernel, it doesn=E2=80=99t ship them.= A documentation project changing how coding should work in a release it doesn=E2=80=99t control feels different to me. So, my opinion is the man pa= ges shouldn=E2=80=99t be changing the standard includes. Advocating for better usage in the documentation is a different thing, and a good thing. The man pages can even go pretty hard, that=E2=80=99s their j= ob: =E2=80=9CNotice the include file is string.h. That=E2=80=99s an historic ac= cident maintained for compatibility reasons; don=E2=80=99t let that fool you, this function doesn=E2=80=99t operate on strings.=E2=80=9D That teaches the reader what the function actually does without relabeling where it lives. I think it=E2=80=99s roughly what Joseph is suggesting as w= ell, aiming the clarification at the reader=E2=80=99s understanding rather than = at the SYNOPSIS line. =E2=80=94keith [email protected] --00000000000076ce34065803bf40 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div><div style=3D"font-size:inherit"><div dir=3D"ltr" style=3D"font-size:i= nherit;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:= 0px;text-transform:none;white-space:normal;word-spacing:0px;color:rgb(0,0,0= )">On Sat, Aug 1, 2026 at 10:09=E2=80=AFAM Alejandro Colomar <<a href=3D= "mailto:[email protected]">[email protected]</a>> wrote:<br></div><blockquote = dir=3D"auto" style=3D"width:592px;min-width:150px;font-size:inherit;font-st= yle:normal;font-weight:400;letter-spacing:normal;text-indent:0px;text-trans= form:none;white-space:normal;word-spacing:0px;margin:0px 0px 0px 0.8ex;bord= er-left:1px solid rgb(204,204,204);padding-left:1ex;color:rgb(0,0,0)"><br>W= ell, Keith Bostic wouldn't have suggested that I do this change, and<br= >Branden wouldn't be defending that it might make sense to make this<br= >change.</blockquote></div><br></div><div><div style=3D"font-size:inherit" = dir=3D"auto"><div style=3D"font-size:inherit"> <div style=3D"font-size:inherit"> <p dir=3D"auto">Since my name came up: I did suggest man page changes, and = I should have been clearer about what I meant.</p></div></div></div><div st= yle=3D"font-size:inherit" dir=3D"auto">I generally think innovation=C2=A0sh= ould happen in releases, in response to the user base. That=E2=80=99s the m= odel with the better track record. Somebody ships something, users adopt it= or they don=E2=80=99t, and the standards codify existing practice once it = reaches consensus. When the standards bodies invent instead of codify, resu= lts have been uneven.</div><div style=3D"font-size:inherit" dir=3D"auto"><b= r style=3D"font-size:inherit">So if glibc added <nonstring.h> tomorro= w, that=E2=80=99s the system working. Ship it, let people vote with their c= ode, and let the standard adopt if it wants.</div><div style=3D"font-size:i= nherit" dir=3D"auto"><br style=3D"font-size:inherit">But as I understand it= , the man-pages project doesn=E2=80=99t control the code it documents. It d= escribes glibc and the kernel, it doesn=E2=80=99t ship them. A documentatio= n project changing how coding should work in a release it doesn=E2=80=99t c= ontrol feels different to me. So, my opinion is the man pages shouldn=E2=80= =99t be changing the standard includes.</div><div style=3D"font-size:inheri= t" dir=3D"auto"><br style=3D"font-size:inherit">Advocating for better usage= in the documentation is a different thing, and a good thing. The man pages= can even=C2=A0go pretty hard, that=E2=80=99s their job: =E2=80=9CNotice th= e include file is string.h. That=E2=80=99s an historic accident maintained= =C2=A0for compatibility reasons; don=E2=80=99t let that fool you, this func= tion doesn=E2=80=99t operate on strings.=E2=80=9D=C2=A0</div><div style=3D"= font-size:inherit" dir=3D"auto"><br></div><div style=3D"font-size:inherit" = dir=3D"auto">That teaches the reader what the function actually does withou= t relabeling where it lives.=C2=A0<span style=3D"font-size:inherit">I think= it=E2=80=99s roughly what Joseph is suggesting as well, aiming the clarifi= cation</span><span style=3D"font-size:inherit;border-color:rgb(0,0,0)">=C2= =A0at the reader=E2=80=99s understanding rather than at the SYNOPSIS line.<= /span></div><br><div><div dir=3D"ltr" class=3D"gmail_signature" data-smartm= ail=3D"gmail_signature">=E2=80=94keith<br><a href=3D"mailto:[email protected]= m">[email protected]</a></div></div></div> --00000000000076ce34065803bf40--