Skip to content

Latest commit

 

History

History
147 lines (132 loc) · 5.75 KB

references.md

File metadata and controls

147 lines (132 loc) · 5.75 KB

References

Return to the beginning

pipe is scientific project and its meaning evolves through the huge heritage of pioneering computer scientists, industry professionals, software enthusiasts, ordinary users and underground hackers. The heritage includes engineering projects, academic papers, recognizable books, talks, esoteric blog posts and personal essays anyone can accidentals stuck across the Web. The listing below can be considered as pipe bibliography.

Readings

  1. Paul Graham
    1. On Lisp
    2. Revenge of the Nerds
    3. Programming Bottom-Up
    4. To Start a Startup
    5. The Hundred-Year Language
    6. Succinctness is Power
  2. Niklaus Wirth
    1. Algorithms + Data Structures = Programs
  3. Donald Knuth
    1. The Art of Programming
    2. Stanford GraphBase: A Platform for Combinatorial Computing
  4. Bjarne Stroustrup
    1. Exception Handling for C++ (Andrew Koenig)
  5. Gabriel Dos Reis
    1. A Principled, Complete, and Efficient Representation of C++
  6. Gerald Jay Sussman and Hal Abelson
    1. Structure and Interpretation of Computer Programs
  7. Noam Nisan, Shimon Schocken
    1. Papers from Nand2Tetris
    2. The Elements of Computing Systems
  8. Sergey Dmitriev [JetBrains]
    1. Language Oriented Programming: The Next Programming Paradigm
    2. JetBrains MPS (YouTube)
  9. Dale Fisk
    1. Programming with Punched Cards
  10. Adam Brooks Webber
    1. Modern Programming Languages: A Practical Introduction
  11. Robert W. Sebesta
    1. Concepts of Programming Languages
  12. Allen Cypher
    1. Watch What I Do: Programming by Demonstration
  13. Olivier Breuleux
    1. O-expressions
  14. J. P. Haverty and R. L. Patrick
    1. Programming Languages and Standardization in Command and Control
  15. Matthias Müller-Prove
    1. Vision and Reality of Hypertext and Graphical User Interfaces
    2. The Reactive Engine or FLEX language
  16. Bertrand Meyer
    1. Eiffel: The Language
  17. Frederick Brooks
    1. The Mythical Man-Month
  18. Jon Bentley
    1. Programming Pearls
  19. Francesc Hervada-Sala
    1. The Text Engine

Secondary

  1. Benjamin C. Pierce
    1. Types and Programming Languages
  2. Daniel P. Friedman, Mitchell Wand
    1. Essentials of Programming Languages
  3. https://scripts.sil.org/cms/scripts/page.php?id=IWS-Chapter02&site_id=nrsi#0049c6a9

Engineering Projects

List of educational and engineering projects that help pipe to round out the experience and expertise:

  1. Project Oberon. Niklaus Wirth
  2. Bitwise. Per Vognsen
  3. Handmade Hero. Casey Muratori
  4. Nand2Tetris. Noam Nisan and Shimon Schocken
  5. SLang. Eugene Zouev

Influenced by

List of languages and different formats against which pipe draws its narrow line of logic:

  • Nim [Syntax, run-time AST manipulation]
  • Eve [Record and recursive based programming]
  • REBOL, Red [Extension by DSL, GUI description]
  • Lisp, Clojure, Schema [Unified syntax, Lists]
  • Z notation, Eiffel [Constraint, Defensive programming, Design by contract]
  • Java [Single inheritance, Abstract classes, Virtual machine]
  • JavaScript [Prototypes]
  • PHP, Hack, Perl [Embedded code]
  • C/C++, Go [Syntax, Interfaces, Concurrent model]
  • Python [Syntax, Indentation, REPL]
  • Lua, Terra [Meta programming]
  • Rust
  • Smalltalk
  • Ioke [DSL generation]
  • Julia, Wolfram, Maxima [Everything is a symbol, Symbolic programming, Notebooks, High expressiveness]
  • Elixir, Akka [Actor model, Sigils, Protocol vs Interface]
  • Erlang, Haskell [Functional programming, Parallel execution model]
  • Parser generators (YACC, Bison - C/C++, CUP - Java, Happy - Haskell)
  • XML/HTML [Structure description]
  • CSS [Visual description]
  • JSON, toml
  • mermaid, nomnoml [Relation description]
  • Markdown [Notebook sketches]
  • COBOL, ALGOL, Fortran [First generations]
  • Most common English words

People

[CS pioneers and Mathematicians]

  • Niklaus Wirth. Oberon system, Pascal, Modula languages
  • Donald Knuth. TeX, Computer Modern typeface, Art of Programming, Literature programming
  • Edsger W. Dijkstra. Structured programming
  • Bertrand Meyer. Eiffel language, Design By Contract
  • Bjarne Stroustrup. C++

[Game hackers and Software engineers]

  • Matt Phillips. Tanglewood Game Developer
  • Per Vognsen. Bitwise project
  • Paul Graham. Co-founder of Y combinator
  • Bret Victor. Inventing on Principle, The Humane Representation of Thought
  • Joel Spolsky. Joel on Software, Stackoverflow, Trello

[Independent researches]

  • Matthias Müller-Prove. FLEX language
  • Francesc Hervada-Sala. Text engine