From Jim.Isaak@digital.com Thu Sep 11 17:36:00 1997 Received: from mail12.digital.com (mail12.digital.com [192.208.46.20]) by dkuug.dk (8.6.12/8.6.12) with ESMTP id RAA07660 for ; Thu, 11 Sep 1997 17:35:55 +0200 Received: from cst.ako.dec.com (cst.ako.dec.com [16.151.72.40]) by mail12.digital.com (8.7.5/UNX 1.5/1.0/WV) with SMTP id LAA11325 for ; Thu, 11 Sep 1997 11:23:39 -0400 (EDT) Received: by cst.ako.dec.com with SMTP (Microsoft Exchange Server Internet Mail Connector Version 4.0.995.52) id <01BCBEA6.0F611340@cst.ako.dec.com>; Thu, 11 Sep 1997 11:30:09 -0400 Message-ID: From: Jim Isaak To: "'a WG15'" Subject: FYI: (SC22docs.348) SC22 N2570 - "Special Actions" Recommendations to JTC 1 Date: Thu, 11 Sep 1997 11:29:37 -0400 X-Mailer: Microsoft Exchange Server Internet Mail Connector Version 4.0.995.52 MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit ___________________ beginning of title page _______________________ ISO/IEC JTC 1/SC22 Programming languages, their environments and system software interfaces Secretariat: U.S.A. (ANSI) ISO/IEC JTC 1/SC22 N2570 TITLE: Approved SC22 Submission to ISO/IEC JTC 1 Regading "Special Actions" Recommendations DATE ASSIGNED: 1997-08-26 SOURCE: Secretariat, ISO/IEC JTC 1/SC22 BACKWARD POINTER: Supersedes SC22 N2552 DOCUMENT TYPE: N/A PROJECT NUMBER: N/A STATUS: N/A ACTION IDENTIFIER: FYI DUE DATE: N/A DISTRIBUTION: Text CROSS REFERENCE: SC22 N2573, N2574 (Res. 97-28) DISTRIBUTION FORM: Open Address reply to: ISO/IEC JTC 1/SC22 Secretariat William C. Rinehuls 8457 Rushing Creek Court Springfield, VA 22153 USA Telephone: +1 (703) 912-9680 Fax: +1 (703) 912-2973 email: rinehuls@access.digex.net ______________________ end of title page; beginning of text _____________ From follett@access.digex.net Tue Aug 26 12:43:31 1997 Date: Mon, 25 Aug 1997 11:43:03 -0400 (EDT) From: Bob Follett To: Matthew Deane Cc: Bill Rinehuls Subject: SC22 Work Program Review for JTC1 Following is the SC22 Work Program Review for forwarding to JTC1. ISO/IEC JTC1/SC22 N2570 SC 22 WORK PROGRAM REVIEW PER JTC 1 N 4504 "SPECIAL ACTION" Introduction The "special action" in JTC 1 N 4504 requested that SC 22 review the continuation of "a significant number of projects" that "relate to specialized, limited-use languages" in light of the key technology directions of JTC 1. SC 22 notes that the application of the term "specialized, limited-use languages" is subject to differing interpretations and may be affected by a person's incomplete knowledge of the actual usage of a language. Accordingly, we are providing the following summary of the market relevance of all currently active programming language projects, and some others as well, assigned to SC 22. At the end is the review of fast-track projects that was also requested. Ada Ada was originally developed in response to a need of the U. S. Department of Defense to reduce the number of programming languages used in its systems. The specific requirements for the language emphasized high reliability, programming for large systems, and support for real-time systems. The original Ada 87 language contains features supporting these requirements to a degree still unmatched by other languages. The Ada 95 revision added strong support for object-oriented programming, becoming the first internationally standardized object-oriented language. Ada is now the most widely-used language in DoD embedded real-time applications, amounting to about 50 million source lines, and is number two (behind COBOL) in DoD information system applications. Outside the defense sector, Ada's use has been more limited and primarily concentrated in areas where reliability, large systems, or real-time factors are important. For example, IBM evaluated and rated Ada above C, Pascal, Jovial and Fortran for use in programming its U. S. Air Traffic Control (ATC) applications. (An SEI study compared Ada and C++ with similar results.) Ada is also being applied to ATC development in Europe and Canada. Both in North America and Europe, Ada is arguably the language of choice (or, at least, a strong contender) for highly reliable, large, complex applications. These application domains take advantage of the rigorous specification of the Ada standard. Other example applications include: - Avionics applications in the US (Boeing 777), Europe (Airbus 320) and Russia (BE-200); - Train control for the Swiss railroad and the French TGV and Astree as well as urban rail systems in Paris, Cairo, Calcutta and Hong Kong; - The US Global Positioning System; - Electronic Funds Transfer for the Swiss PTT; - Medical analysis devices in Germany and the US; - Steel manufacturing process control in the US; - Automobile plant floor control in UK, Sweden and France; - Electrical distribution monitoring in Switzerland; - VLSI design tools in France and CAD systems in France and Germany; - Mobile communication systems for Inmarsat; - Radio telescope control in Finland; - Astrophysical spectral analysis and modeling in Austria; - Laser fusion experiment control at the Lawrence Livermore Laboratory; - Real-time video production and editing in the US. Interest in Ada from the educational sector is growing. A 1996 survey in the US shows that 345 colleges, universities, commercial and governmental institutions offered 656 college- equivalent courses in Ada. The US market for Ada tools and compilers is estimated to be about $200 million annually -- small compared to C but nevertheless significant in absolute terms. Market share statistics are probably less relevant, however, than consideration of the high importance of the applications for which Ada is used, applications demanding the utmost of reliability, often to protect human life. It is for this reason that the use of Ada is directed or encouraged by defense and other governmental agencies in several countries. The existence of an international standard is vital to this usage. More than any other programming language, the users of Ada employ the standard itself as their basic reference to the language. The Ada marketplace has placed great importance on the existence of an unusually detailed validation suite that is driven by the specification of the standard. Vendors and users of Ada maintain a continuing and frequent dialog with SC 22/WG 9 in order to ensure that interpretations of the language standard are applied uniformly and that code is highly portable. In fact, the highly rigorous standardization of the language and the continuing maintenance of that standard is often cited as one of the "selling points" of the Ada language. The high degree of collaboration between the marketplace and SC 22/WG 9 is one of the great successes of JTC 1 standardization efforts. APL APL continues to be widely used for new development and for enhancement and re- engineering of existing applications. APL is the language of choice in the insurance industry. More actuaries use APL than any other language. APL continues to be the premier language in the top banks of the world and is heavily used in the largest financial markets, so much so that some have their own internal, proprietary, APL systems. One company uses APL for its internal electronic mail system, and employees of the company use the verb "to APL," meaning to send electronic mail. Some of the latest enhancements to APL are coming from this milieu, and are influencing APLers in other sectors as well. The oil industry, especially in the research departments, continues to be a strong user of APL. Some APL vendors who, a few years ago, heard their customers talking about migrating to desktop workstations, are experiencing a resurgence of interest in mainframe APL applications. This may be, in part, due to difficulties encountered by excessive loads on small systems. APL is heavily used as a prototyping language, regardless of the language of the final product. One notable example is that the Federal Division of one of the largest computer companies in the world uses APL to develop software for satellite surveillance systems. The APL is machine and hand translated to a finished product which is delivered in another language that has been specified by the military contractor. C The C programming language is used by over a million programmers world wide. C is the programming language of choice for most commercial embedded systems and embedded application work. C is the target language for practically all program generators and Language X to Language Y translators. The C programming language is the workhorse support language of many operating systems, applications and application libraries. C++ It is estimated that over one million people are programming in C++. This marketplace is eager for the completion of the C++ standard. COBOL COBOL was originally developed in response to needs of the U. S. government, private industry, and computer manufacturers for a common programming language for business applications. The objectives for the language included: - independence from make or model of computer; - development and maintenance of programs with a minimum of time and programming effort; - notation and narrative conducive to making changes and additions; - minimum training costs and suitability for relatively inexperienced programmers. The resulting language was widely accepted and almost universally used in business and government in the 60's through the mid-80's. The current standard, ISO 1989:1985, and its amendments are widely implemented and used worldwide. The estimates of billions of lines of existing COBOL code and millions of experienced programmers are legend, but more relevant is that COBOL continues to be widely used for new development and for enhancement and re-engineering of existing applications. Examples: - Telecommunications companies in the U.S and France, new development for the workstation; - A government customs system, new development using object-orientation; - A U.S. railroad, new development using object-orientation; - A life insurance imaging system, new development using object orientation (AmerUS); - A mainframe-based interactive dental scheduling system, continually enhanced (Willamette Dental Group); - An insurance claims system with about 5000 programs, with 2 programs added and 20 re- engineered each month; - A car rental system, in process of being re-engineered; - A bank in Finland, new development using object-orientation; - A steel company in the U.S., in process of re-engineering; - A software house contract management system, new development; - Tandem's on-line logistics system, being re-engineered to use EDI all in COBOL; - Data Warehouse data propagation from legacy systems into a Tandem-based DW, new development; - National City Corp, USAA, MGM Grand, Ameritech, Ross Stores, Elder-Beerman, Victoria Secret Stores - all doing new development in COBOL for data warehousing; - Access http://solo.merita.fi/ and you'll find one of the world's most advanced Internet banking services, written mainly in COBOL (Merita Bank, Finland). While COBOL has been and continues to be used on most mainframes, nearly all mainframe vendors now support workstations implementations and some vendors support only workstations. As a result of these new environments and expanded user needs, many language extensions have been introduced by implementors, indicating a need for further standardization. This is being addressed by the in-progress revision of standard COBOL. Still retaining business-oriented features, the draft standard provides a more general- purpose language with expanded data handling and language interoperation capabilities. Major enhancements are provided in support of large character sets, cultural adaptability, and object orientation. Many of these features are already implemented as specified in the draft and being used in new, enhanced, and re-engineered applications worldwide. Additionally, the draft is having significant impact on the modification of applications for year 2000 through use of features included in the draft to address this situation. With the current trend to web-based operation, users are beginning to reconfigure existing COBOL applications as servers integrated with web clients. COBOL vendors are starting to introduce language extensions to support this environment. Thus, evolution of the international standard for COBOL is essential to provide the benefits of new technologies and new environments to COBOL users worldwide. Fortran Fortran was the original "high level programming language", having been first proposed by John Backus towards the end of 1953. The first full Fortran compiler was delivered to IBM's 704 customers in April 1957, and the language has, therefore, just passed its 40th birthday! It was recently estimated that there are around 370,000 Fortran users world- wide, while the value of Fortran software currently in regular use is almost certainly in excess of $5,000,000,000. Many Fortran programs written more than a quarter of a century ago are still in regular use around the world, and it is commonplace for managers of Fortran programming "shops" to insist that no changes should be made to the specification of the language that would in any way result in today's code causing problems in 25-30 years' time. Major application areas include finite element analysis, weather forecasting, atomic bomb simulation, geophysics, computer-aided manufacturing, astrophysics, flight simulator control, and many others. Fortran is particularly important in those applications requiring leading edge high performance and parallelism, and its importance in the marketplace can be seen from the fact that there are a great many commercial vendors, including all manufacturers of high performance computers. Moreover, over 50% of the well-known SPEC family of benchmark program suites is written in Fortran. The existence of a large number of commercial vendors was the reason why, in 1966, Fortran was the first programming language to be standardized (by ANSI), and the existence of such standards and, since 1980, International Standards, has been of critical importance in the development of major application programs and procedure libraries intended to be used on a multiplicity of hardware and operating system platforms. Fortran has been the language of choice for high-performance computing from its earliest days, and most of the developments in optimizing techniques over the last 40 years have come from the Fortran compiler development community. In a similar manner, a consortium of commercial organizations have for several years been developing new approaches to maximizing the benefits to be obtained from parallel architectures through extensions to the Fortran language known as High Performance Fortran (or HPF). Fortran 90 introduced portable methods of specifying numerical precision - a critical issue in developing numerical libraries and other portable numerical software - and the next revision of Fortran is expected to introduce facilities for interval arithmetic which will allow even greater control over the accuracy of computation. A practical example of the importance of such features can be seen in the Atmospheric Release Advisory Capability (ARAC), which is an operational emergency response capability that provides real-time assessments of airborne pollutant releases. The next generation of ARAC atmospheric numerical models is now under development, and Fortran 90 was selected as the appropriate language for the new models due to its advanced features, numerical efficiency, and the need to maintain common standards with outside collaborators. At the other end of the scale, the recent availability of two commercial subsets of Fortran 90 (Elf90 and F) is leading to a resurgence of interest in Fortran (or rather its derivatives) at the college and university level. Both these languages provide the full power and elegance of Fortran 90 while eliminating the older, less well-structured, features that the Fortran marketplace insists on retaining in the language in order to avoid rewriting code that may be more than 20 years old, and are proving to be ideal languages to use in science and engineering undergraduate courses. Lisp Lisp is a family of universal programming languages. It is as old as Fortran, and became most popular with artificial intelligence development. Many critical commercial (e.g. banking, air traffic control, knowledge bases, CAD) and public domain (e.g. emacs) applications rely on Lisp. Usage of Lisp spreads across all sectors, with smaller penetration in real-time applications. ISO standardization of Lisp (ISLISP) supports a common subset of most of the Lisp languages, so that it naturally provides: - portability of applications across Lisp languages; - small language for academia and for maintainability of applications; - light weight of applications. In contrast ANSI has standards for Common Lisp, which supports the superset of one sub- family of Lisp languages (namely maclisp descent) and Scheme, which supports another sub-family of Lisp languages (those supporting continuations). There are an estimated 100,000 users of Lisp. Since the ISLISP standard has just been completed in 1997, it is too early for a market evaluation of its impact on the Lisp community. The ISLISP project has enjoyed the continuous participation of 6 countries (Canada, France, Germany, Japan, UK, USA) and occasionally a few others as well.. Modula 2 Since its first publication in the late seventies, Modula-2 has become popular as a first programming language at universities, as well as for the implementation of safety-critical systems and highly portable applications. Examples include: - embedded controls, e.g. in car electronics (to SC22 WG13's knowledge, Modula-2 is currently being used by approximately 700 programmers at one North American development site alone); - safety-critical vehicle control systems, e.g. unmanned trains in Lyon/France; - text processing, e.g. a German system with an installed base of more than 20000 copies on various operating systems, all compiling from the same source; - teaching, in particular as a first programming language, e.g. at: -- Trinity Western University (Langley, B.C., Canada), -- Queensland University of Technology (Brisbane, Australia), -- Oxford Brookes University (Oxford, United Kingdom), -- Munich University of Technology (Munich, Germany), -- Vienna University of Technology (Vienna, Austria) as well as at various colleges and schools. In addition to the Modula-2 Base Language Standard (IS 10514-1), SC22/WG13 is currently adding support for Object Oriented Programming and for Genericity (both documents have reached DIS ballot stage) as well as for Interfacing to Libraries defined in the C programming language (Working Draft stage). M[UMPS] The M[UMPS] language is used in a large number of applications, from the medical systems for which it was originally designed, to banking, law enforcement, educational testing, shipping, delivery of pizza, and control of automobile junkyard inventory. In the US the majority of the uses of M are medical; in Europe the majority of the users are commercial. There are vendors of M systems based in The United States, Austria, Japan and Brazil; thousands of businesses build applications on the software platforms they supply. Although there are no official figures on the value of currently installed M systems, several years ago the Gartner Group predicted that the M marketplace would surpass two billion per year. M[UMPS] is comprised of both a programming language and a database system. Recent enhancements include a protocol to describe character set bindings to M systems, Transaction Processing, and a binding to SQL. An extensive mathematics library will become available in the next revision. There is an effort under way currently to standardize Object Oriented features. The M[UMPS] language standard is developed by the MUMPS Development Committee, a group that operates under the ANSI canvass procedures, and currently has international representation from the UK, the Netherlands, and Germany. The resulting ANSI standards have been submitted to JTC1 for fast-track ballot. POSIX In the December 1996 edition of the ASTM Standardization News, one major UNIX vendor asserted that 30% of their UNIX business is directly attributable to the POSIX standards and that another 35% was strongly influenced by them. If we assume that this experience is paralleled by other suppliers but only use the directly attributable figure to be conservative, the cumulative impact of POSIX over the period 1988 to 1998 is approximately $84 Billion. In 1998 alone, the UNIX market is estimated to by $53 Billion so that the POSIX impact will be at least $16 Billion. Prolog Prolog is a niche language. Nevertheless, many critical commercial applications rely on Prolog's unique features. The standardization of Prolog has been important in bringing together widely separated groups and enabling a common core language to be defined and implemented. It has also enabled its users to be no longer dependent on a single source for critical parts of their applications. Prolog became popular initially in universities, particularly Artificial Intelligence departments. However, separate implementations led to both deliberate and accidental differences in implementations. The standard has: - Identified the difficult problems, - Provided a firm theoretical foundation, - Left the way open for future developments, - Ensured that systems are more helpful in indicating where errors occur in programs or data, and - Provided exception handling. Standard Prolog makes it easy to write a robust program that handles normal data efficiently, while handling abnormal conditions gracefully. In the United Kingdom, Prolog is taught in more university computing degree courses than any other programming language. SC 22/WG 17 (Prolog) has met in 12 different countries and has had participation from eight other countries. In all these countries, Prolog has been developed and used, and there has been interest in its standardization. VDM-SL and Z VDM-SL and Z are formal definition languages. Such languages are important components for the design and implementation of safety-critical and other systems where any failure must be avoided. Mathematical analysis guarantees correctness and reliability, and automated testing demonstrates conformance to the end user. Standardization has been assisted by grants from industrial and government agencies in the U.S. and Europe. Industrial users continue to exert pressure for a standard and contribute their people's time to the work. VDM-SL is also used for expressing the semantics in standards for ISO/IEC 10514 (Modula 2) and ISO/IEC 13719 (PCTE). REVIEW OF FAST-TRACK PROJECTS 47.n: PCTE There are an estimated 200 sites around the world using PCTE based products. At least six vendors produce these products which are oriented to the integration of software development tools with a repository in a software engineering environment. The total investment around PCTE based products is estimated to be close to $150 Million. The SC 22 projects in this area are as follows: - Project 1.22.47.1 This project deals with maintenance of the current approved PCTE standards which consist of an abstract specification (13719-1), a binding for the C programming language (13719-2) and a binding for the Ada programming language (13719-3). A corrigendum is to be published in 1997, together with a new edition of the standard, incorporating the changes of the corrigendum. The need for this release is mainly technical as it will not bring any major innovation but rather, more precision in the definition of the standard. - Project 1.22.47.2 This project has developed a set of Object Oriented extensions for PCTE. The extensions have been made to maximize consistency with other works in this domain, in particular OMG architecture. There is currently a PDAM under ballot. The adoption of the extensions is important as PCTE must incorporate modern object oriented technology features and must be ready to interoperate with object brokers such as CORBA. - Project 1.22.47.3 This project has developed extensions to support fine grain objects. It is important because these extensions provide a standard basis upon which the PCTE market can be extended to a class of applications requiring fine grain objects (i.e. small objects with a very quick access time). A PDAM was submitted in 1996 and was positively voted. - Project 1.22.47.4 This project was withdrawn at the August 1997 SC22 plenary. - Project 1.22.47.5 This project has developed a CORBA-IDL binding of PCTE, in liaison with ECMA TC33. ECMA TC33 has recently requested its standardization through a fast track procedure. This binding is of a huge interest as it will allow PCTE based products to offer standard APIs to all clients of CORBA based object oriented architectures. 14977: Extended BNF ISO/IEC 14977 (Syntactic metalanguage --- Extended BNF) has general applicability whenever it is necessary to define the syntax of a stream of symbols. Many people will be content to continue using the syntactic metalanguage with which they are familiar: but 'Extended BNF' provides a sensible easy choice for anyone who would otherwise be tempted to develop yet another variant of BNF. Several international standards have already adopted 'Extended BNF' in its earlier existence as BS6154. These standards include: Modula-2 (ISO/IEC 10514), VDM-SL (ISO/IEC 13817-1), PCTE (ISO/IEC 13719), Prolog (ISO/IEC 13211-1), and Z (ISO/IEC CD 13568). 15145: FORTH Forth is a general purpose programming language invented in 1970. It became widely known with the advent of personal computers, where its high performance and economy of memory were attractive. These advantages still make Forth popular in embedded microcontroller systems, in locations ranging from the Space Shuttle to the bar-code reader used by every Federal Express driver. Forth's interactive nature streamlines the test and development of new hardware. Incremental development, a fast program-debug cycle, full interactive access to any level of the program, and the ability to work at a high "level of abstraction," all contribute to Forth's reputation for very high programmer productivity. These, plus the flexibility and malleability of the language, are the reasons most cited for choosing Forth for embedded systems. The American National Standard for Forth, ANSI X3.215-1994, has been recognized worldwide as the definitive Forth standard. For this reason, SC22 invited the US to fast track the ANSI Standard for adoption as an International Standard. JTC 1 approved the fast track in 1996. IEEE Standard 1275-1994, the "Open Firmware" standard, is an application of the Forth standard which has been adopted by several PC and workstation manufacturers as the principal language for writing bootstrap and driver firmware. There are literally millions of computer systems extant which incorporate components developed in Forth. __________________ end of SC22 N2570 __________________________