Gaston Gonnet Oral History

Total Page:16

File Type:pdf, Size:1020Kb

Gaston Gonnet Oral History An interview with Gaston Gonnet Conducted by Thomas Haigh On 16-18 March, 2005 Zurich, Switzerland Interview conducted by the Society for Industrial and Applied Mathematics, as part of grant # DE-FG02-01ER25547 awarded by the US Department of Energy. Transcript and original tapes donated to the Computer History Museum by the Society for Industrial and Applied Mathematics © Computer History Museum Mountain View, California Gonnet, p. 2 ABSTRACT Born in Uruguay, Gonnet was first exposed to computers while working for IBM in Montevideo as a young man. This led him to a position at the university computer center, and in turn to an undergraduate degree in computer science in 1973. In 1974, following a military coup, he left for graduate studies in computer science at the University of Waterloo. Gonnet earned an M.Sc. and a Ph.D. in just two and a half years, writing a thesis on the analysis of search algorithms under the supervision of Alan George. After one year teaching in Rio de Janeiro he returned to Waterloo, as a faculty member. In 1980, Gonnet began work with a group including Morven Gentleman and Keith Geddes to produce an efficient interactive computer algebra system able to work well on smaller computers: Maple. Gonnet discusses in great detail the goals and organization of the Maple project, its technical characteristics, the Maple language and kernel, the Maple library, sources of funding, the contributions of the various team members, and the evolution of the system over time. He compares the resulting system to MACSYMA, Mathematica, Reduce, Scratchpad and other systems. Gonnet also examines the licensing and distribution of Maple and the project’s relations to its users. Maple was initially used for teaching purposes within the university, but soon found users in other institutions. From 1984, distribution was handled by Watcom, a company associated with the university, and 1988, Gonnet and Geddes created a new company, Waterloo Maple Software, Inc. to further commercialize Maple, which established itself as the leading commercial computer algebra system. However, during the mid-1990s the company ran into trouble and disagreements with his colleagues caused Gonnet to withdraw from managerial involvement. Since then, he feels that Maple has lost its battle with Mathematica. Gonnet also discusses Maple’s relation to Matlab and its creator, Cleve Moler. From 1984 onward with Frank Tompa, Tim Bray, and other Waterloo colleagues, Gonnet worked on the production of computer software to support the creation of the second edition of the Oxford English Dictionary. This led to the creation of another startup company, Open Text, producing software for the searching and indexing of textual information within large corporations. Gonnet explains his role in the firm, including his departure and his feeling that it made a strategic blunder by not exploiting its early lead in Internet search. Gonnet continued to work in a number of areas of computer science, including analysis of algorithms. In 1990, Gonnet moved from Waterloo to ETH in Switzerland. Among his projects since then have been Darwin, a bioinformatics system for the manipulation of genetic data, and leadership of the OpenMath project to produce a standard representation for mathematical objects. He has been involved in several further startup companies, including Aruna, a relational database company focused on business intelligence applications. Gonnet, p. 3 HAIGH: Thank you very much for agreeing to take part in the interview. GONNET: You are very welcome. HAIGH: I wonder if you can begin by talking a little bit about your early life upbringing and family background? GONNET: Well I was born in Uruguay from my mother who was Austrian and my father who was Uruguayan from French parents. I went to school and university in Uruguay and in the early 1970s decided to do graduate studies abroad. The picture of the world, from where we were, was a little bit distorted, and it was actually very difficult to find, from South America, which were the good universities and so on. So you ended up making decisions on casual information, on hearsay. At the time there were two things that were important for anybody that was going abroad. One was the ability to fund yourself while you go abroad, and the other one was doing what you wanted to do. I wanted to do computer science; that was pretty clear. I had already an early start with computers, mostly linked to commercial applications of the IBM computers of the time. IBM was big on the University of Waterloo for teaching at that time, because the University of Waterloo had developed a system called WATFOR, which was a Fortran compiler that had very quick turn around. They were sending people from all over the place to Waterloo to show them how efficient they were. One of my professors had gone on one of those trips and he came back very impressed with the University of Waterloo. So that was one sample point of information that somehow became very influential. The other choice I had was to go to the University of Essex in England. I had been given a grant to do a master’s there by the British Council. But the British, being very cautious, were saying, “Oh, you should not bring your wife. This is very tough. We are going to give you just enough money to survive. We are going to guarantee only one year—whether you finish or not finish you are on your own,” and so on and so forth. It was so intimidating that I ended up deciding to go to Canada, even though Canada was not offering a grant; the only thing they were offering me was a teaching assistantship to fund myself. But I have to say that the English scared me at the time. Also I had a misinterpretation of what is a professor and what is a lecturer and so on. As I was reading information about the University of Essex, I heard that they were all proud that they have a new professorship. So a place that is so proud that it has one more professor sort of raised eyebrows. Well, it was just lack of understanding of the system. But the bottom line is that I ended up going to the University of Waterloo in Canada. HAIGH: Let me pull you back a little bit from that to talk about the period before you left for Canada. So as you were growing up and in school, had you always been particularly interested in science and mathematics? GONNET: Yes, I have to say that I had always been interested in mathematics. Mathematics came easily to me. It’s funny that my mother used to say, “Oh, he is good at math. This is really the dumb subject because he doesn’t really need to study much to be good at math.” So that was her excuse for, “You don’t work hard enough. You are good at the topics that you have to make no effort for,” instead of being a good student because you study a lot. I have to say that I was raised with my mother; my parents divorced when I was four and a half, so I had basically no contact with my father. So I was raised by my mother and a half brother of mine that was really my brother, who was 12 years older than I was. Gonnet, p. 4 It was a little bit of a hard life for me at the time, and I had to start working before going to university just to support myself and to support my family. I found a job at IBM working at first with standard equipment and then programming computers, which came relatively naturally to me, or at least was easy to do. I’m talking about the late 1960s, when computers were still very rare, even in business. At the time the computer was a 1401 with 8K characters of memory, actually 8,000 characters of memory because the 1401 was partly decimal. The Universidad de la Republica in Montevideo, was renting time from IBM at the time. I was working for IBM, but I was helping the people at the university to make good use of their computing time. I became very good friends with the people at the University who were doing computing and I was hired as an assistant. When the university decided to start a branch of engineering that would do computer science, or what was perceived to be computer science, I was there. I was sort of employee number one for computer science. HAIGH: So when you say you were working for IBM, were you working on their behalf at the university or with a computer that was located at the IBM office? GONNET: Actually both are true. At first I was just an employee of IBM. As a matter of fact I was called a spy in the local jargon, because when people would come and rent time from IBM, IBM wanted to make sure that they were using the equipment properly at that they would sign the time sheets and that they will not create havoc, and also to help the users a little bit to get good use of their time. That was my role when the university people were coming, to help and to monitor them and to make sure they were using the machine properly. But later as the relation with the university people developed, I eventually became an employee of the university. HAIGH: So would you say that your primary and secondary education had given you a good grounding in science and mathematics before you went to the university? GONNET: Yes.
Recommended publications
  • Oauth 2.0 Dynamic Client Registration Management Protocol Draft-Jones-Oauth-Dyn-Reg-Management-00
    OAuth Working Group J. Richer TOC Internet-Draft The MITRE Corporation Intended status: Standards Track M. Jones Expires: August 1, 2014 Microsoft J. Bradley Ping Identity M. Machulak Newcastle University January 28, 2014 OAuth 2.0 Dynamic Client Registration Management Protocol draft-jones-oauth-dyn-reg-management-00 Abstract This specification defines methods for management of dynamic OAuth 2.0 client registrations. Status of this Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at http://datatracker.ietf.org/drafts/current/. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet- Drafts as reference material or to cite them other than as “work in progress.” This Internet-Draft will expire on August 1, 2014. Copyright Notice Copyright (c) 2014 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.
    [Show full text]
  • Department of Computer Science
    Department of Computer Science Content Research Overview of the Computer Science Department This brochure gives an overview of the ongoing research activities at the Department of Computer Science of ETH Zurich. It is a collection of the two-page research summaries given by every professor of the Department. The following pages are in alphabetical order of the names of the professors. Gustavo Alonso Information and Communication Systems Research Group Armin Biere Formal Methods for Solving Complexity and Quality Problems Walter Gander From Numerical Analysis to Scientific Computing Gaston Gonnet Computational Biochemistry and Computer Algebra Markus Gross Computer Graphics Laboratory Thomas Gross Laboratory for Software Technology Jürg Gutknecht Program Languages and Runtime Systems Petros Koumoutsakos Computational Sciences Friedemann Mattern Ubiquitous Computing Infrastructures Ueli Maurer Information Security and Cryptography Bertrand Meyer Chair of Software Engineering Kai Nagel Modeling and Simulation Jürg Nievergelt Algorithms, Data Structures, and Applications Moira Norrie Constructing Global Information Spaces Hans-Jörg Schek Realizing the Hyperdatabase Vision Bernt Schiele Perceptual Computing and Computer Vision Robert Stärk Computational Logic Thomas Stricker Parallel- and Distributed Systems Group Roger Wattenhofer Distributed Computing Group Emo Welzl Theory of Combinatorial Algorithms Peter Widmayer Algorithms, Data Structures, and Applications Carl August Zehnder Development and Application Group The most up-to-date research summaries can be found under Û research in the Web presentation of the Department. This version is as of June 12, 2002. Information and Communication Systems Research Group Information Systems Prof. Gustavo Alonso http://www.inf.ethz.ch/department/IS/iks/ [email protected] Figure 1 to 4 BiOpera, a develop- ment and run time environment for cluster and grid computing The motivation behind our research uted at a large scale and heterogeneous.
    [Show full text]
  • The Atom Project
    The Atom Project Tim Bray, Sun Microsystems Paul Hoffman, IMC Recent Numbers On June 23, 2004 (according to Technorati.com): • There were 2.8 million feeds tracked • 14,000 new blogs were created • 270,000 new updates were posted Technology: How Syndication Works Now 1. Publication makes an XML document available at a well-known URI describing recent updates 2. Clients retrieve it regularly (slow polling) 3. That’s all! Technology: What’s In a Syndication Feed • One Channel: Title, URI, logo, generator, copyright, author • Multiple Items: Author, title, URI, guid, date(s), category(ies), description (excerpt/summary/ full-text) Species of RSS Currently Observed in the Wild • RSS 0.9: Netscape, RDF-based • RSS 0.91: Netscape, non-RDF • RSS 1.0*: Ad-hoc group, RDF-based • RSS 0.92*: UserLand, non-RDF • RSS 2.0*: UserLand, non-RDF * significant market share Data Format Problems Too many formats, they’re vaguely specified, there are technical issues with embedded markup, relative URIs, XML namespaces, and permanent identifiers. The personality & political problems are much worse. Scaling and security may be OK, because it’s all HTTP. The Protocol Landscape The Blogger and MetaWeblog “APIs” are quick hacks based on XML-RPC. They lack extensibility, standards-friendliness, security, authentication and a future. Atom, Pre-IETF • Launched Summer 2003 by Sam Ruby • Quick buy-in from major vendors • Quick buy-in from backers of all RSS species, except RSS 2.0 • Active wiki at http://www.intertwingly.net/wiki/ pie Atom in the IETF • Charter • Documents • Mailing list • Not meeting here Starting the Atompub charter • Floated in mid-April 2004 • Some tweaking but no major glitches from the first proposal • Decided to have Sam Ruby be the WG secretary • Was almost ready for the IESG to approve in mid-May, then...
    [Show full text]
  • A Phylogenomic Study of Human, Dog, and Mouse
    A Phylogenomic Study of Human, Dog, and Mouse Gina Cannarozzi, Adrian Schneider, Gaston Gonnet* Institute of Computational Science, ETH Zurich, Zurich, Switzerland In recent years the phylogenetic relationship of mammalian orders has been addressed in a number of molecular studies. These analyses have frequently yielded inconsistent results with respect to some basal ordinal relationships. For example, the relative placement of primates, rodents, and carnivores has differed in various studies. Here, we attempt to resolve this phylogenetic problem by using data from completely sequenced nuclear genomes to base the analyses on the largest possible amount of data. To minimize the risk of reconstruction artifacts, the trees were reconstructed under different criteria—distance, parsimony, and likelihood. For the distance trees, distance metrics that measure independent phenomena (amino acid replacement, synonymous substitution, and gene reordering) were used, as it is highly improbable that all of the trees would be affected the same way by any reconstruction artifact. In contradiction to the currently favored classification, our results based on full-genome analysis of the phylogenetic relationship between human, dog, and mouse yielded overwhelming support for a primate–carnivore clade with the exclusion of rodents. Citation: Cannarozzi G, Schneider A, Gonnet G (2007) A phylogenomic study of human, dog, and mouse. PLoS Comput Biol 3(1): e2. doi:10.1371/journal.pcbi.0030002 Introduction Long branch attraction (LBA) may occur when an ingroup has a faster rate of evolution, thereby promoting migration of A correct interpretation of the direction of evolution in the long branch with accelerated evolution toward the long basal parts of the mammalian tree has important implications branch of the outgroup.
    [Show full text]
  • Fundamentación De La Propuesta De Otorgar El T´Itulo De Doctor Honoris Causa De La Facultad De Ingenier´Ia Al Dr. Gaston Go
    Fundamentaci´onde la propuesta de otorgar el t´ıtulode Doctor Honoris Causa de la Facultad de Ingenier´ıaal Dr. Gaston Gonnet. Gaston Henry Gonnet naci´oen Uruguay en setiembre de 1948. En 1968, habiendo concluido sus estudios secundarios, ingres´ocomo do- cente al reci´encreado CECUR (Centro de Computaci´onde la Universidad de la Rep´ublica).Al mismo tiempo, fue estudiante de la nueva carrera de Computador Universitario, habi´endosegraduado en agosto de 1973. A pesar de su juventud, Gonnet ya ten´ıacontacto con las grandes compu- tadoras de esa ´epoca gracias a su trabajo en la empresa IBM en Uruguay. Poco tiempo despu´esde la intervenci´onde la UDELAR en 1973, Gonnet se radic´oen Canad´a. En 1977, se doctor´oen la Universidad de Waterloo transform´andose r´api- damente en un cient´ıficodestacado internacionalmente en el ´areade Algorit- mos y Computabilidad. En 1980, Gonnet co-fund´oel Grupo de Computaci´onSimb´olicaen la Uni- versidad de Waterloo. De ese grupo surgi´oel proyecto Maple, que produjo el conocido Sistema de Algebra Computacional de amplio uso en el ´ambito cient´ıfico-tecnol´ogico.En 2011, Gaston Gonnet y Keith Geddes recibieron el Premio ACM Richard Jenks a la Excelencia en Ingenier´ıade Software apli- cada al Algebra Computacional en el Proyecto Maple. En 1984, Gonnet fue uno de los miembros fundadores del proyecto New Oxford English Dictionary. Este proyecto permiti´ocrear la primer versi´on electr´onicadel Oxford English Dictionary. En 1985, utiliz´osu a~nosab´aticopara retornar al Uruguay y ayudar al Instituto de Computaci´onen su reconstrucci´onluego de la dictadura.
    [Show full text]
  • Tim Bray 1 Tim Bray
    Tim Bray 1 Tim Bray Tim Bray Born Timothy William Bray June 21, 1955 Residence Vancouver, British Columbia, Canada Website http:/ / www. tbray. org/ ongoing/ Timothy William Bray (born June 21, 1955) is a Canadian software developer and entrepreneur. He co-founded Open Text Corporation and Antarctica Systems. Bray was Director of Web Technologies at Sun Microsystems from early 2004 to early 2010. Since then he has served as a Developer Advocate at Google, focusing on Android.[1] Early life Bray was born on June 21, 1955 in Alberta, Canada. He grew up in Beirut, Lebanon and graduated in 1981 with a Bachelor of Science (double major in Mathematics and Computer Science) from the University of Guelph in Guelph, Ontario. Tim described his switch of focus from Math to Computer Science this way: "In math I’d worked like a dog for my Cs, but in CS I worked much less for As—and learned that you got paid well for doing it."[2] In June 2009, he received an honorary Doctor of Science degree from the University of Guelph.[3] Fresh out of university, Bray joined Digital Equipment Corporation in Toronto as a software specialist. In 1983, Bray left DEC for Microtel Pacific Research. He joined the New Oxford English Dictionary project at the University of Waterloo in 1987 as its manager. It was during this time Bray worked with SGML, a technology that would later become central to both Open Text Corporation and his XML and Atom standardization work. Tim Bray 2 Entrepreneurship Waterloo Maple Tim Bray served as the part-time CEO of Waterloo Maple Inc.
    [Show full text]
  • IT Acronyms.Docx
    List of computing and IT abbreviations /.—Slashdot 1GL—First-Generation Programming Language 1NF—First Normal Form 10B2—10BASE-2 10B5—10BASE-5 10B-F—10BASE-F 10B-FB—10BASE-FB 10B-FL—10BASE-FL 10B-FP—10BASE-FP 10B-T—10BASE-T 100B-FX—100BASE-FX 100B-T—100BASE-T 100B-TX—100BASE-TX 100BVG—100BASE-VG 286—Intel 80286 processor 2B1Q—2 Binary 1 Quaternary 2GL—Second-Generation Programming Language 2NF—Second Normal Form 3GL—Third-Generation Programming Language 3NF—Third Normal Form 386—Intel 80386 processor 1 486—Intel 80486 processor 4B5BLF—4 Byte 5 Byte Local Fiber 4GL—Fourth-Generation Programming Language 4NF—Fourth Normal Form 5GL—Fifth-Generation Programming Language 5NF—Fifth Normal Form 6NF—Sixth Normal Form 8B10BLF—8 Byte 10 Byte Local Fiber A AAT—Average Access Time AA—Anti-Aliasing AAA—Authentication Authorization, Accounting AABB—Axis Aligned Bounding Box AAC—Advanced Audio Coding AAL—ATM Adaptation Layer AALC—ATM Adaptation Layer Connection AARP—AppleTalk Address Resolution Protocol ABCL—Actor-Based Concurrent Language ABI—Application Binary Interface ABM—Asynchronous Balanced Mode ABR—Area Border Router ABR—Auto Baud-Rate detection ABR—Available Bitrate 2 ABR—Average Bitrate AC—Acoustic Coupler AC—Alternating Current ACD—Automatic Call Distributor ACE—Advanced Computing Environment ACF NCP—Advanced Communications Function—Network Control Program ACID—Atomicity Consistency Isolation Durability ACK—ACKnowledgement ACK—Amsterdam Compiler Kit ACL—Access Control List ACL—Active Current
    [Show full text]
  • Tim Bray [email protected] · Tbray.Org · @Timbray · +Timbray Left: 1997 Right: 2010 Java.Com Php.Net Rubyonrails.Org Djangoproject.Com Nodejs.Org
    Does the browser have a future? Tim Bray [email protected] · tbray.org · @timbray · +TimBray Left: 1997 Right: 2010 java.com php.net rubyonrails.org djangoproject.com nodejs.org developer.android.com/reference/android/os/Vibrator.html Functional thinking with Erlang counter_loop(Count) -> incr(Counter) -> receive Counter ! { incr }. { incr } -> ! counter_loop(Count + 1); find_count(Counter) -> { report, To } -> Counter ! { report, self() }, To ! { count, Count }, receive counter_loop(Count) { count, Count } -> end. Count end. Scalable parallel counters! tbray.org/ongoing/When/200x/2007/09/21/Erlang clojure.org scala-lang.org fndIDP.appspot.com c := make(chan SearchResult) go timeout(c) for _, searcher := range Searchers { go searcher.Search(email, c, handles) } bestStrength := -1 outstanding := len(Searchers) bestResult = SearchResult{TimeoutType, []IDP{}} for outstanding > 0 { result := <-c outstanding-- if result.rtype == TimeoutType { break // timed out, don't wait for trailers } if len(result.idps) == 0 { continue // a result that found nothing, ignore it } resultClass := ResultStrengths[result.rtype] if resultClass.verified { bestResult = result break // verified results trump all others } if resultClass.strength > bestStrength { bestStrength = resultClass.strength bestResult = result } else if resultClass.strength == bestStrength { bestResult.idps = merge(bestResult.idps, result.idps) } } ... func timeout(c chan SearchResult) { time.Sleep(2000 * time.Millisecond) c <- SearchResult{rtype: TimeoutType} } twitter.com/levwalkin/status/510197979542614016/photo/1
    [Show full text]
  • Open WATCOM Programmer's Guide
    this document downloaded from... Use of this document the wings of subject to the terms and conditions as flight in an age stated on the website. of adventure for more downloads visit our other sites Positive Infinity and vulcanhammer.net chet-aero.com Watcom FORTRAN 77 Programmer's Guide Version 1.8 Notice of Copyright Copyright 2002-2008 the Open Watcom Contributors. Portions Copyright 1984-2002 Sybase, Inc. and its subsidiaries. All rights reserved. Any part of this publication may be reproduced, transmitted, or translated in any form or by any means, electronic, mechanical, manual, optical, or otherwise, without the prior written permission of anyone. For more information please visit http://www.openwatcom.org/ Portions of this manual are reprinted with permission from Tenberry Software, Inc. ii Preface The Watcom FORTRAN 77 Programmer's Guide includes the following major components: · DOS Programming Guide · The DOS/4GW DOS Extender · Windows 3.x Programming Guide · Windows NT Programming Guide · OS/2 Programming Guide · Novell NLM Programming Guide · Mixed Language Programming · Common Problems Acknowledgements This book was produced with the Watcom GML electronic publishing system, a software tool developed by WATCOM. In this system, writers use an ASCII text editor to create source files containing text annotated with tags. These tags label the structural elements of the document, such as chapters, sections, paragraphs, and lists. The Watcom GML software, which runs on a variety of operating systems, interprets the tags to format the text into a form such as you see here. Writers can produce output for a variety of printers, including laser printers, using separately specified layout directives for such things as font selection, column width and height, number of columns, etc.
    [Show full text]
  • MTS on Wikipedia Snapshot Taken 9 January 2011
    MTS on Wikipedia Snapshot taken 9 January 2011 PDF generated using the open source mwlib toolkit. See http://code.pediapress.com/ for more information. PDF generated at: Sun, 09 Jan 2011 13:08:01 UTC Contents Articles Michigan Terminal System 1 MTS system architecture 17 IBM System/360 Model 67 40 MAD programming language 46 UBC PLUS 55 Micro DBMS 57 Bruce Arden 58 Bernard Galler 59 TSS/360 60 References Article Sources and Contributors 64 Image Sources, Licenses and Contributors 65 Article Licenses License 66 Michigan Terminal System 1 Michigan Terminal System The MTS welcome screen as seen through a 3270 terminal emulator. Company / developer University of Michigan and 7 other universities in the U.S., Canada, and the UK Programmed in various languages, mostly 360/370 Assembler Working state Historic Initial release 1967 Latest stable release 6.0 / 1988 (final) Available language(s) English Available programming Assembler, FORTRAN, PL/I, PLUS, ALGOL W, Pascal, C, LISP, SNOBOL4, COBOL, PL360, languages(s) MAD/I, GOM (Good Old Mad), APL, and many more Supported platforms IBM S/360-67, IBM S/370 and successors History of IBM mainframe operating systems On early mainframe computers: • GM OS & GM-NAA I/O 1955 • BESYS 1957 • UMES 1958 • SOS 1959 • IBSYS 1960 • CTSS 1961 On S/360 and successors: • BOS/360 1965 • TOS/360 1965 • TSS/360 1967 • MTS 1967 • ORVYL 1967 • MUSIC 1972 • MUSIC/SP 1985 • DOS/360 and successors 1966 • DOS/VS 1972 • DOS/VSE 1980s • VSE/SP late 1980s • VSE/ESA 1991 • z/VSE 2005 Michigan Terminal System 2 • OS/360 and successors
    [Show full text]
  • A Study on Various Programming Languages to Keep Pace with Innovation
    S.Sridhar* et al. (IJITR) INTERNATIONAL JOURNAL OF INNOVATIVE TECHNOLOGY AND RESEARCH Volume No.5, Issue No.2, February – March 2017, 5681-5704. A Study On Various Programming Languages To Keep Pace With Innovation S.SRIDHAR Professor & Director RV Centre for Cognitive & Central Computing R.V.College of Engineering, Mysore Road Bangalore-560059 India Abstract: A programming language is a formal computer language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs to control the behaviour of a machine or to express algorithms. The earliest known programmable machine preceded the invention of the digital computer and is the automatic flute player described in the 9th century by the brothers Musa in Baghdad, "during the Islamic Golden Age". From the early 1800s, "programs" were used to direct the behavior of machines such as Jacquard looms and player pianos. Thousands of different programming languages have been created, mainly in the computer field, and many more still are being created every year. Many programming languages require computation to be specified in an imperative form (i.e., as a sequence of operations to perform) while other languages use other forms of program specification such as the declarative form (i.e. the desired result is specified, not how to achieve it). The description of a programming language is usually split into the two components of syntax (form) and semantics (meaning). Some languages are defined by a specification document (for example, the C programming language is specified by an ISO Standard) while other languages (such as Perl) have a dominant implementation that is treated as a reference.
    [Show full text]
  • Watcom FORTRAN 77 Tools
    Open Watcom FORTRAN 77 Tools User’s Guide First Edition Notice of Copyright Copyright 2002-2006 the Open Watcom Contributors. Portions Copyright 1984-2002 Sybase, Inc. and its subsidiaries. All rights reserved. Any part of this publication may be reproduced, transmitted, or translated in any form or by any means, electronic, mechanical, manual, optical, or otherwise, without the prior written permission of anyone. For more information please visit http://www.openwatcom.org/ Printed in U.S.A. ii Preface The Open Watcom FORTRAN 77 Tools User's Guide describes how to use Open Watcom's software development tools on Intel 80x86-based personal computers with DOS, Windows, or OS/2. The Open Watcom FORTRAN 77 Tools User's Guide describes the following tools: · compile and link utility · assembler · object file library manager · object file disassembler · exe2bin utility · far call optimization utility · patch utility · executable file strip utility · make utility · touch utility Acknowledgements This book was produced with the Open Watcom GML electronic publishing system, a software tool developed by WATCOM. In this system, writers use an ASCII text editor to create source files containing text annotated with tags. These tags label the structural elements of the document, such as chapters, sections, paragraphs, and lists. The Open Watcom GML software, which runs on a variety of operating systems, interprets the tags to format the text into a form such as you see here. Writers can produce output for a variety of printers, including laser printers, using separately specified layout directives for such things as font selection, column width and height, number of columns, etc.
    [Show full text]