4

ECMA was the body that formalized JavaScript while ANSI was as I understand it the body that formalized much of the early C programming language, what became known as ANSI C. Are these two organizations at all connected with one another, do they similar things for different regions? I wonder if they are at all connected.

EDIT:

I'm specifically interested in how these two organizations came to standardized programming languages like C and JavaScript. This is a historical question, how these organizations were founded and if they fulfill a similar function over the Atlantic divide.

7
  • 7
    I fail to see the connection to retrocomputing. You are asking about the current practice of two very active organisations.
    – pipe
    Commented Mar 20, 2021 at 3:41
  • @pipe Just because Microsoft still exists doesn’t make questions about its origins off-topic. Commented Mar 20, 2021 at 19:43
  • @user3840170 That's right. Go ahead and ask such a question. This is not one.
    – pipe
    Commented Mar 20, 2021 at 19:56
  • @pipe How is it not a question about the origins of ANSI and ECMA? Especially that it’s tagged as history. Commented Mar 21, 2021 at 8:07
  • 2
    I think the issue here is rather that it's asking about the organisations itself, not their (historic) relevance for computing.
    – Raffzahn
    Commented Mar 22, 2021 at 10:53

2 Answers 2

10

Both ANSI, the American National Standards Institute (formerly the American Standards Association), and Ecma International (formerly the European Computer Manufacturers Association) are standards development bodies. They are not sister organisations, they were formed independently; ANSI is quite a bit older than ECMA.

ANSI and ECMA did similar things for different regions (on opposite sides of the Atlantic Ocean), with different areas of responsibility. ANSI has a much wider scope than ECMA (and Ecma), and different positioning: while Ecma develops standards directly, ANSI accredits standards and standards development processes. Ecma now considers itself an international organisation, no longer European only; ANSI operates only within the United States.

Some of their work overlaps, as demonstrated by their standardisation or accreditation of programming languages, and there are connections; in particular, both ANSI and Ecma have produced standards which have been ratified by the International Organization for Standardisation (ISO) — including ANSI C, ASCII, ISO 9660...

C ended up standardised by ANSI for procurement reasons. As Dennis M. Ritchie explained in The Development of the C Language,

The first edition of K&R was also insufficiently precise on many details of the language, and it became increasingly impractical to regard pcc as a ‘reference compiler;’ it did not perfectly embody even the language described by K&R, let alone subsequent extensions. Finally, the incipient use of C in projects subject to commercial and government contract meant that the imprimatur of an official standard was important. Thus (at the urging of M. D. McIlroy), ANSI established the X3J11 committee under the direction of CBEMA in the summer of 1983, with the goal of producing a C standard. X3J11 produced its report [ANSI 89] at the end of 1989, and subsequently this standard was accepted by ISO as ISO/IEC 9899-1990.

From Bell Labs’ perspective, the governmental aspect would have led to requiring a standard approved in the US, which would mean involving ANSI. C isn’t the only or even first language in this situation; the first was Fortran, followed by COBOL.

As for why ECMA ended up standardising JavaScript as ECMAScript, the story suggests that this was a case of politics, time pressure, and knowing the right people. Brendan Eich, JavaScript’s creator, has spoken about this a number of times, e.g. in this podcast; in the latter, he explains that Microsoft was putting pressure on Netscape around JavaScript, so Netscape decided the best way to avoid having Microsoft wrest control of JavaScript (by way of the potentially de facto standard implementation in Internet Explorer) was to standardise it, and it happened that Carl Cargill, Netscape’s standards representative, knew Jan van den Beld, who was ECMA’s secretary general at the time. This Wired article on the subject puts it thus:

With the Netscape-originated and widely used scripting language JavaScript, Netscape avoided the W3C altogether - because, Cargill says, it was "the most contentious spec ever produced," and the company wanted a review board that "wasn't mired in politics."

Cargill says Netscape sought out ECMA to approve JavaScript last November because it believed the lesser-known standards body would be able to quickly and objectively administer the process. Microsoft charged Netscape with purposefully delaying the approval process, and with failing to release JavaScript source code that could be integrated into its Internet Explorer browser. When Netscape sought ECMA approval, Microsoft and Cisco promptly joined the body's general assembly. An open standard "ECMAScript" was subsequently born in late June.

6
  • In an attempt to not invalidate a part of your answer I'm choosing not to edit the ASCII part of my question out.
    – Neil Meyer
    Commented Mar 19, 2021 at 17:05
  • Oh I don’t mind, feel free to correct your question and I’ll update my answer to match. Commented Mar 19, 2021 at 17:07
  • As an example of the different scopes, ANSI has standards for bicycle helmets. ECMA was just limited to computing.
    – DrSheldon
    Commented Mar 19, 2021 at 17:33
  • I have made an edit, it may affect your answer
    – Neil Meyer
    Commented Mar 22, 2021 at 7:06
  • I’ve updated my answer. Commented Mar 22, 2021 at 9:20
8

No, they are not. Their base and reach is different.

ANSI is a national standards body. Its counterparts (sisters) are other national standards organisations like DIN in Germany or Gosstandart in the Soviet Union. These three are the most influential. Their work is adopted by many other standards bodies (including ISO) without or only minor modification. Almost every country has such a standards body to create and maintain national standards. They are not only meant to help industrial standardisation, but also to support nationwide regulations/laws — such as defining what a day is or a meter. Their work is to support general standards across all kinds of application.

ECMA in contrast is a trade organisation; its US counterpart would be IEEE. SAE is a similar organisation. Trade standards organisations are special topic bodies with an intention to regulate specific cases within an industry. This can be a large chunk like, for example ECMA, IEEE or SAE, or very specific things like PCI-SIG, USB-IF or VESA for their respective interfaces.

7
  • Can you mention then how it came to be that they both standardised programming languages?
    – Neil Meyer
    Commented Mar 19, 2021 at 19:36
  • Because both deemed it necessary? Or more exact their members/users did request such. There are no 'exclusive rights' to a certain topic. After all, everyone can make up a standard - ask Sun with their Java :)) Not to mention the 'not invented here' issue. Why should a US company follow an European standard and vice versa? In case of ANSI it's usually a US government agency request, so the standard can be used for procurement. In case of trade organisations it's usually the need to make interchangeable parts
    – Raffzahn
    Commented Mar 19, 2021 at 19:44
  • 1
    Good distinction. "These three are the most influential." I would argue that the ISO is also an influential broad-scope standards body, but it is worldwide, and you probably meant the three most influential among single-nation standards.
    – DrSheldon
    Commented Mar 19, 2021 at 23:30
  • 1
    @DrSheldon Yes, I though about adding a paragraph about ISO (as well as EN), but it wasn't asked for. In addition, Stephen already covered it, so no need for me. Personally I do appreciate ISO/EN standardization. It's about making widely interoperable stuff.
    – Raffzahn
    Commented Mar 19, 2021 at 23:33
  • There are important differences between standards organizations and processes like who is involved in the standard-writing process, how that process makes decisions, how long standardization takes, how IP rights related to the standard are handled, governance and the role of national and international politics, and how the resulting standard is disseminated (ANSI wants $116 for a PDF of the C standard; ECMA-262 is a free and immediate download). These things can all vary wildly and are important factors in how the standard is developed and adopted over time. Commented Mar 20, 2021 at 2:16

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .