DARSIMCO

Last updated
DARSIMCO
Paradigms procedural
Designed by John G. Kemeny
Developer Dartmouth College
First appeared1956;65 years ago (1956)
Implementation language Assembly
Platform IBM 704
Influenced
DOPE, Dartmouth BASIC

DARSIMCO, short for Dartmouth Simplified Code, was a simple programming language written by John Kemeny in 1956 that expanded simple mathematical operations into IBM 704 assembly language (Share Assembly Language, SAL). It was an attempt to simplify basic mathematical processing, a common theme in the 1950s, but found little use before the arrival of FORTRAN at MIT the next year.

Contents

Description

This language was essentially a set of macros that expanded out user source code into a series of assembly language instructions, which were then compiled using the existing SAL assembler, Symbolic Assembly Program. For instance, the formula A + B = C would add the values in memory locations A and B and put the result in C. To do this, the DARSIMCO compiler would write out the following three instructions:

 LDA A  FAD B  STO C

The language included similar expansions for subtraction, multiplication, division, and simple looping.

The language was implemented on the IBM 704 at MIT's New England Regional Computer Center. Programmed using punch cards, the system had a two-week turnaround because Kemeny had to take the cards in via train from Dartmouth.

See also

Related Research Articles

Assembly language Low-level programming language

In computer programming, assembly language, often abbreviated asm, is any low-level programming language in which there is a very strong correspondence between the instructions in the language and the architecture's machine code instructions. Because assembly depends on the machine code instructions, every assembly language is designed for exactly one specific computer architecture. Assembly language may also be called symbolic machine code.

BASIC Family of programming languages

BASIC is a family of general-purpose, high-level programming languages whose design philosophy emphasizes ease of use. The original version was designed by John G. Kemeny and Thomas E. Kurtz and released at Dartmouth College in 1964. They wanted to enable students in fields other than science and mathematics to use computers. At the time, nearly all use of computers required writing custom software, which was something only scientists and mathematicians tended to learn.

Computer programming is the process of designing and building an executable computer program to accomplish a specific computing result or to perform a specific task. Programming involves tasks such as: analysis, generating algorithms, profiling algorithms' accuracy and resource consumption, and the implementation of algorithms in a chosen programming language. The source code of a program is written in one or more languages that are intelligible to programmers, rather than machine code, which is directly executed by the central processing unit. The purpose of programming is to find a sequence of instructions that will automate the performance of a task on a computer, often for solving a given problem. Proficient programming thus often requires expertise in several different subjects, including knowledge of the application domain, specialized algorithms, and formal logic.

In computing, a compiler is a computer program that translates computer code written in one programming language into another language. The name "compiler" is primarily used for programs that translate source code from a high-level programming language to a lower level language to create an executable program.

Fortran General-purpose programming language

Fortran is a general-purpose, compiled imperative programming language that is especially suited to numeric computation and scientific computing.

True BASIC

True BASIC is a variant of the BASIC programming language descended from Dartmouth BASIC—the original BASIC. Both were created by college professors John G. Kemeny and Thomas E. Kurtz.

IBM 704 Vacuum tube computer system

The IBM 704, introduced by IBM in 1954, is the first mass-produced computer with floating-point arithmetic hardware. The IBM 704 Manual of operation states:

The type 704 Electronic Data-Processing Machine is a large-scale, high-speed electronic calculator controlled by an internally stored program of the single address type.

IBM 1620 IBM scientific computer released in 1959

The IBM 1620 was announced by IBM on October 21, 1959, and marketed as an inexpensive "scientific computer". After a total production of about two thousand machines, it was withdrawn on November 19, 1970. Modified versions of the 1620 were used as the CPU of the IBM 1710 and IBM 1720 Industrial Process Control Systems.

IBM 650 Vacuum tube computer system

The IBM 650 Magnetic Drum Data-Processing Machine is an early digital computer produced by IBM in the mid-1950s. It was the first mass produced computer in the world. Almost 2,000 systems were produced, the last in 1962, and it was the first computer to make a meaningful profit. The first one was installed in late 1954 and it was the most-popular computer of the 1950s.

A low-level programming language is a programming language that provides little or no abstraction from a computer's instruction set architecture—commands or functions in the language map that are structurally similar to processor's instructions. Generally, this refers to either machine code or assembly language. Because of the low abstraction between the language and machine language, low-level languages are sometimes described as being "close to the hardware". Programs written in low-level languages tend to be relatively non-portable, due to being optimized for a certain type of system architecture.

Dartmouth BASIC is the original version of the BASIC programming language. It was designed by two professors at Dartmouth College, John G. Kemény and Thomas E. Kurtz. With the underlying Dartmouth Time Sharing System (DTSS), it offered an interactive programming environment to all undergraduates as well as the larger university community.

Thomas Eugene Kurtz is a retired Dartmouth professor of mathematics and computer scientist, who along with his colleague John G. Kemeny set in motion the then revolutionary concept of making computers as freely available to college students as library books were, by implementing the concept of time-sharing at Dartmouth College. In his mission to allow non-expert users to interact with the computer, he co-developed the BASIC programming language and the Dartmouth Time Sharing System during 1963 to 1964.

IBM 1130 16-bit IBM minicomputer introduced in 1965

The IBM 1130 Computing System, introduced in 1965, was IBM's least expensive computer at that time. A binary 16-bit machine, it was marketed to price-sensitive, computing-intensive technical markets, like education and engineering, succeeding the decimal IBM 1620 in that market segment. Typical installations included a 1 megabyte disk drive that stored the operating system, compilers and object programs, with program source generated and maintained on punched cards. Fortran was the most common programming language used, but several others, including APL, were available.

In computing, a line number is a method used to specify a particular sequence of characters in a text file. The most common method of assigning numbers to lines is to assign every line a unique number, starting at 1 for the first line, and incrementing by 1 for each successive line.

John G. Kemeny Hungarian-born American mathematician and computer scientist

John George Kemeny was a Hungarian-born American mathematician, computer scientist, and educator best known for co-developing the BASIC programming language in 1964 with Thomas E. Kurtz. Kemeny served as the 13th President of Dartmouth College from 1970 to 1981 and pioneered the use of computers in college education. Kemeny chaired the presidential commission that investigated the Three Mile Island accident in 1979. According to György Marx he was one of The Martians.

The Dartmouth Time-Sharing System (DTSS) was an operating system first developed at Dartmouth College between 1963 and 1964. It was the first successful large-scale time-sharing system to be implemented, and was also the system for which the BASIC language was developed. DTSS was developed continually over the next decade, reimplemented on several generations of computers, and finally shut down in 1999.

In computing, a compiler is a computer program that transforms source code written in a programming language or computer language, into another computer language. The most common reason for transforming source code is to create an executable program.

The Symbolic Assembly Program (SAP) is an assembler program for the IBM 704 computer. It was written by Roy Nutt at United Aircraft Corporation, and was distributed by the SHARE user's group beginning in 1956 as the Share Assembly Program. SAP succeeded an earlier program called NYAP1, which it closely resembled, and became the standard assembler for 704 users. It "set the external form of an assembly language that was to be a model for all its successors and which persists almost unchanged to the present day."

DOPE, short for Dartmouth Oversimplified Programming Experiment, was a simple programming language designed by John Kemény in 1962 to offer students a transition from flow-charting to programming the LGP-30. Lessons learned from implementing DOPE were subsequently applied to the invention and development of BASIC.

References