David A. Wheeler
David A. Wheeler (born 1965) specializes in developing high-risk software systems, particularly large software systems and computer security. He has written a number of articles on open source software/free software. His articles and books include: Why Open Source Software / Free Software (OSS/FS)? Look at the Numbers! Secure Programming for Linux and Unix HOWTO More than a Gigabuck: Estimating GNU/Linux's Size The Most Important Software Innovations Make Your Open Source Software GPL-Compatible. Or Else. Software Inspection: An Industry Best Practice by David A. Wheeler, Bill Brykczynski, and Reginald N. Meeson, Jr. IEEE Computer Society Press. ISBN 0-8186-7340-0. Ada 95: The Lovelace Tutorial. Springer-Verlag. ISBN 0-387-948-01-5. He lives in Northern Virginia.
Most Important Software Innovations In 2001, Wheeler made a list of the most important software concepts developed until that date. His list consists of: 1837: Charles Babbage's Analytical Engine 1845: Boolean algebra 1936-37: Turing machine 1945: Stored program concept 1945: Hypertext 1951: Subroutines 1952: Assemblers 1952: Compilers 1954: Practically Compiling Human-like Notation (FORTRAN programming language) 1955: Stack Principle 1957: Timesharing 1958-60: List Processing (LISP programming language) 1960: Survivable Packet-Switching Networks 1964: Word processor (the IBM MT/ST) 1964: Computer mouse 1965: Semaphoress 1965: Hierarchical directories, program names as commands (Multics) 1965: Unification 1966: Structured programming 1966: Spell checker 1967: Object oriented programming 1967: Separating Text Content from Format 1968: The Graphical User Interface (GUI) 1968: Regular Expressions 1969-70: Standardized Generic Markup Language (SGML) 1970: Relational Model and Algebra (leading to relational databases) 1970: Distributed Network Email 1972: Modularity criteria 1972: Screen-Oriented Word processing 1972: Pipes 1972: B-Tree 1972, 1976: Portable operating systems (OS6, Unix) 1972: Internetworking using Datagrams (TCP/IP) 1973: Font generation algorithms 1974: Monitor 1975: Communicating Sequential Processes (CSP) 1977: Diffie-Hellman Security Algorithm 1978: RSA security algorithm 1978: Spreadsheet 1978: Lamport clocks 1979: Distributed Newsgroups (USENET) 1980: Model View Controller (MVC) 1981?: Remote Procedure Call (RPC) 1984: Distributing Naming (DNS) 1986: Lockless version management (CVS) 1989: Distributed Hypertext via Simple Mechanisms (World Wide Web) 1991: Design patterns 1992: Secure Mobile Code (Java programming language and Safe-Tcl) 1993: Refactoring 1994: Web-crawling search engines
External link Personal homepage
|
|