text:
List of programmers

This is a list of programmers notable for their contributions to software, either as original author or architect, or for later additions. All entries must already have associated articles. Some persons notable as computer scientists are included here because they work in program as well as research.

A

 * Michael Abrash – program optimization and x86 assembly language
 * Scott Adams – series of text adventures beginning in the late 1970s
 * Tarn Adams – Dwarf Fortress
 * Leonard Adleman – co-created RSA algorithm (being the A in that name), coined the term computer virus
 * Alfred Aho – co-created AWK (being the A in that name), and main author of famous Compilers: Principles, Techniques, and Tools (Dragon book)
 * Andrei Alexandrescu – author, expert on languages C++, D
 * Paul Allen – Altair BASIC, Applesoft BASIC, cofounded Microsoft
 * Eric Allman – sendmail, syslog
 * Marc Andreessen – co-created Mosaic, cofounded Netscape
 * Jeremy Ashkenas – CoffeeScript programming language and Backbone.js
 * Bill Atkinson – QuickDraw, HyperCard
 * Lennart Augustsson – languages (Lazy ML, Cayenne), compilers (HBC Haskell, parallel Haskell front end, Bluespec SystemVerilog early), LPMud pioneer, NetBSD device drivers

B

 * Roland Carl Backhouse – computer program construction, algorithmic problem solving, ALGOL
 * John Backus – Fortran, BNF
 * Lars Bak – virtual machine specialist
 * Richard Bartle – MUD, with Roy Trubshaw, created MUDs
 * Friedrich L. Bauer – Stack (data structure), Sequential Formula Translation, ALGOL, software engineering, Bauer–Fike theorem
 * Kent Beck – created Extreme programming, cocreated JUnit
 * Donald Becker – Linux Ethernet drivers, Beowulf clustering
 * Brian Behlendorf – Apache HTTP Server
 * Doug Bell – Dungeon Master series of video games
 * Fabrice Bellard – created FFmpeg open codec library, QEMU virtualization tools
 * Tim Berners-Lee – invented World Wide Web
 * Daniel J. Bernstein – djbdns, qmail
 * Eric Bina – cocreated Mosaic web browser
 * Marc Blank – cocreated Zork
 * Joshua Bloch – core Java language designer, lead the Java collections framework project
 * Jonathan Blow – video games Braid and The Witness
 * Susan G. Bond – cocreated ALGOL 68-R
 * Grady Booch – cocreated Unified Modeling Language
 * Bert Bos – authored Argo web browser, co-authored Cascading Style Sheets
 * Stephen R. Bourne – cocreated ALGOL 68C, created Bourne shell
 * David Bradley – coder on the IBM PC project team who wrote the Control-Alt-Delete keyboard handler, embedded in all PC-compatible BIOSes
 * Andrew Braybrook – video games Paradroid and Uridium
 * Larry Breed – implementation of Iverson Notation (APL), co-developed APL\360, Scientific Time Sharing Corporation cofounder
 * Jack Elton Bresenham – created Bresenham's line algorithm
 * Dan Bricklin – cocreated VisiCalc, the first personal spreadsheet program
 * Walter Bright – Digital Mars, First C++ compiler, authored D (programming language)
 * Sergey Brin – cofounded Google Inc.
 * Per Brinch Hansen (surname "Brinch Hansen") – RC 4000 multiprogramming system, operating system kernels, microkernels, monitors, concurrent programming, Concurrent Pascal, distributed computing & processes, parallel computing
 * Richard Brodie – Microsoft Word
 * Andries Brouwer – Hack, former maintainer of man pager, Linux kernel hacker
 * Danielle Bunten Berry (Dani Bunten) – M.U.L.E., multiplayer video game and other noted video games
 * Rod Burstall – languages COWSEL (renamed POP-1), POP-2, NPL, Hope; ACM SIGPLAN 2009 PL Achievement Award
 * Dries Buytaert – created Drupal

C

 * Steve Capps – cocreated Macintosh and Newton
 * John Carmack – first-person shooters Doom, Quake
 * Vint Cerf – TCP/IP, NCP
 * Ward Christensen – wrote the first BBS (Bulletin Board System) system CBBS
 * Edgar F. Codd – principal architect of relational model
 * Bram Cohen – BitTorrent protocol design and implementation
 * Alain Colmerauer – Prolog
 * Richard W. Conway – compilers for CORC, CUPL, and PL/C; XCELL Factory Modelling System
 * Alan Cooper – Visual Basic
 * Mike Cowlishaw – REXX and NetRexx, LEXX editor, image processing, decimal arithmetic packages
 * Alan Cox – co-developed Linux kernel
 * Brad Cox – Objective-C
 * Mark Crispin – created IMAP, authored UW-IMAP, one of reference implementations of IMAP4
 * William Crowther – Colossal Cave Adventure
 * Ward Cunningham – created Wiki concept
 * Dave Cutler – architected RSX-11M, OpenVMS, VAXELN, DEC MICA, Windows NT

D

 * Ole-Johan Dahl – cocreated Simula, object-oriented programming
 * Ryan Dahl – created Node.js
 * James Duncan Davidson – created Tomcat, now part of Jakarta Project
 * Terry A. Davis – developer of TempleOS
 * Jeff Dean – Spanner, Bigtable, MapReduce
 * L. Peter Deutsch – Ghostscript, Assembler for PDP-1, XDS-940 timesharing system, QED original co-author
 * Robert Dewar – IFIP WG 2.1 member, chairperson, ALGOL 68; AdaCore cofounder, president, CEO
 * Edsger W. Dijkstra – contributions to ALGOL, Dijkstra's algorithm, Go To Statement Considered Harmful, IFIP WG 2.1 member
 * Matt Dillon – programmed various software including DICE and DragonflyBSD
 * Jack Dorsey – created Twitter
 * Martin Dougiamas – creator and lead developed Moodle
 * Adam Dunkels – authored Contiki operating system, the lwIP and uIP embedded TCP/IP stacks, invented protothreads

E

 * Les Earnest – authored finger program
 * Alan Edelman – Edelman's Law, stochastic operator, Interactive Supercomputing, Julia (programming language) cocreator, high performance computing, numerical computing
 * Brendan Eich – created JavaScript
 * Larry Ellison – co-created Oracle Database, cofounded Oracle Corporation
 * Andrey Ershov – languages ALPHA, Rapira; first Soviet time-sharing system AIST-0, electronic publishing system RUBIN, multiprocessing workstation MRAMOR, IFIP WG 2.1 member, Aesthetics and the Human Factor in Programming
 * Marc Ewing – created Red Hat Linux

F

 * Scott Fahlman – created smiley face emoticon :-)
 * Dan Farmer – created COPS and Security Administrator Tool for Analyzing Networks (SATAN) Security Scanners
 * Steve Fawkner – created Warlords and Puzzle Quest
 * Stuart Feldman – created make, authored Fortran 77 compiler, part of original group that created Unix
 * David Filo – cocreated Yahoo!
 * Brad Fitzpatrick – created memcached, Livejournal and OpenID
 * Andrew Fluegelman – author PC-Talk communications software; considered a cocreated shareware
 * Mahmoud Samir Fayed – created PWCT and Ring
 * Martin Fowler – created the dependency injection pattern of software engineering, a form of inversion of control
 * Brian Fox – created Bash, Readline, GNU Finger

G

 * Elon Gasper – cofounded Bright Star Technology, patented realistic facial movements for in-game speech; HyperAnimator, Alphabet Blocks, etc.
 * Bill Gates – Altair BASIC, cofounded Microsoft
 * Nick Gerakines – author, contributor to open-source Erlang projects
 * Jim Gettys – X Window System, HTTP/1.1, One Laptop per Child, Bufferbloat
 * Steve Gibson – created SpinRite
 * John Gilmore – GNU Debugger (GDB)
 * Adele Goldberg – cocreated Smalltalk
 * Robert Griesemer – cocreated Go
 * Ryan C. Gordon (a.k.a. Icculus) – Lokigames, ioquake3
 * James Gosling – Java, Gosling Emacs, NeWS
 * Bill Gosper – Macsyma, Lisp machine, hashlife, helped Donald Knuth on Vol.2 of The Art of Computer Programming (Semi-numerical algorithms)
 * Paul Graham – Yahoo! Store, On Lisp, ANSI Common Lisp
 * John Graham-Cumming – authored POPFile, a Bayesian filter-based e-mail classifier
 * David Gries – The book The Science of Programming, Interference freedom, Member Emeritus, IFIP Working Group 2.3 on Programming Methodology
 * Ralph Griswold – cocreated SNOBOL, created Icon (programming language)
 * Richard Greenblatt – Lisp machine, Incompatible Timesharing System, MacHack
 * Neil J. Gunther – authored Pretty Damn Quick (PDQ) performance modeling program
 * Scott Guthrie (a.k.a. ScottGu) – ASP.NET creator
 * Jürg Gutknecht – with Niklaus Wirth: Lilith computer; Modula-2, Oberon, Zonnon programming languages; Oberon operating system
 * Andi Gutmans – cocreated PHP programming language
 * Michael Guy – Phoenix, work on number theory, computer algebra, higher dimension polyhedra theory, ALGOL 68C; work with John Horton Conway

H

 * Daniel Ha – cofounder and CEO of blog comment platform Disqus
 * Nico Habermann – work on operating systems, software engineering, inter-process communication, process synchronization, deadlock avoidance, software verification, programming languages: ALGOL 60, BLISS, Pascal, Ada
 * Jim Hall – started the FreeDOS project
 * Margaret Hamilton – Director of Software Engineering Division of MIT Instrumentation Laboratory, which developed on-board flight software for the space Apollo program
 * Brian Harris – machine translation research, Canada's first computer-assisted translation course, natural translation theory, community interpreting (Critical Link)
 * Eric Hehner – predicative programming, formal methods, quote notation, ALGOL
 * David Heinemeier Hansson – created the Ruby on Rails framework for developing web applications
 * Rebecca Heineman – authored Bard's Tale III: Thief of Fate and Dragon Wars
 * Gernot Heiser – operating system teaching, research, commercialising, Open Kernel Labs, OKL4, Wombat
 * Anders Hejlsberg – Turbo Pascal, Delphi, C#, TypeScript
 * Ted Henter – founded Henter-Joyce (now part of Freedom Scientific) created JAWS screen reader software for blind people
 * Andy Hertzfeld – co-created Macintosh, cofounded General Magic, cofounded Eazel
 * D. Richard Hipp – created SQLite
 * C. A. R. Hoare – first implementation of quicksort, ALGOL 60 compiler, Communicating sequential processes
 * Louis Hodes – Lisp, pattern recognition, logic programming, cancer research
 * John Henry Holland – pioneer in what became known as genetic algorithms, developed Holland's schema theorem, Learning Classifier Systems
 * Allen Holub – author and public speaker, Agile Manifesto signatory
 * Grace Hopper – Harvard Mark I computer, FLOW-MATIC, COBOL
 * Paul Hudak – Haskell language design, textbooks on it and computer music
 * David A. Huffman – created the Huffman coding; a compression algorithm
 * Roger Hui – created J
 * Dave Hyatt – co-authored Mozilla Firefox
 * P. J. Hyett – cofounded GitHub

I

 * Miguel de Icaza – GNOME project leader, initiated Mono project
 * Roberto Ierusalimschy – Lua leading architect
 * Dan Ingalls – cocreated Smalltalk and Bitblt
 * Geir Ivarsøy – cocreated Opera web browser
 * Ken Iverson – APL, J
 * Toru Iwatani – created Pac-Man

J

 * Bo Jangeborg – ZX Spectrum games
 * Paul Jardetzky – authored server program for the first webcam
 * Rod Johnson – created Spring Framework, founded SpringSource
 * Stephen C. Johnson – yacc
 * Lynne Jolitz – 386BSD
 * William Jolitz – 386BSD
 * Bill Joy – BSD, csh, vi, cofounded Sun Microsystems
 * Robert K. Jung – created ARJ

K

 * Poul-Henning Kamp – MD5 password hash algorithm, FreeBSD GEOM and GBDE, part of UFS2, FreeBSD Jails, malloc and the Beerware license
 * Mitch Kapor – Lotus 1-2-3, founded Lotus Development Corporation
 * Phil Katz – created Zip (file format), authored PKZIP
 * Ted Kaehler – contributions to Smalltalk, Squeak, HyperCard
 * Alan Kay – Smalltalk, Dynabook, Object-oriented programming, Squeak
 * Mel Kaye – LGP-30 and RPC-4000 machine code programmer at Royal McBee in the 1950s, famed as "Real Programmer" in the Story of Mel
 * Stan Kelly-Bootle – Manchester Mark 1, The Devil's DP Dictionary
 * John Kemeny – cocreated BASIC
 * Brian Kernighan – cocreated AWK (being the K in that name), authored ditroff text-formatting tool
 * Gary Kildall – CP/M, MP/M, BIOS, PL/M, also known for work on data-flow analysis, binary recompilers, multitasking operating systems, graphical user interfaces, disk caching, CD-ROM file system and data structures, early multi-media technologies, founded Digital Research (DRI)
 * Tom Knight – Incompatible Timesharing System
 * Jim Knopf – a.k.a. Jim Button, author PC-File flatfile database; cocreated shareware
 * Donald E. Knuth – TeX, CWEB, Metafont, The Art of Computer Programming, Concrete Mathematics
 * Andrew R. Koenig – co-authored books on C and C++ and former Project Editor of ISO/ANSI standards committee for C++
 * Gennady Korotkevich - Competitive programmer, first to break the 3900 barrier on Codeforces
 * Cornelis H. A. Koster – Report on the Algorithmic Language ALGOL 68, ALGOL 68 transput

L

 * Andre LaMothe – created XGameStation, one of world's first video game console development kits
 * Leslie Lamport – LaTeX
 * Butler Lampson – QED original co-author
 * Peter Landin – ISWIM, J operator, SECD machine, off-side rule, syntactic sugar, ALGOL, IFIP WG 2.1 member
 * Tom Lane – main author of libjpeg, major developer of PostgreSQL
 * Sam Lantinga – created Simple DirectMedia Layer (SDL)
 * Dick Lathwell – codeveloped APL\360
 * Chris Lattner – main author of LLVM project
 * Samuel J. Leffler – BSD, FlexFAX, LibTIFF, FreeBSD Wireless Device Drivers
 * Rasmus Lerdorf – original created PHP
 * Michael Lesk – Lex
 * Gordon Letwin – architected OS/2, authored High Performance File System (HPFS)
 * Jochen Liedtke – microkernel operating systems Eumel, L3, L4
 * Charles H. Lindsey – IFIP WG 2.1 member, Revised Report on ALGOL 68
 * Håkon Wium Lie – co-authored Cascading Style Sheets
 * Yanhong Annie Liu – programming languages, algorithms, program design, program optimization, software systems, optimizing, analysis, and transformations, intelligent systems, distributed computing, computer security, IFIP WG 2.1 member
 * Robert Love – Linux kernel developer
 * Ada Lovelace – first programmer (of Charles Babbages' Analytical Engine)
 * Al Lowe – created Leisure Suit Larry series
 * David Luckham – Lisp, Automated theorem proving, Stanford Pascal Verifier, Complex event processing, Rational Software cofounder (Ada compiler)
 * Hans Peter Luhn – hash-coding, linked list, searching and sorting binary tree

M

 * Khaled Mardam-Bey – created mIRC (Internet Relay Chat Client)
 * Simon Marlow – Haskell developer, book author; co-developer: Glasgow Haskell Compiler, Haxl remote data access library
 * Robert C. Martin – authored Clean Code, The Clean Coder, leader of Clean Code movement, signatory on the Agile Manifesto
 * John Mashey – authored PWB shell, also called Mashey shell
 * Yukihiro Matsumoto – Ruby
 * Conor McBride – researches type theory, functional programming; cocreated Epigram (programming language) with James McKinna; member IFIP Working Group 2.1 on Algorithmic Languages and Calculi
 * John McCarthy – Lisp, ALGOL, IFIP WG 2.1 member, artificial intelligence
 * Craig McClanahan – original author Jakarta Struts, architect of Tomcat Catalina servlet container
 * Daniel D. McCracken – professor at City College and authored Guide to Algol Programming, Guide to Cobol Programming, Guide to Fortran Programming (1957)
 * Scott A. McGregor – architect and development team lead of Microsoft Windows 1.0, co-authored X Window System version 11, and developed Cedar Viewers Windows System at Xerox PARC
 * Douglas McIlroy – macros, pipes and filters, concept of software componentry, Unix tools (spell, diff, sort, join, graph, speak, tr, etc.)
 * Marshall Kirk McKusick – Berkeley Software Distribution (BSD), work on FFS, implemented soft updates
 * Sid Meier – author, Civilization and Railroad Tycoon, cofounded MicroProse
 * Bertrand Meyer – Eiffel, Object-oriented Software Construction, design by contract
 * Bob Miner – co-created Oracle Database, cofounded Oracle Corporation
 * Jeff Minter – psychedelic, and often llama-related video games
 * James G. Mitchell – WATFOR compiler, Mesa (programming language), Spring (operating system), ARM architecture
 * Arvind Mithal – formal verification of large digital systems, developing dynamic dataflow architectures, parallel computing programming languages (Id, pH), compiling on parallel machines
 * Petr Mitrichev – competitive programmer
 * Cleve Moler – co-authored LINPACK, EISPACK, and MATLAB
 * Lou Montulli – created Lynx browser, cookies, the blink tag, server push and client pull, HTTP proxying, HTTP over SSL, browser integration with animated GIFs, founding member of HTML working group at W3C
 * Bram Moolenaar – authored text-editor Vim
 * David A. Moon – Maclisp, ZetaLisp
 * Charles H. Moore – created Forth language
 * Roger Moore – co-developed APL\360, created IPSANET, cofounded I. P. Sharp Associates
 * Matt Mullenweg – authored WordPress
 * Boyd Munro – Australian developed GRASP, owns SDI, one of earliest software development companies
 * Mike Muuss – authored ping, network tool to detect hosts

N

 * Patrick Naughton – early Java designer, HotJava
 * Peter Naur (1928–2016) – Backus–Naur form (BNF), ALGOL 60, IFIP WG 2.1 member
 * Fredrik Neij – cocreated The Pirate Bay
 * Graham Nelson – created Inform authoring system for interactive fiction
 * Greg Nelson (1953–2015) – satisfiability modulo theories, extended static checking, program verification, Modula-3 committee, Simplify theorem prover in ESC/Java
 * Klára Dán von Neumann (1911–1963) – principal programmer for the MANIAC I
 * Maurice Nivat (1937–2017) – theoretical computer science, Theoretical Computer Science journal, ALGOL, IFIP WG 2.1 member
 * Phiwa Nkambule – cofounded Riovic, founded Cybatar
 * Peter Norton – programmed Norton Utilities
 * Kristen Nygaard (1926–2002) – Simula, object-oriented programming

O

 * Ed Oates – cocreated Oracle Database, cofounded Oracle Corporation
 * Martin Odersky – Scala
 * Peter O'Hearn – separation logic, bunched logic, Infer Static Analyzer
 * Jarkko Oikarinen – created Internet Relay Chat (IRC)
 * Andrew and Philip Oliver, the Oliver Twins – many ZX Spectrum games including Dizzy
 * John Ousterhout – created Tcl/Tk

P

 * Keith Packard – X Window System
 * Larry Page – cofounded Google, Inc.
 * Alexey Pajitnov – created game Tetris on Electronika 60
 * Seymour Papert – Logo (programming language)
 * David Park (1935–1990) – first Lisp implementation, expert in fairness, program schemas, bisimulation in concurrent computing
 * Mike Paterson – algorithms, analysis of algorithms (complexity)
 * Tim Paterson – authored 86-DOS (QDOS)
 * Markus Persson – created Minecraft
 * Jeffrey Peterson – key free and open-source software architect, created Quepasa
 * Charles Petzold – authored many Microsoft Windows programming books
 * Simon Peyton Jones – functional programming, Glasgow Haskell Compiler, C--
 * Rob Pike – wrote first bitmapped window system for Unix, cocreated UTF-8 character encoding, authored text editor sam and programming environment acme, main author of Plan 9 and Inferno operating systems, co-authored Go (programming language)
 * Kent Pitman – technical contributor to the ANSI Common Lisp standard
 * Robin Popplestone – COWSEL (renamed POP-1), POP-2, POP-11 languages, Poplog IDE; Freddy II robot
 * Tom Preston-Werner – cofounded GitHub

R

 * Theo de Raadt – founding member of NetBSD, founded OpenBSD and OpenSSH
 * Brian Randell – ALGOL 60, software fault tolerance, dependability, pre-1950 history of computing hardware
 * T. V. Raman – specializes in accessibility research (Emacspeak, ChromeVox (screen reade r for Google Chrome)
 * Jef Raskin – started the Macintosh project in Apple Computer, designed Canon Cat computer, developed Archy (The Humane Environment) program
 * Eric S. Raymond – Open Source movement, authored fetchmail
 * Hans Reiser – created ReiserFS file system
 * John Resig – creator and lead developed jQuery JavaScript library
 * Craig Reynolds – created boids computer graphics simulation
 * John C. Reynolds – continuations, definitional interpreters, defunctionalization, Forsythe, Gedanken language, intersection types, polymorphic lambda calculus, relational parametricity, separation logic, ALGOL
 * Reinder van de Riet – Editor: Europe of Data and Knowledge Engineering, COLOR-X event modeling language
 * Dennis Ritchie – C, Unix, Plan 9 from Bell Labs, Inferno
 * Ron Rivest – cocreated RSA algorithm (being the R in that name). created RC4 and MD5
 * John Romero – first-person shooters Doom, Quake
 * Blake Ross – co-authored Mozilla Firefox
 * Douglas T. Ross – Automatically Programmed Tools (APT), Computer-aided design, structured analysis and design technique, ALGOL X
 * Guido van Rossum – Python
 * Philip Rubin – articulatory synthesis (ASY), sinewave synthesis (SWS), and HADES signal processing system.
 * Jeff Rulifson – lead programmer on the NLS project
 * Rusty Russell – created iptables for linux
 * Steve Russell – first Lisp interpreter; original Spacewar! graphic video game
 * Mark Russinovich – Sysinternals.com, Filemon, Regmon, Process Explorer, TCPView and RootkitRevealer

S

 * Bob Sabiston – Rotoshop, interpolating rotoscope animation software
 * Muni Sakya – Nepalese software
 * Carl Sassenrath – Amiga, REBOL
 * Chris Sawyer – developed RollerCoaster Tycoon and the Transport Tycoon series
 * Cher Scarlett – Apple, Webflow, Blizzard Entertainment, World Wide Technology, and USA Today
 * Bob Scheifler – X Window System, Jini
 * Isai Scheinberg – IBM engineer, founded PokerStars
 * Bill Schelter – GNU Maxima, GNU Common Lisp
 * John Scholes – Direct functions
 * Randal L. Schwartz – Just another Perl hacker
 * Adi Shamir – cocreated RSA algorithm (being the S in that name)
 * Mike Shaver – founding member of Mozilla Organization
 * Cliff Shaw – Information Processing Language (IPL), the first AI language
 * Zed Shaw – wrote the Mongrel Web Server, for Ruby web applications
 * Emily Short – prolific writer of Interactive fiction and co-developed Inform version 7
 * Jacek Sieka – developed DC++ an open-source, peer-to-peer file-sharing client
 * Daniel Siewiorek – electronic design automation, reliability computing, context aware mobile computing, wearable computing, computer-aided design, rapid prototyping, fault tolerance
 * Ken Silverman – created Duke Nukem 3D's graphics engine
 * Charles Simonyi – Hungarian notation, Bravo (the first WYSIWYG text editor), Microsoft Word
 * Colin Simpson – developed CircuitLogix simulation software
 * Rich Skrenta – cofounded DMOZ
 * David Canfield Smith – invented interface icons, programming by demonstration, developed graphical user interface, Xerox Star; Xerox PARC researcher, cofounded Dest Systems, Cognition
 * Matthew Smith – ZX Spectrum games, including Manic Miner and Jet Set Willy
 * Henry Spencer – C News, Regex
 * Joel Spolsky – cofounded Fog Creek Software and Stack Overflow
 * Quentin Stafford-Fraser – authored original VNC viewer, first Windows VNC server, client program for the first webcam
 * Richard Stallman – Emacs, GNU Compiler Collection (GCC), GDB, founder and pioneer of GNU Project, terminal-independent I/O pioneer on Incompatible Timesharing System (ITS), Lisp machine manual
 * Guy L. Steele Jr. – Common Lisp, Scheme, Java
 * Alexander Stepanov – created Standard Template Library
 * Christopher Strachey – draughts playing program
 * Ludvig Strigeus – created μTorrent, OpenTTD, ScummVM and the technology behind Spotify
 * Bjarne Stroustrup – created C++
 * Zeev Suraski – cocreated PHP language
 * Gerald Jay Sussman – Scheme
 * Herb Sutter – chair of ISO C++ standards committee and C++ expert
 * Gottfrid Svartholm – cocreated The Pirate Bay
 * Aaron Swartz – software developer, writer, Internet activist
 * Tim Sweeney – The Unreal engine, UnrealScript, ZZT

T

 * Amir Taaki – leading developer for Bitcoin project
 * Andrew Tanenbaum – Minix
 * Audrey "Autrijus" Tang – designed Pugs
 * Simon Tatham – Netwide Assembler (NASM), PuTTY
 * Larry Tesler – the Smalltalk code browser, debugger and object inspector, and (with Tim Mott) the Gypsy word processor
 * Jon Stephenson von Tetzchner – cocreated Opera web browser
 * Avie Tevanian – authored Mach kernel
 * Ken Thompson – mainly designed and authored Unix, Plan 9 and Inferno operating systems, B and Bon languages (precursors of C), created UTF-8 character encoding, introduced regular expressions in QED and co-authored Go language
 * Simon Thompson – functional programming research, textbooks; Cardano domain-specific languages: Marlowe
 * Michael Tiemann – G++, GNU Compiler Collection (GCC)
 * Linus Torvalds – original author and current maintainer of Linux kernel and created Git, a source code management system
 * Andrew Tridgell – Samba, Rsync
 * Roy Trubshaw – MUD – together with Richard Bartle, created MUDs
 * Bob Truel – cofounded DMOZ
 * Alan Turing – mathematician, computer scientist and cryptanalyst
 * David Turner – SASL, Kent Recursive Calculator, Miranda, IFIP WG 2.1 member

V

 * Wietse Venema – Postfix, Security Administrator Tool for Analyzing Networks (SATAN), TCP Wrapper
 * Bernard Vauquois – pioneered computer science in France, machine translation (MT) theory and practice including Vauquois triangle, ALGOL 60
 * Pat Villani – original author FreeDOS/DOS-C kernel, maintainer of defunct Linux for Windows 9x distribution
 * Paul Vixie – BIND, Cron
 * Patrick Volkerding – original author and current maintainer of Slackware Linux Distribution

W

 * Eiiti Wada – ALGOL N, IFIP WG 2.1 member, Japanese Industrial Standards (JIS) X 0208, 0212, Happy Hacking Keyboard
 * John Walker – cofounded Autodesk
 * Larry Wall – Warp (1980s space-war game), rn, patch, Perl
 * Bob Wallace – author PC-Write word processor; considered shareware cocreator
 * Chris Wanstrath – cofounded GitHub, created the Atom (text editor) and the Mustache template system
 * John Warnock – created PostScript
 * Robert Watson – FreeBSD network stack parallelism, TrustedBSD project and OpenBSM
 * Joseph Henry Wegstein – ALGOL 58, ALGOL 60, IFIP WG 2.1 member, data processing technical standards, fingerprint analysis
 * Pei-Yuan Wei – authored ViolaWWW, one of earliest graphical browsers
 * Peter J. Weinberger – cocreated AWK (being the W in that name)
 * Jim Weirich – created Rake, Builder, and RubyGems for Ruby; popular teacher and conference speaker
 * Joseph Weizenbaum – created ELIZA
 * David Wheeler – cocreated subroutine; designed WAKE; co-designed Tiny Encryption Algorithm, XTEA, Burrows–Wheeler transform
 * Molly White – HubSpot; creator of Web3 Is Going Just Great
 * Arthur Whitney – A+, K
 * why the lucky stiff – created libraries and writing for Ruby, including quirky, popular Why's (poignant) Guide to Ruby to teach programming
 * Adriaan van Wijngaarden – Dutch pioneer; ARRA, ALGOL, IFIP WG 2.1 member
 * Bruce Wilcox – created Computer Go, programmed NEMESIS Go Master
 * Evan Williams – created and cofounded language Logo
 * Roberta and Ken Williams – Sierra Entertainment, King's Quest, graphic adventure game
 * Sophie Wilson – designed instruction set for Acorn RISC Machine, authored BBC BASIC
 * Dave Winer – developed XML-RPC, Frontier scripting language
 * Niklaus Wirth – ALGOL W, IFIP WG 2.1 member, Pascal, Modula-2, Oberon
 * Stephen Wolfram – created Mathematica
 * Don Woods – INTERCAL, Colossal Cave Adventure
 * Philip Woodward – ambiguity function, sinc function, comb operator, rep operator, ALGOL 68-R
 * Steve Wozniak – Breakout, Apple Integer BASIC, cofounded Apple Inc.
 * Will Wright – created the Sim City series, cofounded Maxis
 * William Wulf – BLISS system programming language + optimizing compiler, Hydra operating system, Tartan Laboratories

Y

 * Jerry Yang – co-created Yahoo!
 * Victor Yngve – authored first string processing language, COMIT
 * Nobuo Yoneda – Yoneda lemma, Yoneda product, ALGOL, IFIP WG 2.1 member

Z

 * Matei Zaharia – created Apache Spark
 * Jamie Zawinski – Lucid Emacs, Netscape Navigator, Mozilla, XScreenSaver
 * Phil Zimmermann – created encryption software PGP, the ZRTP protocol, and Zfone
 * Mark Zuckerberg – created Facebook

title: List of programmers


text:
Talk:List of programmers

Article Name
suggestions for title: - User:Rj 22 Mar 2004
 * List of notable software programmers
 * List of notable software developers
 * List of notable computer programmers
 * Words like 'notable' are not to be used in list names. see lists

Blind Programmers
I saw the text below on mastodon. It may be worth adding to the list, but I don't have the expertise.

I accidentally stumbled on a Wikipedia article recently: List of Programmers [en.wikipedia.org]. There is one and only one blind programmer on that list. Wanna guess who it is? Ted Henter of Henter-Joyce (now Freedom Scientific). I can name you many blind programmers who have done noteworthy things and belong on that list.

Larry Skutchan of American Printing House for the Blind. Known for TextTalker (Apple II screenreader), ASAP (DOS screenreader), and much much more. Tim Cranmer. Best known for the Cranmer modified Perkins braille writer, an early electronic braille embosser. T.V. Raman. Known for: emacspeak (a self-voicing extension for emacs), Chromevox, Talkback on Android).   The numerous brltty hackers: Nikhil Nair, Nicolas Pitre, Dave Mielke, Stephane Doyon, Mario Lang, et al. Brltty is used for braille support on Linux and other Unixes. It is also used by NVDA on Windows. I think it might be used under the hood for braille support on Android. If it isn’t, then liblouis definitely is, and liblouis was initially the creation of deaf-blind hacker John J. Boyer.    Karl Dahlke. Known for: edbrowse, various speech adapters. This man has been rolling his own accessibility solutions since the Apple II days in the early 80s. He wrote a text to speech system for his ATT 3B workstation and posted it to the net.sources Usenet group. Truly an amazing man, a personal hero, mentor, and friend.    Kirk Reiser. Best known for: Speakup, a Linux console screenreader. A community grew up around this. Speakup-enabled boot and rescue disks gave a lot of blind people an on-ramp to Linux. Michael Curran and James Teh, the people behind NVDA, the first and only free screenreader for Windows.

That’s still an incomplete list. I’d also say that Matt Campbell @matt probably belongs on it, and if he doesn’t, he’ll probably end up there on account of his AccessKit work.

There’s my hat-tip to blind hackers, inventors, and tinkers.

https://s.the-brannons.com/objects/922ce834-294c-436b-b646-93a88b0e870b — Preceding unsigned comment added by Ecwiebe (talk • contribs) 21:22, 8 September 2023 (UTC)
 * I was mentioned in that thread too; I just added T. V. Raman as he's the only one listed with a Wikipedia article. As a blind screen reader user myself I need to point out here that we're a tiny portion of the world's population and thus reliable sources about us per Wikipedia standards are pretty slim, to say the least. Graham 87 16:30, 9 September 2023 (UTC)

license: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/

title: Talk:List of programmers


text:
Film stock

Film stock is an analog medium that is used for recording motion pictures or animation. It is recorded on by a movie camera, developed, edited, and projected onto a screen using a movie projector. It is a strip or sheet of transparent plastic film base coated on one side with a gelatin emulsion containing microscopically small light-sensitive silver halide crystals. The sizes and other characteristics of the crystals determine the sensitivity, contrast and resolution of the film. The emulsion will gradually darken if left exposed to light, but the process is too slow and incomplete to be of any practical use. Instead, a very short exposure to the image formed by a camera lens is used to produce only a very slight chemical change, proportional to the amount of light absorbed by each crystal. This creates an invisible latent image in the emulsion, which can be chemically developed into a visible photograph. In addition to visible light, all films are sensitive to X-rays and high-energy particles. Most are at least slightly sensitive to invisible ultraviolet (UV) light. Some special-purpose films are sensitive into the infrared (IR) region of the spectrum.

In black-and-white photographic film there is usually one layer of silver salts. When the exposed grains are developed, the silver salts are converted to metallic silver, which blocks light and appears as the black part of the film negative. Color film has at least three sensitive layers. Dyes, which adsorb to the surface of the silver salts, make the crystals sensitive to different colors. Typically the blue-sensitive layer is on top, followed by the green and red layers. During development, the exposed silver salts are converted to metallic silver, just as with black-and-white film. But in a color film, the by-products of the development reaction simultaneously combine with chemicals known as color couplers that are included either in the film itself or in the developer solution to form colored dyes. Because the by-products are created in direct proportion to the amount of exposure and development, the dye clouds formed are also in proportion to the exposure and development. Following development, the silver is converted back to silver salts in the bleach step. It is removed from the film in the fix step and is sometimes recovered for subsequent use or sale. Fixing leaves behind only the formed color dyes, which combine to make up the colored visible image. Later color films, like Kodacolor II, have as many as 12 emulsion layers, with upwards of 20 different chemicals in each layer. Photographic film and film stock tend to be similar in composition and speed, but often not in other parameters such as frame size and length.

1888–1899: Before standardization
Early motion picture experiments in the 1880s were performed using a fragile paper roll film, with which it was difficult to view a single, continuously moving image without a complex apparatus. The first transparent and flexible film base material was celluloid, which was discovered and refined for photographic use by John Carbutt, Hannibal Goodwin, and George Eastman. Eastman Kodak made celluloid film commercially available in 1889; Thomas Henry Blair, in 1891, was his first competitor. The stock had a frosted base to facilitate easier viewing by transmitted light. Emulsions were orthochromatic. By November 1891 William Dickson, at Edison's laboratory, was using Blair's stock for Kinetoscope experiments. Blair's company supplied film to Edison for five years. Between 1892 and 1893, Eastman experienced problems with production. Because of patent lawsuits in 1893, Blair left his American company and established another in Britain. Eastman became Edison's supplier of film.

Blair's new company supplied European filmmaking pioneers, including Birt Acres, Robert Paul, George Albert Smith, Charles Urban, and the Lumière Brothers. By 1896, the new movie projector required a fully transparent film base that Blair's American operation could not supply. Eastman shortly thereafter bought the company out and became the leading supplier of film stock. Louis Lumière worked with Victor Planchon to adapt the Lumière "Blue Label" (Etiquette Bleue) photographic plate emulsion for use on celluloid roll film, which began in early 1896.

Eastman's first motion picture film stock was offered in 1889. At first the film was the same as photographic film. By 1916, separate "Cine Type" films were offered. From 1895, Eastman supplied their motion picture roll film in rolls of 65 feet, while Blair's rolls were 75 feet. If longer lengths were needed, the unexposed negative rolls could be cemented in a darkroom, but this was largely undesirable by most narrative filmmakers. The makers of Actuality films were much more eager to undertake this method, however, in order to depict longer actions. They created cemented rolls as long as 1,000 feet. American Mutoscope and Biograph was the first known company to use such film for the Jeffries-Sharkey fight on 3 November 1899.

1900–1919: Toward the standard picture film
As the quantity of film and filmmakers grew, the demand for standardization increased. Between 1900 and 1910, film formats gradually became standardized and film stocks improved. A number of film gauges were made. Eastman increased the length of rolls to 200 feet without major adjustments to the emulsion, retaining a large market share. Lumière reformulated its stock to match the speed of Eastman film, naming it 'Etiquette Violette' (Violet Label). Blair sold his English company to Pathé in 1907 and retired to the US. Pathé began to supplement its operation in 1910 by purchasing film prints, stripping the emulsion from the film base and re-coating it. 35mm film began to become the dominant gauge because of the commonality of Edison's and Lumière's cameras. Consumers usually purchased unperforated film and had to punch it by perforators that were often imprecise, causing difficulty in making prints for the opposite perforation format. In 1908, the perforators began to be made by Bell and Howell. Eastman Kodak used the Bell and Howell machine to perforate its films. In 1909, Edison's organization of the Motion Picture Patents Trust agreed to what would become the standard: 35 mm gauge, with Edison perforations and a 1.33 aspect ratio. Agfa began to produce motion picture film in 1913, but remained a largely local supplier until World War I boycotts of popular French, American and Italian film stocks allowed the UFA film studio to flourish, boosting Agfa's orders. All film stocks were manufactured on a nitrate film base, which is highly flammable. Nitrate film fires were virtually impossible to extinguish. A significant number of fatal accidents occurred in theatrical projection booths, where the heat of the projector lamp made ignition a possibility. Amateur filmmaking (home movies) slowly developed during this period. Kodak developed a heat-resistant 'safety base' for home projection.

In 1909, tests showed cellulose diacetate to be a viable replacement base, and Kodak began selling acetate-base films the following year in 22 mm widths for Edison's work on the Home Kinetoscope, which was commercially released in 1912. Eastman Kodak introduced a non-flammable 35 mm film stock in 1909. The plasticizers used to make the film flexible evaporated quickly, making the film dry and brittle, causing splices to part and perforations to tear. In 1911 the major American film studios returned to using nitrate stock. More amateur formats began to use acetate-based film, and several, including Kodak's own 16 mm format, were designed specifically to be manufactured with safety base. Kodak released Cine Negative Film Type E in 1916 and Type F (later known as Negative Film Par Speed Type 1201) in 1917. As both of these orthochromatic films were no faster than previous offerings, the improvements were in granularity and sharpness.

1920s: Diversification of film sensitivity
Film stock manufacturers began to diversify their products. Each manufacturer had previously offered one negative stock (usually orthochromatic) and one print stock. In 1920, a variant of Type F film known as X-back was introduced to counteract the effects of static electricity on the film, which can cause sparking and create odd exposure patterns on the film. A resin backing was used on the film, which rendered the film too opaque to allow focusing through the back of the film, a common technique for many cameras of that era. The X-back stock was popular on the east coast of the US. Other manufacturers were established in the 1920s, including American E.I. Dupont de Nemours in 1926 and Belgian Gevaert in 1925. Panchromatic film stock became more common. Created in 1913 for use in early color film processes such as Kinemacolor, panchromatic was first used in a black-and-white film for exterior sequences in Queen of the Sea (1918) and originally available as a special order product. The stock's increased sensitivity to red light made it an attractive option for day for night shooting. Kodak financed a feature in 1922, shot entirely with panchromatic stock, The Headless Horseman, to promote the film when Kodak introduced it as a standard option. Panchromatic film stock increased costs and no motion pictures were produced on it in their entirety for several years. The cross-cutting between panchromatic and orthochromatic stocks caused continuity problems with costume tones and panchromatic film was often avoided.

Orthochromatic film remained dominant until the mid-1920s due to Kodak's lack of competition in the panchromatic market. In 1925, Gevaert introduced an orthochromatic stock with limited color sensitivity and a fully panchromatic stock, Pan-23. In 1926, Kodak lowered the price of panchromatic stock to parity with its orthochromatic offering and the panchromatic stock began to overtake the orthochromatic stock's market share within a few years. As similar panchromatic film stocks were also manufactured by Agfa and Pathé, making the shift to panchromatic stocks largely complete by 1928, Kodak discontinued orthochromatic stock in 1930.

Color films
Experiments with color films were made as early as the late 19th century, but practical color film was not commercially viable until 1908, and for amateur use when Kodak introduced Kodachrome for 16 mm in 1935 and 8 mm in 1936. Commercially successful color processes used special cameras loaded with black-and-white separation stocks rather than color negative. Kinemacolor (1908–1914), Technicolor processes 1 through 4 (1917–1954), and Cinecolor used one, two or three strips of monochrome film stock sensitized to certain primary colors or exposed behind color filters in special cameras. Technicolor introduced a color reversal stock, called Monopack, for location shooting in 1941; it was ultimately a 35 mm version of Kodachrome that could be used in standard motion picture cameras.

Eastman Kodak introduced their first 35mm color negative stock, Eastman Color Negative film 5247, in 1950. A higher quality version in 1952, Eastman Color Negative film 5248, was quickly adopted by Hollywood for color motion picture production, replacing both the expensive three-strip Technicolor process and Monopack.

Classification and properties

There are several variables in classifying stocks; in practice, one orders raw stock by a code number, based on desired sensitivity to light.

Base
A piece of film consists of a light-sensitive emulsion applied to a tough, transparent base, sometimes attached to anti-halation backing or "rem-jet" layer (now only on camera films). Originally the highly flammable cellulose nitrate was used. In the 1930s, film manufacturers introduced "safety film" with a cellulose triacetate plastic base. All amateur film stocks were safety film, but the use of nitrate persisted for professional releases. Kodak discontinued the manufacture of nitrate base in 1951, and the industry transitioned entirely to safety film in 1951 in the United States and by 1955 internationally. Since the late 1990s, almost all release prints have used polyester film stock.

Emulsion
The emulsion consists of silver halide grains suspended in a gelatin colloid; in the case of color film, there are three layers of silver halide, which are mixed with color couplers and interlayers that filter specific light spectra. These end up creating yellow, cyan, and magenta layers in the negative after development.

Chemistry
Development chemicals applied to an appropriate film can produce either a positive (showing the same densities and colors as the subject) or negative image (with dark highlights, light shadows, and, in principle, complementary colors). The first films were darkened by light: negative films. Later films that produce a positive image became known as reversal films; processed transparent film of this type can be projected onto a screen. Negative images need to be transferred onto photographic paper or other substrate which reverses the image again, producing a final positive image. Creating a positive image from a negative film can also be done by scanning the negative to create a computer file which can then be reversed by software.

Image record
Different emulsions and development processes exist for a variety of image recording possibilities: the two most common of which are black and white, and color. However, there are also variant types, such as infrared film (in black and white or false color); specialist technical films, such as those used for X-rays; and obsolete processes, such as orthochromatic film. Generally, however, the vast majority of stock used today is "normal" (visible spectrum) color, although "normal" black and white also commands a significant minority percentage.

Physical characteristics
Film is also classified according to its gauge and the arrangement of its perforations— gauges range from 8 mm to 70 mm or more, while perforations may vary in shape, pitch, and positioning. The film is also distinguished by how it is wound with regard to perforations and base or emulsion side, as well as whether it is packaged around a core, a daylight spool, or within a cartridge. Depending on the manufacturing processes and camera equipment, lengths can vary anywhere from 25 to 2000 feet. Common lengths include 25 feet for 8 mm, 50 feet for Super 8, 100 and 400 feet for 16 mm, 400 and 1000 feet for 35 mm, and 1000 for 65/70 mm.

Responsivity
A critical property of a stock is its film speed, determined by ASA or its sensitivity to light listed by a measurement on the raw stock which must be chosen with care. Speed determines the range of lighting conditions under which the film can be shot, and is related to granularity and contrast, which influence the look of the image. The stock manufacturer will usually give an exposure index (EI) number equal to the ASA which they recommend exposing for. However, factors such as forced or non-standard development (such as bleach bypass or cross processing), compensation for filters or shutter angle, as well as intended under- and over-exposure may cause the cinematographer to actually "rate" the stock differently from the EI. This new rating is not a change to the stock itself — it is merely a way of calculating exposure without figuring out the compensation after each light reading.

Color temperature
Another important quality of color film stock in particular is its color balance, which is defined by the color temperature at which it accurately records white. Tungsten lighting is defined at 3200 K, which is considered "warmer" in tone and shifted towards orange; daylight is defined at 5600 K, which is considered "colder" and shifted towards blue. This means that unfiltered tungsten stock will look normal shot under tungsten lights, but blue if shot during daylight. Conversely, daylight stock shot in daylight will look normal, but orange if shot under tungsten lights. Color temperature issues such as these can be compensated for by other factors such as lens filters and color gels placed in front of the lights. The color temperature of a film stock is generally indicated next to the film speed number — e.g. 500T stock is color film stock with an ASA of 500 and balanced for tungsten light; 250D would have an ASA of 250 and be balanced for daylight. While black-and-white film has no color temperature itself, the silver halide grains themselves tend to be slightly more responsive to blue light, and therefore will have daylight and tungsten speeds — e.g. Kodak's Double-X stock is rated 250D/200T, since the tungsten light will give slightly less exposure than an equivalent amount of daylight.

Sound
A fundamental limitation of film stock as a recording medium is that it reacts to light, but not sound. This is why the first films were literally silent (and exhibitors often provided live musical accompaniment to compensate). Sound films later became possible after engineers developed techniques like sound-on-disc to synchronize playback of a separate soundtrack and then sound-on-film to print the soundtrack on the film itself.

Deterioration
All plastic is subject to deterioration through physical or chemical means, and thus, motion picture film is at risk for the same reason. Films deteriorate over time, which can damage individual frames or even lead to the entire film being destroyed. Cellulose nitrate, cellulose diacetate and triacetate are known to be unstable media: improperly preserved film can deteriorate in a period of time much faster than many photographs or other visual presentations. Cellulose nitrate, because of its unstable chemistry, eventually breaks down, releasing nitric acid, further catalyzing the decomposition. In the final stage of celluloid decomposition, the film has turned into a rust-like powder. Likewise, tri-acetate stock is also vulnerable to deterioration. Because of the small gauge of the film, owners of home-made films often find that their film can become shrunken and brittle to the point where the film is unwatchable in the space of a few years. In general, decaying acetate film breaks down into acetic acid, and similar to celluloid decomposition, leads to an auto-catylictic breakdown of the base that cannot be reversed. The result of the acetic acid released is a strong odor of vinegar, which is why the decay process in the archival community is known as "vinegar syndrome". Modern polyester-based stocks are far more stable by comparison and are rated to last hundreds of years if stored properly.

Intermediate and print stocks
The distinction between camera stocks and print stocks involves a difference in the recording process. When the work print or edit master has been approved, the Original Camera Negative (OCN) is assembled by a negative cutter using the edited work print or EDL (edit decision list) as a guide. A series of Answer Prints are then made from the OCN. During the Answer Print stage, corrections in the film's density and color are corrected (timed) to the filmmakers' tastes. Interpositive (IP) prints are struck from the OCN, checked to make sure they look the same as the custom timed Answer Print, and then each IP is used to make one or more Dupe Negative (DN) copies. The release prints are then generated from the DN(s). Recently, with the development of digital intermediate (DI), it has become possible to completely edit, composite visual effects, and color grade the image digitally at full resolution and bit-depth. In this workflow, the answer print is generated digitally and then written out to the IP stage using a laser film printer known as a film recorder.

Due to the specialized nature of the exposure and the higher degree of control afforded by the film lab equipment, these intermediate and release stocks are specially designed solely for these applications and are generally not feasible for camera shooting. Because intermediates only function to maintain the image information accurately across duplication, each manufacturer tends to only produce one or two different intermediate stocks. Similarly, release print stocks usually are available only in two varieties: a "normal" print or a deluxe print (on more-costly print film like Kodak Vision Premiere) with slightly greater saturation and contrast.

Decline
Use of film remained the dominant form of cinematography until the early 21st century when digital formats supplanted the use of film in many applications. This has also led to the replacement of film projectors with digital projection.

Despite this, some filmmakers continue to opt for film stock as a medium of choice for aesthetic reasons. Movies produced entirely on photochemical film or with a combination of analog and digital methods are a minority, but maintain a stable presence among both arthouse and mainstream film releases.

However, digital formats are sometimes deliberately altered to achieve a film look, such as adding film grain or other noise for artistic effect.

title: Film stock


text:
Form 1040

Form 1040, officially, the U.S. Individual Income Tax Return, is an IRS tax form used for personal federal income tax returns filed by United States residents. The form calculates the total taxable income of the taxpayer and determines how much is to be paid to or refunded by the government.

Income tax returns for individual calendar-year taxpayers are due by Tax Day, which is usually April 15 of the following year, except when April 15 falls on a Saturday, a Sunday, or a legal holiday. In those circumstances, the returns are due on the next business day after April 15. An automatic extension until October 15 to file Form 1040 can be obtained by filing Form 4868 (but that filing does not extend a taxpayer's required payment date if tax is owed; it must still be paid by Tax Day).

Form 1040 consists of two pages (23 lines in total), not counting attachments. The first page collects information about the taxpayer(s) and dependents. In particular, the taxpayer's filing status is reported on this page. The second page reports income, calculates the allowable deductions and credits, figures the tax due given adjusted income, and applies funds already withheld from wages or estimated payments made towards tax liability. On the right side of the first page is the presidential election campaign fund checkoff, which allows individuals to designate that the federal government give $3 of the tax it receives to the presidential election campaign fund. Altogether, 142 million individual income tax returns were filed for the tax year 2018 (filing season 2019), 92% of which were filed electronically.

Who must file?
Form 1040 (or a variant thereof) is the main tax form filed by individuals who are deemed residents of the United States for tax purposes. The corresponding main form filed by businesses is Form 1120, also called the U.S. Corporation Income Tax Return.

An individual is considered a resident of the United States for tax purposes if he or she is a citizen of the United States or a resident alien of the United States for tax purposes. An individual is a resident alien of the United States if he or she passes either the Substantial Presence Test or the Green Card Test, although there are also some other cases; individuals who have taxable income in the United States but fail the criteria for being resident aliens must file as nonresident aliens for tax purposes. While residents of the United States for tax purposes file Form 1040, nonresident aliens must file Form 1040NR or 1040NR-EZ. There is also a "dual status alien" for aliens whose status changed during the year.

Resident aliens of the United States for tax purposes must generally file if their income crosses a threshold where their taxable income is likely to be positive, but there are many other cases where it may be legally desirable to file. For instance, even if not required, individuals can file a return in order to receive a refund on withheld income or to receive certain credits (e.g. earned income tax credit).

Filing modalities
The form may be filed either by paper or online.

Paper filing
Paper filing is the universally accepted filing method. Form 1040, along with its variants, schedules, and instructions, can be downloaded as PDFs from the Internal Revenue Service website. Finalized versions of the forms for the tax year (which in the US is the same as the calendar year) are released near the end of January of the following year.

Paper forms can be filled and saved electronically using a compatible PDF reader, and then printed. This way, it is easy to keep electronic copies of one's filled forms despite filing by paper. Alternatively, they can be printed out and filled by hand. A combination of the approaches may also be used, with some content filled in electronically and additional content written in by hand. As a general rule, where possible, it makes sense to fill electronically, but in some cases filling by hand may be necessary (for instance, if additional notes of explanation need to be added, or the font used for electronic filling is too large to fit the information in the space provided).

The only parts of the form that cannot be filled electronically are the signature lines.

The paper Form 1040, along with all relevant schedules and additional forms, must be sent in a single packet by mail or courier to an IRS address determined by the US state the taxpayer is filing from and whether or not a payment is enclosed.

The IRS accepts returns that are stapled or paperclipped together. However, any check or payment voucher, as well as accompanying Form 1040-V, must not be stapled or paperclipped with the rest of the return, since payments are processed separately.

Electronic filing
The IRS allows US residents for tax purposes to file electronically in three ways:

 * Those with incomes of $66,000 or less may file electronically using IRS Free File, a free e-filing tool (there are some other conditions necessary to be eligible for free filing; in particular, some kinds of income and deductions cannot be handled by free filing).
 * It is possible to prepare one's tax return using a tax compliance software approved by the IRS and have the software file the return electronically.
 * One can use a tax professional who has been accepted by the IRS for electronic filing.

Many paid tax preparers are required to file individual tax returns electronically, and most tax compliance software file electronically on the taxpayer's behalf. Even the tax preparers who are not so required, must file Form 8948 if they choose paper filing, providing an explanation for why they are not filing electronically.

Comparison
If one is not eligible for IRS Free File, depending on the company used it might cost hundreds of dollars to file electronically, whereas paper filing has no costs beyond those of printing and mailing. Furthermore, the available existing electronic filing options may not offer sufficient flexibility with respect to arranging one's tax return, adding attachments, or putting written notes of explanation that can help preempt IRS questions. In the past, filing electronically may have exposed the taxpayer's data to the risk of accidental loss or identity theft, but now e-filing with reputable companies is considered more secure than paper filing.

Signature requirement
Form 1040 must be signed and dated in order to be considered valid. If filing jointly with a spouse, both must sign and date. If a return is submitted electronically, individuals must use either a Self-Select PIN or Practitioner PIN.

Substitute return
If an individual decides not to file a return, the IRS may (after it has sent several reminders) file a substitute return.

Variants
For filing the regular tax return, in addition to the standard Form 1040, there are currently three variants: the 1040-NR 1040-SR, and 1040-X.

Form 1040-NR is used by taxpayers who are considered "non-resident aliens" for tax purposes.

Form 1040-SR may be used by taxpayers who are 65 or older. The 1040-SR form is functionally the same as 1040, but 1040-SR is easier to fill-out by hand, because the text is larger and the checkboxes are larger. Seniors may continue to use the standard 1040 for tax filing if they prefer. Its creation was mandated by the Bipartisan Budget Act of 2018, and it was first used for filing taxes for the 2019 tax year.

Form 1040-X (officially, the "Amended U.S. Individual Tax Return") is used to make corrections on Form 1040, Form 1040A, and Form 1040EZ tax returns that have been previously filed (note: forms 1040-A and 1040-EZ were discontinued starting with tax year 2018, but a 1040X may still be filed amending one of these tax forms filed for previous years).

Form 1040-V

The 1040-V (officially, the "Payment Voucher for Form 1040") is used as an optional payment voucher to be sent in along with a payment for any balance due on the "Amount you owe" line of the 1040.

The form is entirely optional. The IRS will accept payment without the 1040V form. However including the 1040-V allows the IRS to process payments more efficiently.

Form 1040-V and any accompanying payment should be included in the same packet as the tax return, but should not be stapled or paper-clipped along with the tax return, since it is processed separately.

Schedules and extra forms
Since 1961 Form 1040 has had various separate attachments to the form. These attachments are usually called "schedules" because prior to the 1961, the related sections were schedules on the main form identified by letter. Form 1040 currently has 20 attachments, which may need to be filed depending on the taxpayer. For 2009 and 2010 there was an additional form,, due to the "Making Work Pay" provision of the American Recovery and Reinvestment Act of 2009 ("the stimulus").

Starting in 2018, 1040 was "simplified" by separating out 6 new schedules numbers Schedule 1 through Schedule 6 to make parts of the main form optional. The new schedules had the prior old 1040 line numbers to make transition easier.

In addition to the listed schedules, there are dozens of other forms that may be required when filing a personal income tax return. Typically these will provide additional details for deductions taken or income earned that are listed either on form 1040 or its subsequent schedules.

In 2014 there were two additions to Form 1040 due to the implementation of the Affordable Care Act—the premium tax credit and the individual mandate.

In most situations, other Internal Revenue Service or Social Security Administration forms such as Form W-2 must be attached to the Form 1040, in addition to the Form 1040 schedules. There are over 100 other specialized forms that may need to be completed along with Schedules and the Form 1040. However, Form 1099 need not be attached if no tax was withheld. In general, employer-sent forms are used to substantiate claims of withholding, so only forms that involve withholding need to be attached.

Estimated payments and withholding
For most individuals, withholding is the main way through which taxes are paid. However, income that is not subject to withholding must be estimated using Form 1040-ES. (It may be possible to avoid filing Form 1040-ES by increasing one's withholding and instead filing a Form W-4.)

Estimated payments can be made using the Electronic Federal Tax Payment System.

Payments, refunds, and penalties
There is a three-year limit to when individuals can claim a tax refund. However, payments that are due must be paid immediately.

In addition it is possible to apply one's refunds to next year's taxes and also to change one's mind later.

An automatic extension until October 15 to file Form 1040 can be obtained by filing Form 4868. There is a penalty for not filing a tax return by April 15 that depends on whether the individual got a filing extension and the amount of unpaid taxes. However, since the maximum penalty is 25% of unpaid taxes, if an individual has paid all their taxes, there is no penalty for not filing.

In addition to making sure that one pays one's taxes for the year by Tax Day, it is also important to make sure that one has paid partial taxes throughout the tax year in the form of estimated tax payments or employer tax withholding. If one has not done so, then a tax penalty may be assessed. The minimum amount of estimated taxes that need to be paid to avoid penalties depends on a variety of factors, including one's income in the tax year in question as well as one's income in the previous year (in general, if one pays 90% of the current year's tax liability or 100% of the previous year's tax liability during the tax year, one is not subject to estimated tax penalty even if this year's taxes are higher, but there are some caveats to that rule). Employer withholding is also treated differently from estimated tax payment, in that for the latter, the time of the year when the payment was made matters, whereas for the former, all that matters is how much has been withheld as of the end of the year (though there are other restrictions on how one can adjust one's withholding pattern that need to be enforced by the employer).

When filing Form 1040, the penalty for failing to pay estimated taxes must be included on the form (on line 79) and included in the total on line 78 (if a net payment is due). The taxpayer is not required to compute other interest and penalties (such as penalty for late filing or late payment of taxes). If the taxpayer does choose to compute these, the computed penalty can be listed on the bottom margin of page 2 of the form, but should not be included on the amount due line (line 78).

Relationship with state tax returns
Each state has separate tax codes in addition to federal taxes. Form 1040 is only used for federal taxes, and state taxes should be filed separately based on the individual state's form. Some states do not have any income tax. Although state taxes are filed separately, many state tax returns will reference items from Form 1040. For example, California's 540 Resident Income Tax form makes a reference to Form 1040's line 37 in line 13.

Certain tax filing software, such as TurboTax, will simultaneously file state tax returns using information filled in on the 1040 form.

The federal government allows individuals to deduct their state income tax or their state sales tax from their federal tax through Schedule A of Form 1040, but not both. In addition to deducting either income tax or sales tax, an individual can further deduct any state real estate taxes or private property taxes.

OMB control number controversy
One argument used by tax protesters against the legitimacy of the 1040 Form is the OMB Control Number of the Paperwork Reduction Act argument. Tax protesters contend that Form 1040 does not contain an "OMB Control Number" which is issued by the U.S. Office of Management and Budget under the Paperwork Reduction Act.

The relevant clauses of the Paperwork Reduction Act state that:
 * § 1320.6 Public protection.

 * (a) Notwithstanding any other provision of law, no person shall be subject to any penalty for failing to comply with a collection of information that is subject to the requirements of this part if:

 * (1) The collection of information does not display, in accordance with §1320.3(f) and §1320.5(b)(1), a currently valid OMB control number assigned by the Director in accordance with the Act...

 * (e) The protection provided by paragraph (a) of this section does not preclude the imposition of a penalty on a person for failing to comply with a collection of information that is imposed on the person by statute—e.g., 26 U.S.C. §6011(a) (statutory requirement for person to file a tax return)...

The Courts have responded to the OMB Control Number arguments with the following arguments. 1) Form 1040, U.S. Individual Income Tax Return has contained the OMB Control number since 1981. 2) As ruled in a number of cases, the absence of an OMB Control number does not eliminate the legal obligation to file or pay taxes.

Cases involving the OMB Control Number Argument include: The United States Court of Appeals for the Sixth Circuit argues that the provisions on the Paperwork Reduction Act are not relevant as the act applies only to information requests made after December 31, 1981, and tax returns starting from 1981 contained an OMB Control Number. The United States Court of Appeals for the Seventh Circuit rejected the convicted taxpayer's OMB control number argument by stating "Finally, we have no doubt that the IRS has complied with the Paperwork Reduction Act. Form 1040 bears a control number from OMB, as do the other forms the IRS commonly distributes to taxpayers. That this number has been constant since 1981 does not imply that OMB has shirked its duty." In this Case, IRS agents who had calculated Lawrence's tax liability had made an error and it was discovered that Lawrence owed less taxes than originally determined. Lawrence asked the trial court to order the government to reimburse him for his legal fees, to which the trial court ruled against him. He appealed to the United States Court of Appeals for the Seventh Circuit, contending that the government's conduct against him had been "vexatious, frivolous, or in bad faith." and also raising the OMB Control Number Argument.
 * United States v. Wunder
 * United States v. Patridge
 * United States v. Lawrence

The United States Court of Appeals for the Seventh Circuit rejected the OMB argument stating that "According to Lawrence, the Paperwork Reduction Act of 1995 (PRA) required the Internal Revenue Service to display valid Office of Management and Budget (OMB) numbers on its Form 1040.... Lawrence argues that the PRA by its terms prohibits the government from imposing a criminal penalty upon a citizen for the failure to complete a form where the information request at issue does not comply with the PRA... Yet Lawrence conceded at oral argument that no case from this circuit establishes such a proposition, and in fact Lawrence cites no caselaw from any jurisdiction that so holds. In contrast, the government referenced numerous cases supporting its position that the PRA does not present a defense to a criminal action for failure to file income taxes.'"

Original form structure and tax rates

The first Form 1040 was published for use for the tax years 1913, 1914, and 1915; the number 1040 was simply the next number in the sequential numbering of forms. For 1913, taxes applied only from March 1 to December 31. The original Form 1040, available on the IRS website as well as elsewhere, is three pages and 31 lines long, with the first page focused on computing one's income tax, the second page focused on more detailed documentation of one's income and the third page describing deductions and including a signature area. There is an additional page of instructions. The main rules were:

 * The taxable income was calculated starting from gross income, subtracting business-related expenses to get net income, and then subtracting specific exemptions (usually $3,000 or $4,000). In other words, people with net incomes below $3,000 would have to pay no income tax at all. The inflation calculator used by the Bureau of Labor Statistics estimates the corresponding amount in 2015 dollars as $71,920.
 * The base income tax rate on taxable income was 1%.
 * High earners had to pay additional taxes. The first high-earning tax bracket, $20,000–$50,000, has an additional tax of 1% on the part of net income above $20,000. Thus, somebody with a taxable income of $50,000 (over a million dollars in 2015 dollars according to the BLS) would pay a total of $800 (1% of $50,000 + 1% of $(50,000 − 20,000)) in federal income tax. At the time (when the United States as a whole was much poorer) these higher taxes applied to fewer than 0.5% of the residents of the United States.

Just over 350,000 forms were filed in 1914 and all were audited.

Subsequent changes
For 1916, Form 1040 was converted to an annual form (i.e., updated each year with the new tax year printed on the form). Initially, the IRS mailed tax booklets (Form 1040, instructions, and most common attachments) to all households. As alternative delivery methods (CPA/Attorneys, Internet forms) increased in popularity, the IRS sent fewer packets via mail. In 2009 this practice was discontinued.

With the Current Tax Payment Act of 1943, income tax withholding was introduced. The Individual Income Tax Act of 1944 created standard deductions on the 1040.

The tax return deadline was original set at March 1. This was changed to March 15 in the Revenue Act of 1918, and in the Internal Revenue Code of 1954, the tax return deadline was changed to April 15 from March 15, as part of a large-scale overhaul of the tax code. The reason for March 1 was not explained in the law, but was presumably to give time after the end of the tax (and calendar) year to prepare tax returns. The two-week extension from March 1 to March 15 occurred after the Revenue Act of 1918 was passed in February 1919, given only a few weeks to complete returns under the new law. The month extension from March 15 to April 15 was to give additional time for taxpayers and accountants to prepare taxes, owing to the more complex tax code, and also helped spread work by the IRS over a longer time, as it would receive returns over a longer time.

The 1040A was introduced by the 1930s to simplify the filing process and discontinued after tax year 2017. It was limited to taxpayers with taxable income below $100,000 who take the standard deduction instead of itemizing deductions.

The 1040EZ was used for tax years 1982–2017. Its use was limited to taxpayers with no dependents to claim, with taxable income below $100,000 who take the standard deduction instead of itemizing deductions.

Electronic filing was introduced in a limited form in 1986, with the passage of the Tax Reform Act of 1986, and starting 1992, taxpayers who owed money were allowed to file electronically. The Electronic Federal Tax Payment System, jointly managed by the IRS and Financial Management Service, started in 1996 and allowed people to make estimated payments.

With the passage of the Tax Cuts and Jobs Act of 2017, a new, redesigned Form 1040 was released for tax year 2018. It reduced the number of lines from 79 to 23, removed two of the variants (1040A and 1040EZ) in favor of the redesigned Form 1040, and redesigned the supplemental schedules.

Changes to complexity and tax rates
The complexity and compliance burden of the form and its associated instructions have increased considerably since 1913. The National Taxpayers Union has documented the steady increase in complexity from a 34-line form in 1935 to a 79-line form in 2014, decreasing to 23 lines in 2018. Quartz created an animated GIF showing the gradual changes to the structure and complexity of the form. The NTU table is below with data through 2014:

The number of pages in the federal tax law grew from 400 in 1913 to over 72,000 in 2011. The increase in complexity can be attributed to an increase in the number and range of activities being taxed, an increase in the number of exemptions, credits, and deductions available, an increase in the subtlety of the rules governing taxation and the edge cases explicitly spelled out based on historical experience, and an increase in the base of taxpayers making it necessary to offer longer, more explicit instructions for less sophisticated taxpayers. As an example, whereas the initial versions of Form 1040 came only with a rate schedule included in the tax form itself, the IRS now publishes a complete tax table for taxable income up to $100,000 so that people can directly look up their tax liability from their taxable income without having to do complicated arithmetic calculations based on the rate schedule. The IRS still publishes its rate schedule so that people can quickly compute their approximate tax liability, and lets people with incomes of over $100,000 compute their taxes directly using the Tax Computation Worksheet.

In addition to an increase in the complexity of the form, the tax rates have also increased, though the increase in tax rates has not been steady (with huge upswings and downswings) in contrast with the steady increase in tax complexity.

Cost of filing
For tax return preparation, Americans spent roughly 20 percent of the amount collected in taxes (estimating the compliance costs and efficiency costs is difficult because neither the government nor taxpayers maintain regular accounts of these costs). As of 2013, there were more tax preparers in the US (1.2 million) than there were law enforcement officers (765 thousand) and firefighters (310,400) combined. The National Taxpayers Union estimated the 2018 compliance cost at 11 hours per form 1040 vs. 12 hours in 2017, with a total of $92.5 billion spent in individual income tax compliance vs. $94.27 billion in 2017.

In 2008, 57.8 percent of tax returns were filed with assistance from paid tax preparers, compared to about 20 percent of taxpayers employing a paid preparer in the 1950s.

title: Form 1040