The purpose of a standard, in my opinion, is to allow multiple implementations to be compatible. This seems counter to the open-source model, where there is a reference implementation completely in the open that encourages community participation and improvement.
JavaScript needs a standard - there are many implementations and browsers. For the moment, there is only one Go, and I like that. Mike On Wednesday, October 17, 2018 at 11:41:36 AM UTC-4, Scott Cotton wrote: > > I think standards have a tendency to end up failing to be standard because > of a plethora of standards, the need to make optional parts which render > the standard impractical for basic tasks (eg open al), the fact that large > market interests tend to have their own version (eg open SL ES android), > etc. > > Small teams can make inspiring designs, such as Go. > > That said, Go lacks standardisation of the memory model and runtime. > These render the qualitative semantic of the language unspecified. To > date, in my opinion, this is a good thing because it has allowed decision > to evolve and be driven by use. > > However, I think now many of us would welcome steps towards specifications > of the memory model and runtime. Full specifications would require a lot > of diverse expertise, coordination, and effort. > > If enough people are interested in contributing to that, maybe a SIG or > two would provide an opportunity for small yet diverse teams to start to > make progress, maybe incrementally specifying these things over time rather > than a formal standards committee imposing full specifications would be > more practical. I would be interested in following that. > > > On Wednesday, 10 October 2018 18:48:57 UTC+2, Michael Jones wrote: >> >> I was the engineering director for OpenGL’s birth and growth at SGI and >> have perspective on that process, and was for a long time a board member of >> the Open Geospatial Consortium (OGC) and have views from those ISO-related >> adventures. >> >> I’m with Ian on this—I quite deeply respect standards but see them best >> as “recognition of standard practice” rather than “political arena to fight >> out new ideas.” The political aspect is not evil, it is simply >> acknowledgement of the need to respect diverse stakeholders; but what is >> bad about it, technically, is that the path finding of a small inspired >> team easily gets lost in the chorus of multitudes wanting everything. >> >> In UNIX you had a small inspired team. In almost every really great, >> lasting technology you have <= 20 people, often <= 2, who are making the >> contentious decisions. That is a critical number. The smallness allows a >> cohesive thought process, which allows spirit and flow. Big groupthink >> tends the other way, often with better individual decisions but with ideas >> that seem almost randomly distributed across the design space. >> >> I would vote to standardize Go 1 when Go 2 is out. >> >> On Wed, Oct 10, 2018 at 8:16 AM Ian Lance Taylor <ia...@golang.org> >> wrote: >> >>> On Wed, Oct 10, 2018 at 7:55 AM, Beoran <beo...@gmail.com> wrote: >>> > >>> > In certain environments, such as for government contracting in certain >>> countries, or for certain large corporations, or for developing safety >>> critical applications using certain international standards, only >>> programming languages that are officially standardized may be used. While >>> Go would be an excellent language for such government or safety critical >>> applications, it's acceptance is hampered due to the lack of an official >>> standard. >>> > >>> > While this is in essence a formality, which would entail submitting >>> the current Go language specification with the ANSI, and then have it >>> propagate to the ISO, I do appreciate that will take quite some time and >>> effort. But to further the acceptance of Go language, I would propose that >>> Google invests the necessary resources to make this happen, with support >>> from the community to edit the standard document if needed. >>> > >>> > The standard should probably be based on Go 1, since Go 2 is still >>> largely undecided and probably 5 years in the future. >>> > >>> > If you are worried about using Go for safety critical applications >>> consider this: it is rare that the compiler builder gives any safety >>> warranty, although there are some safety certified C compilers. But for >>> similar certified Go compilers to be developed, we need an official >>> standard first. >>> > >>> > Even if the compiler is not certified, you can still use it if you >>> validate it yourself. This implementation of go has extensive unit tests >>> which simplifies such validation a lot. >>> > >>> > I know of some safety critical software that is implemented in C and >>> compiled with GCC. As a language, Go is far safer than that, and that is >>> also why we need a standard, to be able to get away from C for some safety >>> applications. >>> >>> There are significant disadvantages to the standardization process. >>> >>> It is slow. >>> >>> It is easily politicized, with the possibility that changes to the >>> language twill be determined by those with the patience and >>> wherewithal to work through the standardization process, rather than >>> those with a clear understanding of how the language will work best. >>> This is not an inevitable result, but it is a risk. >>> >>> A likely approach to Go 2 is to roll out changes over time through a >>> series of releases. That would be inhibited by a standardization >>> process. >>> >>> The advantages that you describe for standardization are essentially >>> bureaucratic: some organizations require a certain approach, not >>> because it is clearly better in all cases, but because that it their >>> preferred process. They could choose to change their requirements, >>> with no affect on Go. Meeting their requirements will inevitably have >>> an effect on Go. >>> >>> I note that C was standardized nearly 20 years after it was developed, >>> and C++ took about 16 years. In both cases there were multiple >>> implementations from different organizations, so there were additional >>> benefits to standardization. Go is not yet ten years old, and there >>> are not as yet significant competing implementations. >>> >>> At this stage of the lifetime of the programming language, I think >>> that the disadvantages outweigh the benefits. >>> >>> Ian >>> >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "golang-nuts" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to golang-nuts...@googlegroups.com. >>> For more options, visit https://groups.google.com/d/optout. >>> >> -- >> >> *Michael T. jonesmichae...@gmail.com* >> > -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.