Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

awesome-programmers

A list of history's greatest software engineers and tech pioneers
https://github.com/rekihattori/awesome-programmers

Last synced: 2 days ago
JSON representation

  • Programming Languages

    • Development Frameworks

      • Rasmus Lerdorf - side scripting language [PHP](https://en.wikipedia.org/wiki/PHP) primarily used for web development.
      • Alan J. Perlis - creator [ALGOL](https://en.wikipedia.org/wiki/ALGOL) programming language andhelped standardize education of computer science and programming language design.
      • Chris Lattner - end compiler and the [Swift](https://en.wikipedia.org/wiki/Swift_(programming_language)) programming language.
      • Kristen Nygaard - inventor of [Simula](https://en.wikipedia.org/wiki/Simula) which introduced the formal concept of [object-oriented programming](https://en.wikipedia.org/wiki/Object-oriented_programming) paradigm.
      • Ole-Johan Dahl - inventor of [Simula](https://en.wikipedia.org/wiki/Simula) which introduced the formal concept of [object-oriented programming](https://en.wikipedia.org/wiki/Object-oriented_programming) paradigm.
      • Alain Colmerauer
      • James Gosling
      • Niklaus Wirth
      • Konrad Zuse - level programming language [Plankalkül](https://en.wikipedia.org/wiki/Plankalk%C3%BCl) originally created for his original and world's first programmable computer, the [Z3](https://en.wikipedia.org/wiki/Z3_(computer)).
      • Bjarne Stroustrup
      • Larry Wall
      • Don Syme
      • Anders Hejlsberg
      • Joe Armstrong
      • Alan Cooper - friendly programming language for Microsoft applications.
      • John G. Kemeny - creator of the [Basic](https://en.wikipedia.org/wiki/BASIC) Programming Language.
      • Thomas E. Kurtz - creator of the [Basic](https://en.wikipedia.org/wiki/BASIC) Programming Language.
      • Brad Cox - creator of [Objective-C](https://en.wikipedia.org/wiki/Objective-C) Programming Language
      • Brendan Eich
      • Guido van Rossum
      • Grady Booch - creator of the [Unified Modeling Language (UML)](https://en.wikipedia.org/wiki/Unified_Modeling_Language) popularly used to provide a standard visual notation for system designs.
      • James Rumbaugh - creator of the [Unified Modeling Language (UML)](https://en.wikipedia.org/wiki/Unified_Modeling_Language) popularly used to provide a standard visual notation for system designs.
      • Kevin Hammond - creator of the specifications for [Haskell](https://en.wikipedia.org/wiki/Haskell_(programming_language)) programming language, and the co-creator of [GHC (Glasgow Haskell Compiler)](https://en.wikipedia.org/wiki/Glasgow_Haskell_Compiler).
      • Simon Peyton Jones - creator of the specifications for [Haskell](https://en.wikipedia.org/wiki/Haskell_(programming_language)) programming language, and the co-creator of [GHC (Glasgow Haskell Compiler)](https://en.wikipedia.org/wiki/Glasgow_Haskell_Compiler).
      • Rich Hickey
      • Cynthia Solomon - creator of the [Logo](https://en.wikipedia.org/wiki/Logo_(programming_language)) educational programming language often used to draw line graphics with a [turtle](https://en.wikipedia.org/wiki/Turtle_(robot)) robot.
      • Jean Ichbiah
      • Kenneth E. Iverson - dimensional_arrays) and contributing to the development of the functional programming paradigm.
      • Yukihiro Matsumoto - oriented programming language.
      • Bertrand Meyer
      • Martin Odersky - oriented programming language for the [Java virtual machine](https://en.wikipedia.org/wiki/Java_virtual_machine).
      • Xavier Leroy - creator of the [OCaml](https://en.wikipedia.org/wiki/OCaml) programming language that has functional and object oriented properties to its design.
      • Graydon Hoare - level systems programming language.
      • Jeremy Ashkenas
      • Jeff Bezanson - creator of the [Julia](https://en.wikipedia.org/wiki/Julia_(programming_language)) dynamic programming language designed for high performance scientific computing.
      • Stefan Karpinski - creator of the [Julia](https://en.wikipedia.org/wiki/Julia_(programming_language)) dynamic programming language designed for high performance scientific computing.
      • Viral B. Shah - creator of the [Julia](https://en.wikipedia.org/wiki/Julia_(programming_language)) dynamic programming language designed for high performance scientific computing.
      • Alan Edelman - creator of the [Julia](https://en.wikipedia.org/wiki/Julia_(programming_language)) dynamic programming language designed for high performance scientific computing.
      • Ary Borenszweig - creator of the statically type, object oriented programming language [Crystal](https://en.wikipedia.org/wiki/Crystal_(programming_language)) inspired by Ruby's syntax and C's compilation.
      • Juan Wajnerman - creator of the statically type, object oriented programming language [Crystal](https://en.wikipedia.org/wiki/Crystal_(programming_language)) inspired by Ruby's syntax and C's compilation.
      • Andrey Breslav - creator of the JVM run, statically typed programming language [Kotlin](https://en.wikipedia.org/wiki/Kotlin_(programming_language)).
      • Slava Pestov - oriented](https://en.wikipedia.org/wiki/Stack-oriented_programming_language) programming language [Factor](https://en.wikipedia.org/wiki/Factor_(programming_language)) and a member of the core team for [Swift](https://en.wikipedia.org/wiki/Swift_(programming_language)).
      • Arthur Whitney
      • John Ousterhout
      • Erik Meijer - creator of the specifications for [Haskell](https://en.wikipedia.org/wiki/Haskell_(programming_language)) programming language.
      • Lars Bak
      • Jose Valim
      • Seymour Papert - creator of the [Logo](https://en.wikipedia.org/wiki/Logo_(programming_language)) educational programming language often used to draw line graphics with a [turtle](https://en.wikipedia.org/wiki/Turtle_(robot)) robot.
      • Wally Feurzeig - creator of the [Logo](https://en.wikipedia.org/wiki/Logo_(programming_language)) educational programming language often used to draw line graphics with a [turtle](https://en.wikipedia.org/wiki/Turtle_(robot)) robot.
    • Theory

      • Maurice Wilkes
      • Peter Naur - creator of the influential programming language [Algol 60](https://en.wikipedia.org/wiki/ALGOL_60) introducing nested function with lexical scope, and the co-creator of the [Backus-Naur form](https://en.wikipedia.org/wiki/Backus%E2%80%93Naur_Form) one of the main notation techniques for [context free grammars](https://en.wikipedia.org/wiki/Context-free_grammar) used to describe syntax of programming languages.
      • Jean-Yves Girard
      • John C. Reynolds
      • Barbara Liskov - creator of the important object-oriented subtyping definition [Liskov substitution principle](https://en.wikipedia.org/wiki/Liskov_substitution_principle) and the co-creator of [CLU](https://en.wikipedia.org/wiki/CLU_%28programming_language%29) programming language that introduced key features like abstract data types, iterators and use of classes with constructors.
      • Robin Milner - safe exception handling, and the creator of concurrency theory [CCS (Calculus of communicating systems)](https://en.wikipedia.org/wiki/Calculus_of_communicating_systems).
      • Noam Chomsky
      • Seymour Ginsburg - free.
      • Herbert A. Simon
      • Allen Newell
      • Christopher Strachey - creator of [Denotational semantics or Scott–Strachey semantics](https://en.wikipedia.org/wiki/Denotational_semantics) formalizing the definitions of programming languages by creating mathematical denotations describing expressions from the language.
    • Compilers

      • Grace Hopper - 0 System](https://en.wikipedia.org/wiki/A-0_System), often considered as the first [compiler](https://en.wikipedia.org/wiki/Compiler) but functioned as a [loader](https://en.wikipedia.org/wiki/Loader_(computing)) for [Assembly](https://en.wikipedia.org/wiki/Assembly_language) resulting to the development of higher level programming languages like [COBOL](https://en.wikipedia.org/wiki/COBOL).
      • John Backus - creator of the first high-level compiled programming language [FORTRAN](https://en.wikipedia.org/wiki/Fortran) and its compiler, often credited as being the first [optimizing compiler](https://en.wikipedia.org/wiki/Optimizing_compiler) and fully complete compiler.
      • Frances E. Allen - author of the paper "A Catalog of Optimizing Transformations" which is one of the main analysis strategies used in optimizing compilers.
      • Lois Haibt - creator of the first high-level compiled programming language [FORTRAN](https://en.wikipedia.org/wiki/Fortran) and its compiler.
      • Alon Zakai
      • Nathaniel Rochester - produced computer that he also created, the [IBM 701](https://en.wikipedia.org/wiki/IBM_701).
  • Databases

    • Edgar F. Codd - creator of System R, the first implementation of the [SQL](https://en.wikipedia.org/wiki/SQL) database query language.
    • Charles W. Bachman - list data storage database [Integrated Data Store](https://en.wikipedia.org/wiki/Integrated_Data_Store), known to be one of the first database management systems and he is the organizer of the group [CODASYL](https://en.wikipedia.org/wiki/CODASYL).
    • Donald D. Chamberlin - creator of the most popular database query language, [SQL](https://en.wikipedia.org/wiki/SQL).
    • Raymond F. Boyce - creator of the most popular database query language, [SQL](https://en.wikipedia.org/wiki/SQL).
    • Sanjay Ghemawat - author of the seminal paper of "big data" storage [BigTable](http://static.googleusercontent.com/media/research.google.com/en//archive/bigtable-osdi06.pdf), the co-developer of the [BigTable](https://en.wikipedia.org/wiki/Bigtable) system, the co-author of the important paper for the "big data" operational model [MapReduce](https://en.wikipedia.org/wiki/MapReduce), the co-author of the large cluster data system [Google File System](https://en.wikipedia.org/wiki/Google_File_System) and the co-author of the paper for a highly distributed database [Spanner](http://static.googleusercontent.com/media/research.google.com/en//archive/spanner-osdi2012.pdf).
    • Michael Stonebraker
    • Werner Vogels - creator of the [Dynamo](https://en.wikipedia.org/wiki/Dynamo_(storage_system)) storage system which has played an [influential role](https://vimeo.com/144994937) in the modern design of highly scalable databases.
    • Jim Gray
    • Andreas Reuter
    • Theo Härder
    • Phil Bernstein
    • Salvatore Sanfilippo (antirez) - value database
    • Prashant Malik - creator of the [Cassandra](https://en.wikipedia.org/wiki/Apache_Cassandra) distributed database system
    • Peter Chen
    • T. William Olle
    • C.Wayne Ratliff
    • Malcolm Atkinson - Oriented Database Manifesto.
    • Dwight Merriman - oriented database system [Mongodb](https://en.wikipedia.org/wiki/MongoDB).
    • Shay Banon - text search engine database [Elasticsearch](https://en.wikipedia.org/wiki/Elasticsearch).
    • Yonik Seeley - text search engine database [Solr](https://en.wikipedia.org/wiki/Apache_Solr).
    • Joydeep Sen Sarma - creator of the Hadoop based data warehouse framework [Hive](https://en.wikipedia.org/wiki/Apache_Hive).
    • Brad Fitzpatrick
    • Andy Gross - creator of the highly scalable key-value database [Riak](https://en.wikipedia.org/wiki/Riak).
    • Damien Katz - oriented database [CouchDB](https://en.wikipedia.org/wiki/CouchDB).
    • Luca Garulli - creator of the multi-model NoSQL database [OrientDB](https://en.wikipedia.org/wiki/OrientDB)
    • Andrey Lomakin - creator of the multi-model NoSQL database [OrientDB](https://en.wikipedia.org/wiki/OrientDB)
    • Emil Eifrem - creator of the graph database [Neo4j](https://en.wikipedia.org/wiki/Neo4j)
    • Johan Svensson - creator of the graph database [Neo4j](https://en.wikipedia.org/wiki/Neo4j)
    • Matthias Broecheler
    • Avinash Lakshman - creator of the [Cassandra](https://en.wikipedia.org/wiki/Apache_Cassandra) distributed database system
    • Ashish Thusoo - creator of the Hadoop based data warehouse framework [Hive](https://en.wikipedia.org/wiki/Apache_Hive).
    • Sanjay Ghemawat - author of the seminal paper of "big data" storage [BigTable](http://static.googleusercontent.com/media/research.google.com/en//archive/bigtable-osdi06.pdf), the co-developer of the [BigTable](https://en.wikipedia.org/wiki/Bigtable) system, the co-author of the important paper for the "big data" operational model [MapReduce](https://en.wikipedia.org/wiki/MapReduce), the co-author of the large cluster data system [Google File System](https://en.wikipedia.org/wiki/Google_File_System) and the co-author of the paper for a highly distributed database [Spanner](http://static.googleusercontent.com/media/research.google.com/en//archive/spanner-osdi2012.pdf).
    • Doug Cutting - creator of the BigTable inspired, de-facto "big data" distributed file system and processing framework [Hadoop](https://en.wikipedia.org/wiki/Apache_Hadoop).
    • Mike Cafarella - creator of the BigTable inspired, de-facto "big data" distributed file system and processing framework [Hadoop](https://en.wikipedia.org/wiki/Apache_Hadoop).
    • Jeff Dean - author of the seminal paper of "big data" storage [BigTable](http://static.googleusercontent.com/media/research.google.com/en//archive/bigtable-osdi06.pdf), the co-developer of the [BigTable](https://en.wikipedia.org/wiki/Bigtable) system, the co-author of the important paper for the "big data" operational model [MapReduce](https://en.wikipedia.org/wiki/MapReduce) and the co-author of the paper for a highly distributed database [Spanner](http://static.googleusercontent.com/media/research.google.com/en//archive/spanner-osdi2012.pdf).
  • Miscellaneous

  • Analysis / Verification

    • Compilers

      • Tony Hoare
      • James H. Wilkinson - speed digital computer with numerical analysis and the developer of the "backward" [error analysis](https://en.wikipedia.org/wiki/Error_analysis_(mathematics)) for algorithms.
      • Amir Pnueli
      • Edmund Melson Clarke - creator of the field for [Model-checking](https://en.wikipedia.org/wiki/Model_checking) that introduced a machine executed system of [temporal logic](https://en.wikipedia.org/wiki/Temporal_logic) to verify the computer program's correctness, and the co-creator of a system that represents state spaces during model checking runtime called [symbolic model checking](https://en.wikipedia.org/wiki/Model_checking#Symbolic_model_checking).
      • E. Allen Emerson - creator of the field for [Model-checking](https://en.wikipedia.org/wiki/Model_checking) that introduced a machine executed system of [temporal logic](https://en.wikipedia.org/wiki/Temporal_logic) to verify the computer program's correctness.
      • Joseph Sifakis - creator of the field for [Model-checking](https://en.wikipedia.org/wiki/Model_checking) that introduced a machine executed system of [temporal logic](https://en.wikipedia.org/wiki/Temporal_logic) to verify the computer program's correctness.
  • Algorithms / Datatypes

      • Stephen Cook - time reduction](https://en.wikipedia.org/wiki/Polynomial-time_reduction), [NP-completeness](https://en.wikipedia.org/wiki/NP-completeness) and [propositional proof system](https://en.wikipedia.org/wiki/Propositional_proof_system), all making significant contributions to algorithmic complexity.
      • Robert Tarjan - line lowest common ancestors algorithm](https://en.wikipedia.org/wiki/Tarjan%27s_off-line_lowest_common_ancestors_algorithm), the publisher of [Tarjan's strongly connected components algorithm](https://en.wikipedia.org/wiki/Tarjan%27s_strongly_connected_components_algorithm), the co-author of the [Hopcroft-Tarjan Planarity Algorithm](https://en.wikipedia.org/wiki/Planarity_testing#Path_addition_method), the creator of the [Fibonacci heap](https://en.wikipedia.org/wiki/Fibonacci_heap) data structure and co-created the [splay tree](https://en.wikipedia.org/wiki/Splay_tree) data structure.
      • Juris Hartmanis - author of an influential paper that establishes the foundations for the field of [computational complexity theory](https://en.wikipedia.org/wiki/Computational_complexity_theory) and introduced [time complexity classes](https://en.wikipedia.org/wiki/Time_complexity#Complexity_classes) quantifying the efficiency of an algorithm.
      • Richard E. Stearns - author of an influential paper that establishes the foundations for the field of [computational complexity theory](https://en.wikipedia.org/wiki/Computational_complexity_theory) and introduced [time complexity classes](https://en.wikipedia.org/wiki/Time_complexity#Complexity_classes) quantifying the efficiency of an algorithm.
      • Geoffrey Hinton - layer neural networks influencing the deep learning community.
      • Leslie G. Valiant - P-complete](https://en.wikipedia.org/wiki/Sharp-P-complete) definition in complexity theory.
      • Jon Bentley - d tree](https://en.wikipedia.org/wiki/K-d_tree) space-partitioning data structure widely used for searching with multidimensional keys, and the creator of the [Bentley–Ottmann algorithm](https://en.wikipedia.org/wiki/Bentley%E2%80%93Ottmann_algorithm).
      • Ray Solomonoff
      • John Von Neumann
      • Edsger W. Dijkstra - yard algorithm](https://en.wikipedia.org/wiki/Shunting-yard_algorithm)
      • Donald E. Knuth - bendix completion algorithm.
      • David Wheeler - creator of the efficient string compression algorithm [Burrows–Wheeler transform](https://en.wikipedia.org/wiki/Burrows%E2%80%93Wheeler_transform).
      • Richard M. Karp - creator of the [Edmonds-Karp algorithm](https://en.wikipedia.org/wiki/Edmonds%E2%80%93Karp_algorithm) for efficiently computing a networks [maximum flow](https://en.wikipedia.org/wiki/Maximum_flow_problem), the author of proof for [21 NP-complete problems](https://en.wikipedia.org/wiki/Karp%27s_21_NP-complete_problems), the co-publisher of the [Hopcroft–Karp algorithm](https://en.wikipedia.org/wiki/Hopcroft%E2%80%93Karp_algorithm) for finding maximum cardinality [matchings](https://en.wikipedia.org/wiki/Matching_(graph_theory)), the co-creator of the [Rabin–Karp algorithm](https://en.wikipedia.org/wiki/Rabin%E2%80%93Karp_algorithm) for string searching, and co-publisher of the [Karp–Lipton theorem](https://en.wikipedia.org/wiki/Karp%E2%80%93Lipton_theorem).
      • Chi-Chih Andrew Yao - author of [Dolev–Yao model](https://en.wikipedia.org/wiki/Dolev%E2%80%93Yao_model), the author of important rules for [Pseudorandom number generators](https://en.wikipedia.org/wiki/Pseudorandom_number_generator), the author of the paper "On the security of public key protocols", the author of [Yao's Millionaires' Problem](https://en.wikipedia.org/wiki/Yao%27s_Millionaires%27_Problem) and the author of the XOR-lemma technique.
    • Cryptography

      • Manuel Blum - creator of cryptography applications like the [Blum Blum Shub](https://en.wikipedia.org/wiki/Blum_Blum_Shub) and the [Blum–Goldwasser cryptosystem](https://en.wikipedia.org/wiki/Blum%E2%80%93Goldwasser_cryptosystem). The co-creator of the CAPTCHA originally served as a benchmark turing task.
      • Ron Rivest - creator of one of the first and most widely used practical public-key cryptosystems [RSA](https://en.wikipedia.org/wiki/RSA_(cryptosystem)), the creator of the symmetric key encryption algorithms (RC2, RC4, RC5), and the creator of hash functions MD2, MD4, [MD5](https://en.wikipedia.org/wiki/MD5) and MD6.
      • Leonard Adleman - creator of one of the first and most widely used practical public-key cryptosystems [RSA](https://en.wikipedia.org/wiki/RSA_(cryptosystem)), and the author of the influential paper "Molecular Computation of Solutions To Combinatorial Problems" which introduced the concept of using DNA as a computational system.
      • Whitfield Diffie - author of important cryptography paper "New Directions in Cryptography" introducing the [Diffie–Hellman key exchange](https://en.wikipedia.org/wiki/Diffie%E2%80%93Hellman_key_exchange), one-way encoding functions using a public-key, which later inspired the practical implementation of [RSA](https://en.wikipedia.org/wiki/RSA_(cryptosystem)).
      • Martin Hellman - author of important cryptography paper "New Directions in Cryptography" introducing the [Diffie–Hellman key exchange](https://en.wikipedia.org/wiki/Diffie%E2%80%93Hellman_key_exchange), one-way encoding functions using a public-key, which later inspired the practical implementation of [RSA](https://en.wikipedia.org/wiki/RSA_(cryptosystem)).
      • Shafi Goldwasser - creator of encryption algorithm [Blum–Goldwasser cryptosystem](https://en.wikipedia.org/wiki/Blum%E2%80%93Goldwasser_cryptosystem) which unlike RSA has been mathematically proven to be as hard to break as factoring, the co-creator of encryption algorithm [Goldwasser–Micali cryptosystem](https://en.wikipedia.org/wiki/Goldwasser%E2%80%93Micali_cryptosystem) considered to be the first probabilistic public-key encryption scheme, the co-author of [Zero-knowledge proof](https://en.wikipedia.org/wiki/Zero-knowledge_proof) in the paper "The Knowledge Complexity of Interactive Proof-Systems", and the co-definer of for proper constructions of [Pseudorandom function family](https://en.wikipedia.org/wiki/Pseudorandom_function_family).
      • Silvio Micali - creator of encryption algorithm [Goldwasser–Micali cryptosystem](https://en.wikipedia.org/wiki/Goldwasser%E2%80%93Micali_cryptosystem) considered to be the first probabilistic public-key encryption scheme, the co-author of [Zero-knowledge proof](https://en.wikipedia.org/wiki/Zero-knowledge_proof) in the paper "The Knowledge Complexity of Interactive Proof-Systems", and the co-definer of for proper constructions of [Pseudorandom function family](https://en.wikipedia.org/wiki/Pseudorandom_function_family).
      • Adi Shamir - creator of one of the first and most widely used practical public-key cryptosystems [RSA](https://en.wikipedia.org/wiki/RSA_(cryptosystem)), the co-creator of [Feige–Fiat–Shamir identification scheme](https://en.wikipedia.org/wiki/Feige%E2%80%93Fiat%E2%80%93Shamir_identification_scheme) a type of [zero-knowledge proof](https://en.wikipedia.org/wiki/Zero-knowledge_proof), the creator of [Shamir's Secret Sharing](https://en.wikipedia.org/wiki/Shamir%27s_Secret_Sharing) algorithm, the co-creator of most well-known visual cryptography technique [(2, N) Visual Cryptography Sharing Case](https://en.wikipedia.org/wiki/Visual_cryptography#.282.2C_N.29_Visual_Cryptography_Sharing_Case), and co-discovered [Differential cryptanalysis](https://en.wikipedia.org/wiki/Differential_cryptanalysis).
  • Artificial Intelligence

    • Cryptography

      • Marvin Minsky - founder of the Massachusetts Institute of Technology's AI laboratory
      • Herbert Gelernter - author of the paper "Intelligent Behavior in Problem-Solving Machines" to describe a theorem prover in geometry to exhibit intelligent behavior in machines.
      • Oliver Selfridge - oriented_programming) paradigm.
      • Margaret Masterman - creator of semantic nets for machine translation pioneering the field of computational linguistics.
      • Edward Feigenbaum
      • Leonard Uhr - author of significantly valuable paper "A Pattern Recognition Program That Generates, Evaluates, and Adjusts Its Own Operators" describing one of the first machine learning programs.
      • Raj Reddy - creator of early robotic systems like the Hearsay 1 that demonstrated advanced language speaking, and co-creator of many innovative artificial intelligence systems like the "blackboard model".
      • Richard Greenblatt - playing program which became the first to win against a human opponent in tournament play.
      • Frank Rosenblatt
      • Joel Moses - creator of the [Macsyma](https://en.wikipedia.org/wiki/Macsyma) computer algebra system that demonstrated the use of symbolic reasoning for integration problems and became the first successful knowledge-based mathematical program.
      • Roger Schank - based reasoning)](https://en.wikipedia.org/wiki/Case-based_reasoning).
      • Yorick Wilks
      • Jaime Carbonell
      • Feng-hsiung Hsu
      • Andrew Ng - founder of [Google Brain](https://en.wikipedia.org/wiki/Google_Brain) research project where one of the first applications of the deep learning model was applied and the co-developer of [Robot Operating System](https://en.wikipedia.org/wiki/Robot_Operating_System).
      • Judea Pearl
      • Jacek Karpiński - creator of one of the first machine learning algorithms for character and image recognition.
      • Arthur Samuel - learning program in artificial intelligence [Samuel Checkers](https://en.wikipedia.org/wiki/Arthur_Samuel#Computer_checkers_.28draughts.29_development).
      • Cliff Shaw - creator of two of the earliest Artificial Intelligence programs, the [Logic Theorist](https://en.wikipedia.org/wiki/Logic_Theorist) developed to imitate the problem solving skills of humans and the [ General Problem Solver ](https://en.wikipedia.org/wiki/General_Problem_Solver).
  • Tools

    • Cryptography

      • Marc Andreessen - creator of the first widely used modern web browser [Mosaic](https://en.wikipedia.org/wiki/Mosaic_(web_browser)) popularizing the world wide web.
      • Robert McCool
      • Charles Thacker - creator of the laser printer software and the first Ethernet for the first personal computer [Xerox Alto](https://en.wikipedia.org/wiki/Xerox_Alto).
      • Bill Joy - line interpreter, one of the earliest developers of [BSD](https://en.wikipedia.org/wiki/Berkeley_Software_Distribution) and co-creator of [NFS](https://en.wikipedia.org/wiki/Network_File_System) Version 2.
      • Matei Zaharia
      • Jason van Zyl
      • James Duncan Davidson
      • Stephen R. Bourne - line interpreter [Bourne Shell](https://en.wikipedia.org/wiki/Bourne_shell).
      • Ryan Dahl
      • Solomon Hykes
      • Igor Sysoev
      • Jamie Zawinski - source community, and one of the early developers of the [Netscape Navigator browser](https://en.wikipedia.org/wiki/Netscape_Navigator).
      • Daniel J. Bernstein
      • Robby Russell - my-zsh](https://github.com/robbyrussell/oh-my-zsh).
      • Cheng Zhao
      • Michael DeHaan
      • David Cournapeau - learn](https://en.wikipedia.org/wiki/Scikit-learn).
      • Max Howell
      • Mitchell Hashimoto
      • Yangqing Jia
      • Jon Skeet - creator of the popular data serializing tool [Protocol Buffers](https://en.wikipedia.org/wiki/Protocol_Buffers).
      • Brendan Burns - creator of container cluster management system [Kubernetes](https://en.wikipedia.org/wiki/Kubernetes), inspired by the Google Borg project.
      • Joe Beda - creator of container cluster management system [Kubernetes](https://en.wikipedia.org/wiki/Kubernetes), inspired by the Google Borg project.
      • Jonas Bonér
      • Jay Kreps - throughput message broker [Kafka](https://en.wikipedia.org/wiki/Apache_Kafka).
      • Jun Rao - throughput message broker [Kafka](https://en.wikipedia.org/wiki/Apache_Kafka).
      • Neha Narkhede - throughput message broker [Kafka](https://en.wikipedia.org/wiki/Apache_Kafka).
      • Ben Reed - value store primarily used as Hadoop's configuration and synchronization service [Zookeeper](https://en.wikipedia.org/wiki/Apache_ZooKeeper).
      • Lars Rasmussen - creator of the original system for [Google Maps](https://en.wikipedia.org/wiki/Google_Maps).
      • Jack Dongarra - creator of linear algebra tool [BLAS (Basic Linear Algebra Subprograms)](https://en.wikipedia.org/wiki/Basic_Linear_Algebra_Subprograms), the co-creator of the parallel computing message system [MPI (message passing interface)](https://en.wikipedia.org/wiki/Message_Passing_Interface), the creator of ranking system for powerful computers [TOP500](https://en.wikipedia.org/wiki/TOP500) and co-creator of linear algebra library [ATLAS](https://en.wikipedia.org/wiki/Automatically_Tuned_Linear_Algebra_Software).
      • Travis Oliphant
      • Wes McKinney
      • Bram Moolenaar
      • Michael Burrows - creator of the lock service for distributed systems [Chubby](http://static.googleusercontent.com/media/research.google.com/en//archive/chubby-osdi06.pdf).
    • Operating Systems

    • Development Frameworks

      • Rod Johnson
      • David Heinemeier Hansson
      • Jordan Walke
      • Adrian Holovaty - creator of the [Django](https://en.wikipedia.org/wiki/Django_(web_framework)) web framework.
      • Simon Willison - creator of the [Django](https://en.wikipedia.org/wiki/Django_(web_framework)) web framework.
      • Mark Otto - creator of the front-end web framework [Twitter Bootstrap](https://en.wikipedia.org/wiki/Bootstrap_(front-end_framework)).
      • Jacob Thornton - creator of the front-end web framework [Twitter Bootstrap](https://en.wikipedia.org/wiki/Bootstrap_(front-end_framework)).
      • Mike Bostock
      • John Resig
      • Miško Hevery
      • Ben Christensen
      • Armin Ronacher
      • Geoff Schmidt - creator of popular JavaScript application development environment [meteor](https://github.com/meteor/meteor).
      • Guillermo Rauch - time JavaScript application framework [Socket.io](https://en.wikipedia.org/wiki/Socket.IO).
      • Guillaume Bort
      • Taylor Otwell
      • Yehuda Katz - creator of the JavaScript application development framework [Ember.js](https://en.wikipedia.org/wiki/Ember.js), the creator of JavaScript templating tool [handlebars](http://handlebarsjs.com/), the co-creator of package management system for ruby [bundler](https://github.com/bundler/bundler), and once a member of core development teams for "jQuery" and "Ruby on Rails".
      • Fabien Potencier
  • Computer Architecture / Theory

    • Compilers

      • Michael O. Rabin - creator of the [Nondeterministic finite automaton](https://en.wikipedia.org/wiki/Nondeterministic_finite_automaton) a kind of state machine that has several possible transitions out of each state.
      • Charles Babbage - purpose computer with the design of the [ Analytical Engine ](https://en.wikipedia.org/wiki/Analytical_Engine) and the creator for a prototype for a less powerful [ mechanical calculator ](https://en.wikipedia.org/wiki/Difference_engine).
      • Ada Lovelace
      • J. C. R. Licklider - style interactive computing, and an early researcher at Arpanet for concepts of a connected network like the internet.
      • Stephen Cole Kleene
      • Per Brinch Hansen - createor of the synchronization construct for threads with mutex and blocking ability known as the [monitor](https://en.wikipedia.org/wiki/Monitor_(synchronization)), the first to implement a remote procedure call, and the creator of the "Distributed Processes" language for distributed systems using RPC for external requests.
      • Gerard Salton
      • Sophie Wilson - creator of the [Acorn RISC Machine (ARM) architecture](https://en.wikipedia.org/wiki/ARM_architecture), the most widely used model for modern smartphones, and the creator of the [BBC Basic](https://en.wikipedia.org/wiki/BBC_BASIC) language for the acorn systems.
      • Tommy Flowers
      • George Boole
      • Dana Scott - creator of the [Nondeterministic finite automaton](https://en.wikipedia.org/wiki/Nondeterministic_finite_automaton) a kind of state machine that has several possible transitions out of each state.
      • Margaret Hamilton - to-end testing.
      • Herman Hollerith - card](https://en.wikipedia.org/wiki/Punched_card) [Tabulating machine](https://en.wikipedia.org/wiki/Tabulating_machine) sparking the era of automatic data processing systems.
      • Joseph Marie Jacquard
      • Nikolay Brusentsov - valued_logic) called the [Seturn](https://en.wikipedia.org/wiki/Setun).
      • Vannevar Bush
      • Paul Baran - creator of the packet switched computer network for an early prototype of internet technology at ARPANET.
      • Jean Bartik - developer of early "stored program" computers and considered to be one of the first computer programmers, using the ENIAC, a vacuum tube computer during a time when "programming" meant using cables, dials, and switches to physically rewire the machine.
      • Richard Hamming - detecting and error-correcting codes
      • Eric Brewer
      • John Atanasoff - Berry Computer)](https://en.wikipedia.org/wiki/Atanasoff%E2%80%93Berry_computer) that was the first electronic digital computer.
      • John Cocke
      • Nathan Marz - processing [Lambda architecture](https://en.wikipedia.org/wiki/Lambda_architecture) designed to use stream-processing or batch processing to handle data at a large scale.
      • Alan Turing
      • Claude Shannon - flow graph](https://en.wikipedia.org/wiki/Signal-flow_graph).
      • John McCarthy - sharing](https://en.wikipedia.org/wiki/Time-sharing) for computers with multiprogramming.
      • Kurt Gödel - order predicate calculus.
      • Alonzo Church - taped Turing machines called [Lambda Calculus](https://en.wikipedia.org/wiki/Lambda_calculus), and the co-creator of the [Church–Turing thesis](https://en.wikipedia.org/wiki/Church%E2%80%93Turing_thesis) formalizing the definitions of computable functions.
      • Fernando J. Corbató - author of a paper that describes one of the earliest [time-sharing](https://en.wikipedia.org/wiki/Time-sharing) computer systems [CTSS (compatible time-sharing system)](https://en.wikipedia.org/wiki/Compatible_Time-Sharing_System) and the original creator of the influential time-sharing operating system [Multics](https://en.wikipedia.org/wiki/Multics) which pioneered many concepts widely adopted by almost all operating systems like Unix.
  • Computer Graphics

    • Compilers

      • Alvy Ray Smith
      • Jim Blinn - ubiquitous rendering algorithms, including the [Blinn-Phong shading model](https://en.wikipedia.org/wiki/Blinn%E2%80%93Phong_shading_model), [bump mapping](https://en.wikipedia.org/wiki/Bump_mapping), and [environment mapping](https://en.wikipedia.org/wiki/Reflection_mapping).
      • Douglas Engelbart
      • Larry Tesler - creator of the [Gypsy word processor](https://en.wikipedia.org/wiki/Gypsy_(software)) with point and click ability, and the co-creator of "copy and paste" mechanism.
      • Daniel Henry Holmes Ingalls Jr. - creator of [Bit blit](https://en.wikipedia.org/wiki/Bit_blit) data operations for computer graphics, and the [popup menu](https://en.wikipedia.org/wiki/Context_menu) graphical mechanism.
      • David Canfield Smith
      • Bill Atkinson - creator of the GUI for the Apple Lisa, the creator of the original drawing software [MacPaint](https://en.wikipedia.org/wiki/MacPaint), and the creator of the [QuickDraw](https://en.wikipedia.org/wiki/QuickDraw) graphics library.
      • John Carmack
      • William Fetter
      • Michael Abrash - creator of the video game and 3D rendering engine [Quake](https://en.wikipedia.org/wiki/Quake_(video_game)) [Quake Engine](https://en.wikipedia.org/wiki/Quake_engine).
      • Ivan Sutherland - time graphical user interface and foundation for modern [Computer-aided design](https://en.wikipedia.org/wiki/Computer-aided_design) and the creator of whats considered to be the first virtual reality head-mounted system [The Sword of Damocles](https://en.wikipedia.org/wiki/The_Sword_of_Damocles_(virtual_reality)).
      • Alan Kay
      • Pierre Bézier - aided_design#History), the creator of [Bézier curve](https://en.wikipedia.org/wiki/B%C3%A9zier_curve) and [Bézier surface](https://en.wikipedia.org/wiki/B%C3%A9zier_surface) 3D computer graphics concepts.
  • Protocols / Standards

    • Compilers

      • Vint Cerf - creator of the fundamental design principles for computer networking [Transmission Control Protocol and Internet Protocol (TCP/IP)](https://en.wikipedia.org/wiki/Internet_protocol_suite) in a profound paper "A Protocol for Packet Network Intercommunication" essentially outlining the architecture of the internet.
      • Robert E. Kahn - creator of the fundamental design principles for computer networking [Transmission Control Protocol and Internet Protocol (TCP/IP)](https://en.wikipedia.org/wiki/Internet_protocol_suite) in a profound paper "A Protocol for Packet Network Intercommunication" essentially outlining the architecture of the internet.
      • Leslie Lamport - facto framework for designing consensus and agreement in a distributed computing system, and the co-author of [Byzantine agreement](https://en.wikipedia.org/wiki/Quantum_Byzantine_agreement) protocol that handle and avoid failures in distributed algorithms.
      • Jeremie Miller
      • William Kahan - 1985](https://en.wikipedia.org/wiki/IEEE_754-1985) which was the de-facto standard for implementation rules of floating points in software.
      • Tim Bray - author of the original [XML](https://en.wikipedia.org/wiki/XML) specification
      • Bram Cohen - to-peer BitTorrent protocol, and the first BitTorrent program.
      • Butler Lampson - phase commit protocol](https://en.wikipedia.org/wiki/Two-phase_commit_protocol) which coordinates the processes in a distributed atomic transaction on whether to commit or rollback the transaction.
      • Tim Berners-Lee
      • Rob Pike - designer of the character encoding standard [UTF-8](https://en.wikipedia.org/wiki/UTF-8), capable of encoding all possible characters and is the most widely used encoding for HTML files.
      • Ken Thompson - designer of the character encoding standard [UTF-8](https://en.wikipedia.org/wiki/UTF-8), capable of encoding all possible characters and is the most widely used encoding for HTML files.
  • Books / Papers

    • Compilers

      • Jeffrey Ullman
      • Alfred Aho
      • Steve McConnell
      • Fred Brooks - Month](https://en.wikipedia.org/wiki/The_Mythical_Man-Month) where [Brook's law](https://en.wikipedia.org/wiki/Brooks%E2%80%99_law) was first coined.
      • Ralph Johnson - author of influential book [Design Patterns: Elements of Reusable Object-Oriented Software](https://en.wikipedia.org/wiki/Design_Patterns).
      • Richard Helm - author of influential book [Design Patterns: Elements of Reusable Object-Oriented Software](https://en.wikipedia.org/wiki/Design_Patterns).
      • John Vlissides - author of influential book [Design Patterns: Elements of Reusable Object-Oriented Software](https://en.wikipedia.org/wiki/Design_Patterns).
      • Hal Abelson - author of [Structure and Interpretation of Computer Programs](https://en.wikipedia.org/wiki/Structure_and_Interpretation_of_Computer_Programs) also known as the "wizard book" that helped teach the principles of programming.
      • Thomas H. Cormen - author of influential book [Introduction to Algorithms](https://en.wikipedia.org/wiki/Introduction_to_Algorithms) also known as "CLRS" now considered to be the standard reference for algorithms.
      • Clifford Stein - author of influential book [Introduction to Algorithms](https://en.wikipedia.org/wiki/Introduction_to_Algorithms) also known as "CLRS" now considered to be the standard reference for algorithms.
      • Andy Hunt - author of software development book [The Pragmatic Programmer](https://en.wikipedia.org/wiki/The_Pragmatic_Programmer), the co-author of many books in the "Pragmatic Bookshelf" series, and the co-author of "Programming Ruby".
      • Robert Cecil Martin
      • Scott Meyers
      • Martin Fowler - author along with Kent Beck of the book that popularized agile software development "Refactoring: Improving the Design of Existing Code" and co-author of the "Manifesto for Agile Software Development".
      • Kent Beck - author of the "Manifesto for Agile Software Development" and "Extreme Programming Explained"
      • John Hopcroft - author of the influential books [Introduction to Automata Theory, Languages, and Computation](https://en.wikipedia.org/wiki/Introduction_to_Automata_Theory,_Languages,_and_Computation) also known as [the Cinderella Book](https://en.wikipedia.org/wiki/Introduction_to_Automata_Theory,_Languages,_and_Computation), "Data Structures and Algorithms" and "The Design and Analysis of Computer Algorithms".
      • Gerald Jay Sussman - author of [Structure and Interpretation of Computer Programs](https://en.wikipedia.org/wiki/Structure_and_Interpretation_of_Computer_Programs) also known as the "wizard book" that helped teach the principles of programming.
      • Dave Thomas - author of software development book [The Pragmatic Programmer](https://en.wikipedia.org/wiki/The_Pragmatic_Programmer), the co-author of many books in the "Pragmatic Bookshelf" series, and the co-author of "Programming Ruby".
      • Charles E. Leiserson - author of influential book [Introduction to Algorithms](https://en.wikipedia.org/wiki/Introduction_to_Algorithms) also known as "CLRS" now considered to be the standard reference for algorithms.
      • Alexander Stepanov
      • Erich Gamma - author of influential book [Design Patterns: Elements of Reusable Object-Oriented Software](https://en.wikipedia.org/wiki/Design_Patterns).
      • Dennis Ritchie
  • Development Processes

    • Compilers

      • Ward Cunningham - creator of software development methodology [extreme programming](https://en.wikipedia.org/wiki/Extreme_programming) to improve overall software quality.
      • Ivar Jacobson
  • Hardware