HOME





Douglas McIlroy
Malcolm Douglas McIlroy (born 1932) is an American mathematician, engineer, and programmer. As of 2019 he is an Adjunct Professor of Computer Science at Dartmouth College. McIlroy is best known for having originally proposed Unix pipelines and developed several Unix tools, such as echo, spell, diff, sort, join, graph, speak, and tr. He was also one of the pioneering researchers of macro processors and programming language extensibility. He participated in the design of multiple influential programming languages, particularly PL/I, SNOBOL, ALTRAN, TMG and C++. His seminal work on software componentization and code reuse makes him a pioneer of component-based software engineering and software product line engineering. Biography McIlroy earned his bachelor's degree in engineering physics from Cornell University, and a Ph.D. in applied mathematics from MIT in 1959 for his thesis ''On the Solution of the Differential Equations of Conical Shells'' (advisor Eric Reissner). ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Computer Science
Computer science is the study of computation, information, and automation. Computer science spans Theoretical computer science, theoretical disciplines (such as algorithms, theory of computation, and information theory) to Applied science, applied disciplines (including the design and implementation of Computer architecture, hardware and Software engineering, software). Algorithms and data structures are central to computer science. The theory of computation concerns abstract models of computation and general classes of computational problem, problems that can be solved using them. The fields of cryptography and computer security involve studying the means for secure communication and preventing security vulnerabilities. Computer graphics (computer science), Computer graphics and computational geometry address the generation of images. Programming language theory considers different ways to describe computational processes, and database theory concerns the management of re ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Mathematician
A mathematician is someone who uses an extensive knowledge of mathematics in their work, typically to solve mathematical problems. Mathematicians are concerned with numbers, data, quantity, mathematical structure, structure, space, Mathematical model, models, and mathematics#Calculus and analysis, change. History One of the earliest known mathematicians was Thales of Miletus (); he has been hailed as the first true mathematician and the first known individual to whom a mathematical discovery has been attributed. He is credited with the first use of deductive reasoning applied to geometry, by deriving four corollaries to Thales's theorem. The number of known mathematicians grew when Pythagoras of Samos () established the Pythagorean school, whose doctrine it was that mathematics ruled the universe and whose motto was "All is number". It was the Pythagoreans who coined the term "mathematics", and with whom the study of mathematics for its own sake begins. The first woman math ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


PL/I
PL/I (Programming Language One, pronounced and sometimes written PL/1) is a procedural, imperative computer programming language initially developed by IBM. It is designed for scientific, engineering, business and system programming. It has been in continuous use by academic, commercial and industrial organizations since it was introduced in the 1960s. A PL/I American National Standards Institute (ANSI) technical standard, X3.53-1976, was published in 1976. PL/I's main domains are data processing, numerical computation, scientific computing, and system programming. It supports recursion, structured programming, linked data structure handling, fixed-point, floating-point, complex, character string handling, and bit string handling. The language syntax is English-like and suited for describing complex data formats with a wide set of functions available to verify and manipulate them. Early history In the 1950s and early 1960s, business and scientific users programmed fo ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


General-purpose Macro Processor
A general-purpose macro processor or general purpose preprocessor is a macro processor that is not tied to or integrated with a particular language or piece of software. A macro processor is a program that copies a stream of text from one place to another, making a systematic set of replacements as it does so. Macro processors are often embedded in other programs, such as assemblers and compilers. Sometimes they are standalone programs that can be used to process any kind of text. Macro processors have been used for language expansion (defining new language constructs that can be expressed in terms of existing language components), for systematic text replacements that require decision making, and for text reformatting (e.g. conditional extraction of material from an HTML Hypertext Markup Language (HTML) is the standard markup language for documents designed to be displayed in a web browser. It defines the content and structure of web content. It is often assisted by techno ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Speak (Unix)
was a Unix utility that used a predefined set of rules to turn a file of English text into phoneme data compatible with a Federal Screw Works (later Votrax) model VS4 "Votrax" Speech Synthesizer. It was first included in Unix v3 and possibly later ones, with the OS-end support files and help files persisting until v6. As of late 2011, the original source code for , and portions of speak.m (which is generated from speak.v) were discovered. At least three versions of the man page are known to still exist. The main program (speak) was around 4500 bytes, the rule tables (/etc/speak.m) were around 11,000 bytes, and the table viewer (speakm) was around 1900 bytes. History The speak utility was developed by Douglas McIlroy in the early 1970s at AT&T Bell Labs Nokia Bell Labs, commonly referred to as ''Bell Labs'', is an American industrial research and development company owned by Finnish technology company Nokia. With headquarters located in Murray Hill, New Jersey, Murray H ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  




Graph (Unix)
In Unix, graph is a command-line utility used to draw plots from tabular data. History The graph utility, written by Douglas McIlroy, was present in the first version of Unix, and every later version, for instance: * Unix Version 7, released in 1979 * SunOS 5.10, the Solaris version released in 2005 Its output is a sequence of commands for the plot utility, which creates plots using ASCII graphics. This design demonstrates the Unix philosophy: defining the plot (graph) and drawing it (plot) are separate tools, so they can be recombined with other tools. For instance, plot can be substituted with a different utility, that accepts the same plot commands, but creates the plot in a graphics file format, or sends it to a plotter. Unix v7 also provided device drivers for plotting the results to various graphics devices; this was announced as ''now standard''. The GNU plotutils package provides a free non-exact reimplementation, available for Linux and many other systems. ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Join (Unix Utility)
join is a command in Unix and Unix-like operating systems that merges the lines of two sorted text files based on the presence of a common field. It is similar to the join operator used in relational databases but operating on text files. Overview The join command takes as input two text files and several options. If no command-line argument is given, this command looks for a pair of lines from the two files having the same first field (a sequence of characters that are different from space), and outputs a line composed of the first field followed by the rest of the two lines. The program arguments specify which character to be used in place of space to separate the fields of the line, which field to use when looking for matching lines, and whether to output lines that do not match. The output can be stored to another file rather than printed using redirection. As an example, the two following files list the known fathers and the mothers of some people. Both files have been s ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Spell (Unix)
is the standard English language spell checker for Unix, Plan 9, and Unix-like operating systems. Appearing in Version 6 Unix, was originally written by Stephen C. Johnson of Bell Labs in 1975. Douglas McIlroy later improved its accuracy, performance, and memory use, and described his work and ''spell'' in general in his 1982 paperDevelopment of a Spelling list. Spell has a simple command-line interface: It goes over all the words in a given text file, and prints a sorted list of unique misspelled words in that file. It does not provide any interface for looking for those words in the file, or helping to correct the mistakes. In 1983, a different spell-checker, (the ''interactive'' spell-checker), was ported to Unix. had a user interface for showing the spelling mistakes in context and suggesting how to correct them. Since then, the original Spell tool has been mostly considered obsolete. Another reason Spell is considered obsolete is that it only supports the English la ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Unix
Unix (, ; trademarked as UNIX) is a family of multitasking, multi-user computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, and others. Initially intended for use inside the Bell System, AT&T licensed Unix to outside parties in the late 1970s, leading to a variety of both academic and commercial Unix variants from vendors including University of California, Berkeley ( BSD), Microsoft (Xenix), Sun Microsystems ( SunOS/ Solaris), HP/ HPE ( HP-UX), and IBM ( AIX). The early versions of Unix—which are retrospectively referred to as " Research Unix"—ran on computers such as the PDP-11 and VAX; Unix was commonly used on minicomputers and mainframes from the 1970s onwards. It distinguished itself from its predecessors as the first portable operating system: almost the entire operating system is written in the C programming language (in 1973), which allows U ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Pipeline (Unix)
In Unix-like computer operating systems, a pipeline is a mechanism for inter-process communication using message passing. A pipeline is a set of process (computing), processes chained together by their standard streams, so that the output text of each process (''stdout'') is passed directly as input (''stdin'') to the next one. The second process is started as the first process is still executing, and they are executed concurrency (computer science), concurrently. The concept of pipelines was championed by Douglas McIlroy at Unix's ancestral home of Bell Labs, during the development of Unix, shaping its Unix philosophy, toolbox philosophy. It is named by analogy to a physical pipeline transport, pipeline. A key feature of these pipelines is their "hiding of internals". This in turn allows for more clarity and simplicity in the system. The pipes in the pipeline are anonymous pipes (as opposed to named pipes), where data written by one process is buffered by the operating system un ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Dartmouth College
Dartmouth College ( ) is a Private university, private Ivy League research university in Hanover, New Hampshire, United States. Established in 1769 by Eleazar Wheelock, Dartmouth is one of the nine colonial colleges chartered before the American Revolution. Emerging into national prominence at the turn of the 20th century, Dartmouth has since been considered among the most prestigious undergraduate colleges in the United States. Although originally established to educate Native Americans in the United States, Native Americans in Christian theology and the Anglo-American way of life, the university primarily trained Congregationalism in the United States, Congregationalist ministers during its early history before it gradually secularized. While Dartmouth is now a research university rather than simply an undergraduate college, it continues to go by "Dartmouth College" to emphasize its focus on undergraduate education. Following a liberal arts curriculum, Dartmouth provides unde ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Computer Science
Computer science is the study of computation, information, and automation. Computer science spans Theoretical computer science, theoretical disciplines (such as algorithms, theory of computation, and information theory) to Applied science, applied disciplines (including the design and implementation of Computer architecture, hardware and Software engineering, software). Algorithms and data structures are central to computer science. The theory of computation concerns abstract models of computation and general classes of computational problem, problems that can be solved using them. The fields of cryptography and computer security involve studying the means for secure communication and preventing security vulnerabilities. Computer graphics (computer science), Computer graphics and computational geometry address the generation of images. Programming language theory considers different ways to describe computational processes, and database theory concerns the management of re ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]