5

Is there an organization similar to W3C that creates standards for programming languages?

If so, are there any programming languages, like browsers would using W3C standards, that implement these standards?

I have done my own research and I have been unsuccessful thus far hence the question. The answers and most of the comments so far are very useful but essentially I'm looking for a language or list of languages that have an open and reliable licensing system.

I think W3C has been the most successful at this up until now with HTML so I am looking for a language that has a similar licensing structure. Java has certain specifications like the EE servlet specification which has providers like Tomcat implement it but then at the end of the day that is still an Oracle owned standard isn't it?

5
  • You mean like the Java Community Process or WG21?
    – user40980
    Commented May 11, 2014 at 17:02
  • If Oracle were to ever make Java licenses unaffordable anymore then would there be alternative languages (besides OpenJDK) that could be used instead? Just like one could change their browser if it started charging them to use it and still keep programming HTML and viewing HTML pages?
    – anon
    Commented May 11, 2014 at 17:05
  • 2
    I'm fairly sure C and C++ are standardized by the ISO. There's also the IEEE which is probably best known to programmers for their floating point standard. I don't know if this is the sort of standard you had in mind though.
    – Doval
    Commented May 11, 2014 at 17:06
  • 2
    Do not assume that standards are always a good thing. The cumbersome and overly democratic ANSI standards process turned COBOL into a dead language as changes were blocked by large installations that did not want to upgrade code to meet any new standards. Perhaps CORBA is the worst example as conflicting software vendors pushed for their own implementation to be the standard resulting in parts of the standard being impossible to implement. Commented May 12, 2014 at 1:35
  • meta.stackexchange.com/tags/list-questions/info
    – gnat
    Commented May 12, 2014 at 8:09

3 Answers 3

9

It’s questionable whether there is any other organization similar to the W3C; it really depends on your definition for similarity.

There are standards organizations in the strict sense (W3C is not a standards organization but an industry consortium) that define standards for programming languages, most importantly ISO, working together with the IEC in this area. They have a joint technical group, which has subcommittee SC 22 for “programming languages, their environments and system software interfaces”, which has created several standards.

There are other players in the field, too, like the ECMA association, which works on a few languages, such as JavaScript, which they call ECMAScript.

There are also many languages that have not been standardized, so that the closest equivalent to a standard is a vendor’s or language designer’s description or manual.

8
  • 1
    Almost. ISO (International Organization for Standardization) and >IEC (International Electrotechnical Commission)< have Joint Technical Committee JTC1 which has Subcommittee SC22 which adopts standards developed by working groups. open-std.org/JTC1/SC22 IEEE is involved in other standards, notably 802.* Ethernet and WiFi, 754/854 floating point, and 1003 POSIX. Commented May 11, 2014 at 23:50
  • @dave_thompson_085, right, thanks, corrected. Commented May 12, 2014 at 5:54
  • So would ISO/IEC 11756:1999 (iso.org/iso/home/store/catalogue_tc/…) be the specification I'm looking for? If so, do you know of any languages that implement it?
    – anon
    Commented May 12, 2014 at 15:39
  • @ThreaT, that’s a standard for a specific language, “M”, also known as “MUMPS”. There is no hint of the type of programming languages that you are interested in. Commented May 12, 2014 at 16:05
  • I read the title of the standard mentioned. To get help with what you are looking for, consider explaining what you are looking for. From the comments, it seems that it is very different from what you asked. I find it somewhat absurd to ask whether there are languages that implement a specific standard for a programming language. Commented May 12, 2014 at 16:39
6

There are no standards organizations specifically for programming languages.

ANSI (American National Standards Institute), ISO (International Standards Organization)(I think) exist to write standards. When someone wants to put a standard together for something, they put a pitch together and present it to the organization. If the organization agrees that it is time, they will help run the standard-writing and balloting process.

ANSI standards exist for FORTRAN and Ada. The Ada standard is unusual in that it is a joint standard, with identical standard number, between ANSI and the US Department of Defense (ANSI/MIL-STD-1815A, if memory serves me). Ada started as a DoD effort, and a decision was made to pursue ANSI standardization as well, to gain wider exposure for the language. (This was successful, to a degree. Ada is heavily used in commercial, non-military work, in Europe.)

ANSI and ISO standards exist for PASCAL. They define different, slightly incompatible languages. I don't recall the details now.

C++ is covered by an ANSI standard. Something similar almost happened for C++. During the ANSI effort, the European contingent tipped their hand that they were planning on making the ISO standard different, because of some issues that they felt the ANSI committee was not addressing adequately. To their credit, the ANSI C++ committee, after saying "Say WHAT!?", backed up and addressed the issues.

There is an ANSI standard for FORTH.

ECMA (European Computer Manufacturers Association) has also done a few standards for languages.

1
  • 4
    The original standards for FORTRAN, COBOL and C were developed by ANSI, specifically subcommittees under committee X3, now renamed INCITS, and then became ISO/IEC standards under JTC1 SC22 (see comment on other answer): 1539, I forget, and 9899 respectively. ANSI and X3/INCITS then replaced their versions with the equivalent ISO/IEC versions, which have subsequently been updated. C++ was standardized first as ISO/IEC 14882, similarly adopted by ANSI and INCITS and updated. FORTH was standardized under ANSI/X3, but is now being updated outside ANSI&ISO forth200x.org Commented May 12, 2014 at 0:06
3

It's very unclear to me what you mean with "standards", but there is for example the Java Language Specification which determines how a JVM should work and thus provides a guideline for people that want to write their own JVM implementation.

8
  • See wikipedia: GNU GPL Commented May 11, 2014 at 18:32
  • Java is the Java Language Specification. It is the implementation of that specification. What people can do is create their own JVM which should adhere to the rules of this specification but can perform them in a different manner. Commented May 11, 2014 at 18:38
  • I am not a lawyer, whatever I say shouldn't be trusted. I would be guessing for "no", though. Commented May 11, 2014 at 19:18
  • 1
    @MichaelT: I'm trying to find an open standard/specification that actually has programming languages that implement it.
    – anon
    Commented May 11, 2014 at 20:38
  • 1
    @ThreaT you might want to consider asking on Software Recommendations with the specific requirements. That said, consider that the ECMAScript specification is BSD licensed... though I'm still confused about what you are looking for. Languages just are. Implementations are licensed. Libraries are licensed. Certification that a given something is something is licensed.
    – user40980
    Commented May 11, 2014 at 21:17