An Interview with Edsger W. Dijkstra the Computer Science Luminary, in One of His Last Interviews Before His Death in 2002, Reflects on a Programmer’S Life

Total Page:16

File Type:pdf, Size:1020Kb

An Interview with Edsger W. Dijkstra the Computer Science Luminary, in One of His Last Interviews Before His Death in 2002, Reflects on a Programmer’S Life viewpoints Vdoi:10.1145/1787234.1787249 Thomas J. Misa, Editor Interview An Interview with edsger W. dijkstra The computer science luminary, in one of his last interviews before his death in 2002, reflects on a programmer’s life. he charles Babbage InstItute holds one of the world’s largest collections of re- search-grade oral history interviews relating to the Thistory of computers, software, and networking. Most of the 350 inter- views have been conducted in the context of specific research projects, which facilitate the interviewer’s ex- tensive preparation and often sug- gest specific lines of questions. Tran- scripts from these oral histories are a key source in understanding the his- tory of computing, since traditional historical sources are frequently in- complete. This interview with pro- gramming pioneer Edsger Dijkstra (1930–2002) was conducted by CBI researcher Phil Frana at Dijkstra’s home in Austin, TX, in August 2001 for a NSF-KDI project on “Building a Future for Software History.” Winner of ACM’s A.M. Turing Award in 1972, Dijkstra is well known for his contributions to computer n I science as well as his colorful assess- ust a ments of the field. His contributions to this magazine continue to enrich exas at t F new generations of computing scien- ty o I tists and practitioners. ers iv We present this interview post- n u e humously on the eighth anniver- Th F sary of Dijkstra’s death at age 72 in August 2002; this interview has been ourtesy o condensed from the complete tran- C ph script, available at http://www.cbi.umn. ra G edu/oh. oto H P —Thomas J. Misa august 2010 | vol. 53 | no. 8 | communicaTionS of The acm 41 viewpoints how did your career start? Sydney or Melbourne. The final part of It all started in 1951, when my father the journey was on an F27 to Canber- enabled me to go to a programming i had never ra. And we arrived and I met my host, course in Cambridge, England. It was used someone whom I had never met before. And he a frightening experience: the first time was very apologetic that this world that I left the Netherlands, the first time else’s software. traveler had to do the last leg of the I ever had to understand people speak- if something journey on such a shaky two-engine ing English. I was all by myself, trying turboprop. And it gave me the dear to follow a course on a totally new topic. went wrong, i had opportunity for a one-upmanship that But I liked it very much. The Nether- done it. and it was I never got again. I could honestly say, lands was such a small country that “Dr. Stanton, I felt quite safe: I calcu- Aad van Wijngaarden, who was the di- that unforgivingness lated the resonance frequencies of the rector of the Computation Department that challenged me. wings myself.” [laughter] of the Mathematical Centre in Amster- In 1956, as soon as I had decided to dam, knew of this, and he offered me a become a programmer, I finished my job. And on a part-time basis, I became studies as quickly as possible, since I the programmer of the Mathematical no longer felt welcome at the univer- Centre in March of 1952. They didn’t sity: the physicists considered me as have computers yet; they were trying to a deserter, and the mathematicians build them. The first eight years of my friends, because if you asked them were dismissive and somewhat con- programming there I developed the what their professional competence temptuous about computing. In the basic software for a series of machines consisted of, they could point out that mathematical culture of those days being built at the Mathematical Cen- they knew everything about triodes, you had to deal with infinity to make tre. In those years I was a very conser- pentodes, and other electronic gear. your topic scientifically respectable. vative programmer. The way in which And there was nothing I could point to! programs were written down, the form I spoke with van Wijngaarden in there’s a curious story behind your of the instruction code on paper, the 1955, and he agreed that there was no “shortest path” algorithm. library organization; it was very much such thing as a clear scientific compo- In 1956 I did two important things, modeled after what I had seen in 1951 nent in computer programming, but I got my degree and we had the festive in Cambridge. that I might very well be one of the peo- opening of the ARMAC.c We had to have ple called to make it a science. And at a demonstration. Now the ARRA, a few When you got married in 1957, you the time, I was the kind of guy to whom years earlier, had been so unreliable could not enter the term “programmer” you could say such things. As I said, I that the only safe demonstration we into your marriage record? was trained to become a scientist. dared to give was the generation of ran- That’s true. I think that “program- dom numbers, but for the more reliable mer” became recognized in the early What projects did you work on in Am- ARMAC I could try something more am- 1960s. I was supposed to study theoreti- sterdam? bitious. For a demonstration for non- cal physics, and that was the reason for When I came in 1952, they were computing people you have to have a going to Cambridge. However, in 1955 working on the ARRA,a but they could problem statement that non-mathema- after three years of programming, while not get it reliable, and an updated ver- ticians can understand; they even have I was still a student, I concluded that the sion was built, using selenium diodes. to understand the answer. So I designed intellectual challenge of programming And then the Mathematical Centre a program that would find the shortest was greater than the intellectual chal- built a machine for Fokker Aircraft route between two cities in the Nether- lenge of theoretical physics, and as a Industry. So the FERTA,b an updated lands, using a somewhat reduced road- result I chose programming. Program- version of the ARRA, was built and in- map of the Netherlands, on which I had ming was so unforgiving. If something stalled at Schiphol. The installation selected 64 cities (so that in the coding went wrong, I mean a zero is a zero and I did together with the young Gerrit six bits would suffice to identify a city). a one is a one. I had never used some- Blaauw who later became one of the What’s the shortest way to travel one else’s software. If something went designers of the IBM 360, with Gene from Rotterdam to Groningen? It is the wrong, I had done it. And it was that un- Amdahl and Fred Brooks. algorithm for the shortest path, which forgivingness that challenged me. One funny story about the Fairchild I designed in about 20 minutes. One I also began to realize that in some F27: On my first visit to Australia, I flew morning I was shopping in Amsterdam strange way, programs could become on a big 747 from Amsterdam to Los with my young fiancée, and tired, we sat very complicated or tricky. So it was Angeles, then on another 747 I flew to down on the café terrace to drink a cup in 1955 when I decided not to become of coffee and I was just thinking about a physicist, to become a programmer whether I could do this, and I then instead. At the time programming a Automatische Relais Rekenmachine Amster- dam = Automatic Relay Calculator Amsterdam. didn’t look like doing science; it was b Fokker Electronische Rekenmachine Te Am- c Automatische Rekenmachine MAthematische just a mixture of being ingenious and sterdam = Fokker Electronic Calculator In Centrum = Automatic Calculator Mathemati- being accurate. I envied my hardware Amsterdam cal Centre 42 communicaTionS of The acm | august 2010 | vol. 53 | no. 8 viewpoints designed the algorithm for the short- would write down the formal specifi- the OS/360 monitor idea would have est path. As I said, it was a 20-minute cation of the machine, and all three of never occurred to a european? invention. In fact, it was published in us would sign it with our blood, so to No, we were too poor to consider it 1959, three years later. The publication speak. And then our ways parted. All the and we also decided that we should try is still quite nice. One of the reasons programming I did was on paper. So I to structure our designs in such a way that it is so nice was that I designed was quite used to developing programs that we could keep things under our in- it without pencil and paper. Without without testing them. tellectual control. This was a major dif- pencil and paper you are almost forced There was not a way to test them, so ference between European and Ameri- to avoid all avoidable complexities. you’ve got to convince yourself of their can attitudes about programming. Eventually that algorithm became, to correctness by reasoning about them. my great amazement, one of the cor- A simple writing error did not matter how did the notion of program proofs nerstones of my fame. I found it in the as long as the machine wasn’t there yet, arise? early 1960s in a German book on man- and as soon as errors would show up In 1959, I had challenged my col- agement science—“Das Dijkstra’sche on the machine, they would be simple leagues at the Mathematical Centre Verfahren” [“Dijkstra’s procedure”].
Recommended publications
  • 1 Oral History Interview with Brian Randell January 7, 2021 Via Zoom
    Oral History Interview with Brian Randell January 7, 2021 Via Zoom Conducted by William Aspray Charles Babbage Institute 1 Abstract Brian Randell tells about his upbringing and his work at English Electric, IBM, and Newcastle University. The primary topic of the interview is his work in the history of computing. He discusses his discovery of the Irish computer pioneer Percy Ludgate, the preparation of his edited volume The Origins of Digital Computers, various lectures he has given on the history of computing, his PhD supervision of Martin Campbell-Kelly, the Computer History Museum, his contribution to the second edition of A Computer Perspective, and his involvement in making public the World War 2 Bletchley Park Colossus code- breaking machines, among other topics. This interview is part of a series of interviews on the early history of the history of computing. Keywords: English Electric, IBM, Newcastle University, Bletchley Park, Martin Campbell-Kelly, Computer History Museum, Jim Horning, Gwen Bell, Gordon Bell, Enigma machine, Curta (calculating device), Charles and Ray Eames, I. Bernard Cohen, Charles Babbage, Percy Ludgate. 2 Aspray: This is an interview on the 7th of January 2021 with Brian Randell. The interviewer is William Aspray. We’re doing this interview via Zoom. Brian, could you briefly talk about when and where you were born, a little bit about your growing up and your interests during that time, all the way through your formal education? Randell: Ok. I was born in 1936 in Cardiff, Wales. Went to school, high school, there. In retrospect, one of the things I missed out then was learning or being taught Welsh.
    [Show full text]
  • Software Development Career Pathway
    Career Exploration Guide Software Development Career Pathway Information Technology Career Cluster For more information about NYC Career and Technical Education, visit: www.cte.nyc Summer 2018 Getting Started What is software? What Types of Software Can You Develop? Computers and other smart devices are made up of Software includes operating systems—like Windows, Web applications are websites that allow users to contact management system, and PeopleSoft, a hardware and software. Hardware includes all of the Apple, and Google Android—and the applications check email, share documents, and shop online, human resources information system. physical parts of a device, like the power supply, that run on them— like word processors and games. among other things. Users access them with a Mobile applications are programs that can be data storage, and microprocessors. Software contains Software applications can be run directly from a connection to the Internet through a web browser accessed directly through mobile devices like smart instructions that are stored and run by the hardware. device or through a connection to the Internet. like Firefox, Chrome, or Safari. Web browsers are phones and tablets. Many mobile applications have Other names for software are programs or applications. the platforms people use to find, retrieve, and web-based counterparts. display information online. Web browsers are applications too. Desktop applications are programs that are stored on and accessed from a computer or laptop, like Enterprise software are off-the-shelf applications What is Software Development? word processors and spreadsheets. that are customized to the needs of businesses. Popular examples include Salesforce, a customer Software development is the design and creation of Quality Testers test the application to make sure software and is usually done by a team of people.
    [Show full text]
  • Edsger Dijkstra: the Man Who Carried Computer Science on His Shoulders
    INFERENCE / Vol. 5, No. 3 Edsger Dijkstra The Man Who Carried Computer Science on His Shoulders Krzysztof Apt s it turned out, the train I had taken from dsger dijkstra was born in Rotterdam in 1930. Nijmegen to Eindhoven arrived late. To make He described his father, at one time the president matters worse, I was then unable to find the right of the Dutch Chemical Society, as “an excellent Aoffice in the university building. When I eventually arrived Echemist,” and his mother as “a brilliant mathematician for my appointment, I was more than half an hour behind who had no job.”1 In 1948, Dijkstra achieved remarkable schedule. The professor completely ignored my profuse results when he completed secondary school at the famous apologies and proceeded to take a full hour for the meet- Erasmiaans Gymnasium in Rotterdam. His school diploma ing. It was the first time I met Edsger Wybe Dijkstra. shows that he earned the highest possible grade in no less At the time of our meeting in 1975, Dijkstra was 45 than six out of thirteen subjects. He then enrolled at the years old. The most prestigious award in computer sci- University of Leiden to study physics. ence, the ACM Turing Award, had been conferred on In September 1951, Dijkstra’s father suggested he attend him three years earlier. Almost twenty years his junior, I a three-week course on programming in Cambridge. It knew very little about the field—I had only learned what turned out to be an idea with far-reaching consequences. a flowchart was a couple of weeks earlier.
    [Show full text]
  • A Politico-Social History of Algolt (With a Chronology in the Form of a Log Book)
    A Politico-Social History of Algolt (With a Chronology in the Form of a Log Book) R. w. BEMER Introduction This is an admittedly fragmentary chronicle of events in the develop­ ment of the algorithmic language ALGOL. Nevertheless, it seems perti­ nent, while we await the advent of a technical and conceptual history, to outline the matrix of forces which shaped that history in a political and social sense. Perhaps the author's role is only that of recorder of visible events, rather than the complex interplay of ideas which have made ALGOL the force it is in the computational world. It is true, as Professor Ershov stated in his review of a draft of the present work, that "the reading of this history, rich in curious details, nevertheless does not enable the beginner to understand why ALGOL, with a history that would seem more disappointing than triumphant, changed the face of current programming". I can only state that the time scale and my own lesser competence do not allow the tracing of conceptual development in requisite detail. Books are sure to follow in this area, particularly one by Knuth. A further defect in the present work is the relatively lesser availability of European input to the log, although I could claim better access than many in the U.S.A. This is regrettable in view of the relatively stronger support given to ALGOL in Europe. Perhaps this calmer acceptance had the effect of reducing the number of significant entries for a log such as this. Following a brief view of the pattern of events come the entries of the chronology, or log, numbered for reference in the text.
    [Show full text]
  • Computer History – the Pitfalls of Past Futures
    Research Collection Working Paper Computer history – The pitfalls of past futures Author(s): Gugerli, David; Zetti, Daniela Publication Date: 2019 Permanent Link: https://doi.org/10.3929/ethz-b-000385896 Rights / License: In Copyright - Non-Commercial Use Permitted This page was generated automatically upon download from the ETH Zurich Research Collection. For more information please consult the Terms of use. ETH Library TECHNIKGESCHICHTE DAVID GUGERLI DANIELA ZETTI COMPUTER HISTORY – THE PITFALLS OF PAST FUTURES PREPRINTS ZUR KULTURGESCHICHTE DER TECHNIK // 2019 #33 WWW.TG.ETHZ.CH © BEI DEN AUTOREN Gugerli, Zetti/Computer History Preprints zur Kulturgeschichte der Technik #33 Abstract The historicization of the computer in the second half of the 20th century can be understood as the effect of the inevitable changes in both its technological and narrative development. What interests us is how past futures and therefore history were stabilized. The development, operation, and implementation of machines and programs gave rise to a historicity of the field of computing. Whenever actors have been grouped into communities – for example, into industrial and academic developer communities – new orderings have been constructed historically. Such orderings depend on the ability to refer to archival and published documents and to develop new narratives based on them. Professional historians are particularly at home in these waters – and nevertheless can disappear into the whirlpool of digital prehistory. Toward the end of the 1980s, the first critical review of the literature on the history of computers thus offered several programmatic suggestions. It is one of the peculiar coincidences of history that the future should rear its head again just when the history of computers was flourishing as a result of massive methodological and conceptual input.
    [Show full text]
  • Chapter 1 Introduction to Computers, Programs, and Java
    Chapter 1 Introduction to Computers, Programs, and Java 1.1 Introduction • The central theme of this book is to learn how to solve problems by writing a program . • This book teaches you how to create programs by using the Java programming languages . • Java is the Internet program language • Why Java? The answer is that Java enables user to deploy applications on the Internet for servers , desktop computers , and small hand-held devices . 1.2 What is a Computer? • A computer is an electronic device that stores and processes data. • A computer includes both hardware and software. o Hardware is the physical aspect of the computer that can be seen. o Software is the invisible instructions that control the hardware and make it work. • Computer programming consists of writing instructions for computers to perform. • A computer consists of the following hardware components o CPU (Central Processing Unit) o Memory (Main memory) o Storage Devices (hard disk, floppy disk, CDs) o Input/Output devices (monitor, printer, keyboard, mouse) o Communication devices (Modem, NIC (Network Interface Card)). Bus Storage Communication Input Output Memory CPU Devices Devices Devices Devices e.g., Disk, CD, e.g., Modem, e.g., Keyboard, e.g., Monitor, and Tape and NIC Mouse Printer FIGURE 1.1 A computer consists of a CPU, memory, Hard disk, floppy disk, monitor, printer, and communication devices. CMPS161 Class Notes (Chap 01) Page 1 / 15 Kuo-pao Yang 1.2.1 Central Processing Unit (CPU) • The central processing unit (CPU) is the brain of a computer. • It retrieves instructions from memory and executes them.
    [Show full text]
  • Reinventing Education Based on Data and What Works • Since 1955
    Reinventing Education Based on Data and What Works • Since 1955 Carnegie Mellon is reinventing education and the way we think about leveraging technology through its study of the science of learning – an interdisciplinary effort that we’ve been tackling for more than 50 years with both computer scientists and psychologists. CMU's educational technology innovations have inspired numerous startup companies, which are helping students to learn more effectively and efficiently. 1955: Allen Newell (TPR ’57) joins 1995: Prof. Kenneth R. Koedinger (HSS Prof. Herbert Simon’s research team as ’88,’90) and Anderson develop Practical a Ph.D. student. Algebra Tutor. The program pioneers a new form of computer-aided instruction for high 1956: CMU creates one of the world’s first school students based on cognitive tutors. university computation centers. With Prof. Alan Perlis (MCS ’42) as its head, it is a joint 1995: Prof. Jack Mostow (SCS ’81) undertaking of faculty from the business, develops Project LISTEN, an intelligent tutor Simon, Newell psychology, electrical engineering and that helps children learn to read. The National mathematics departments, and the Science Foundation included Project precursor to computer science. LISTEN’s speech recognition system as one of its top 50 innovations from 1950-2000. 1956: Simon creates a “thinking machine”—enacting a mental process 1995: The Center for Automated by breaking it down into its simplest Learning and Discovery is formed, led steps. Later that year, the term “artificial by Prof. Thomas M. Mitchell. intelligence” is coined by a small group Perlis including Newell and Simon. 1998: Spinoff company Carnegie Learning is founded by CMU scientists to expand 1956: Simon, Newell and J.
    [Show full text]
  • FUNDAMENTALS of COMPUTING (2019-20) COURSE CODE: 5023 502800CH (Grade 7 for ½ High School Credit) 502900CH (Grade 8 for ½ High School Credit)
    EXPLORING COMPUTER SCIENCE NEW NAME: FUNDAMENTALS OF COMPUTING (2019-20) COURSE CODE: 5023 502800CH (grade 7 for ½ high school credit) 502900CH (grade 8 for ½ high school credit) COURSE DESCRIPTION: Fundamentals of Computing is designed to introduce students to the field of computer science through an exploration of engaging and accessible topics. Through creativity and innovation, students will use critical thinking and problem solving skills to implement projects that are relevant to students’ lives. They will create a variety of computing artifacts while collaborating in teams. Students will gain a fundamental understanding of the history and operation of computers, programming, and web design. Students will also be introduced to computing careers and will examine societal and ethical issues of computing. OBJECTIVE: Given the necessary equipment, software, supplies, and facilities, the student will be able to successfully complete the following core standards for courses that grant one unit of credit. RECOMMENDED GRADE LEVELS: 9-12 (Preference 9-10) COURSE CREDIT: 1 unit (120 hours) COMPUTER REQUIREMENTS: One computer per student with Internet access RESOURCES: See attached Resource List A. SAFETY Effective professionals know the academic subject matter, including safety as required for proficiency within their area. They will use this knowledge as needed in their role. The following accountability criteria are considered essential for students in any program of study. 1. Review school safety policies and procedures. 2. Review classroom safety rules and procedures. 3. Review safety procedures for using equipment in the classroom. 4. Identify major causes of work-related accidents in office environments. 5. Demonstrate safety skills in an office/work environment.
    [Show full text]
  • About ILE C/C++ Compiler Reference
    IBM i 7.3 Programming IBM Rational Development Studio for i ILE C/C++ Compiler Reference IBM SC09-4816-07 Note Before using this information and the product it supports, read the information in “Notices” on page 121. This edition applies to IBM® Rational® Development Studio for i (product number 5770-WDS) and to all subsequent releases and modifications until otherwise indicated in new editions. This version does not run on all reduced instruction set computer (RISC) models nor does it run on CISC models. This document may contain references to Licensed Internal Code. Licensed Internal Code is Machine Code and is licensed to you under the terms of the IBM License Agreement for Machine Code. © Copyright International Business Machines Corporation 1993, 2015. US Government Users Restricted Rights – Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. Contents ILE C/C++ Compiler Reference............................................................................... 1 What is new for IBM i 7.3.............................................................................................................................3 PDF file for ILE C/C++ Compiler Reference.................................................................................................5 About ILE C/C++ Compiler Reference......................................................................................................... 7 Prerequisite and Related Information..................................................................................................
    [Show full text]
  • Security Applications of Formal Language Theory
    Dartmouth College Dartmouth Digital Commons Computer Science Technical Reports Computer Science 11-25-2011 Security Applications of Formal Language Theory Len Sassaman Dartmouth College Meredith L. Patterson Dartmouth College Sergey Bratus Dartmouth College Michael E. Locasto Dartmouth College Anna Shubina Dartmouth College Follow this and additional works at: https://digitalcommons.dartmouth.edu/cs_tr Part of the Computer Sciences Commons Dartmouth Digital Commons Citation Sassaman, Len; Patterson, Meredith L.; Bratus, Sergey; Locasto, Michael E.; and Shubina, Anna, "Security Applications of Formal Language Theory" (2011). Computer Science Technical Report TR2011-709. https://digitalcommons.dartmouth.edu/cs_tr/335 This Technical Report is brought to you for free and open access by the Computer Science at Dartmouth Digital Commons. It has been accepted for inclusion in Computer Science Technical Reports by an authorized administrator of Dartmouth Digital Commons. For more information, please contact [email protected]. Security Applications of Formal Language Theory Dartmouth Computer Science Technical Report TR2011-709 Len Sassaman, Meredith L. Patterson, Sergey Bratus, Michael E. Locasto, Anna Shubina November 25, 2011 Abstract We present an approach to improving the security of complex, composed systems based on formal language theory, and show how this approach leads to advances in input validation, security modeling, attack surface reduction, and ultimately, software design and programming methodology. We cite examples based on real-world security flaws in common protocols representing different classes of protocol complexity. We also introduce a formalization of an exploit development technique, the parse tree differential attack, made possible by our conception of the role of formal grammars in security. These insights make possible future advances in software auditing techniques applicable to static and dynamic binary analysis, fuzzing, and general reverse-engineering and exploit development.
    [Show full text]
  • The Advent of Recursion & Logic in Computer Science
    The Advent of Recursion & Logic in Computer Science MSc Thesis (Afstudeerscriptie) written by Karel Van Oudheusden –alias Edgar G. Daylight (born October 21st, 1977 in Antwerpen, Belgium) under the supervision of Dr Gerard Alberts, and submitted to the Board of Examiners in partial fulfillment of the requirements for the degree of MSc in Logic at the Universiteit van Amsterdam. Date of the public defense: Members of the Thesis Committee: November 17, 2009 Dr Gerard Alberts Prof Dr Krzysztof Apt Prof Dr Dick de Jongh Prof Dr Benedikt Löwe Dr Elizabeth de Mol Dr Leen Torenvliet 1 “We are reaching the stage of development where each new gener- ation of participants is unaware both of their overall technological ancestry and the history of the development of their speciality, and have no past to build upon.” J.A.N. Lee in 1996 [73, p.54] “To many of our colleagues, history is only the study of an irrele- vant past, with no redeeming modern value –a subject without useful scholarship.” J.A.N. Lee [73, p.55] “[E]ven when we can't know the answers, it is important to see the questions. They too form part of our understanding. If you cannot answer them now, you can alert future historians to them.” M.S. Mahoney [76, p.832] “Only do what only you can do.” E.W. Dijkstra [103, p.9] 2 Abstract The history of computer science can be viewed from a number of disciplinary perspectives, ranging from electrical engineering to linguistics. As stressed by the historian Michael Mahoney, different `communities of computing' had their own views towards what could be accomplished with a programmable comput- ing machine.
    [Show full text]
  • The Machine That Builds Itself: How the Strengths of Lisp Family
    Khomtchouk et al. OPINION NOTE The Machine that Builds Itself: How the Strengths of Lisp Family Languages Facilitate Building Complex and Flexible Bioinformatic Models Bohdan B. Khomtchouk1*, Edmund Weitz2 and Claes Wahlestedt1 *Correspondence: [email protected] Abstract 1Center for Therapeutic Innovation and Department of We address the need for expanding the presence of the Lisp family of Psychiatry and Behavioral programming languages in bioinformatics and computational biology research. Sciences, University of Miami Languages of this family, like Common Lisp, Scheme, or Clojure, facilitate the Miller School of Medicine, 1120 NW 14th ST, Miami, FL, USA creation of powerful and flexible software models that are required for complex 33136 and rapidly evolving domains like biology. We will point out several important key Full list of author information is features that distinguish languages of the Lisp family from other programming available at the end of the article languages and we will explain how these features can aid researchers in becoming more productive and creating better code. We will also show how these features make these languages ideal tools for artificial intelligence and machine learning applications. We will specifically stress the advantages of domain-specific languages (DSL): languages which are specialized to a particular area and thus not only facilitate easier research problem formulation, but also aid in the establishment of standards and best programming practices as applied to the specific research field at hand. DSLs are particularly easy to build in Common Lisp, the most comprehensive Lisp dialect, which is commonly referred to as the “programmable programming language.” We are convinced that Lisp grants programmers unprecedented power to build increasingly sophisticated artificial intelligence systems that may ultimately transform machine learning and AI research in bioinformatics and computational biology.
    [Show full text]