Programming Simplicity - Broad Brush
Minimum price
Suggested price

Programming Simplicity - Broad Brush

About the Book

About the Author

Paul Tarvydas
Paul Tarvydas

 40+ years experience as Software Consultant, Generalist

- former: TS Controls, Visual Frameworks Inc., Design Recovery Inc., VP of Digital Imaging Association

- hobbies included: slot cars, photography, audio electronics and guitar stomp boxes, song writing, guitar playing, golf, wine making, astronomy, motor-winding, CPU wire-wrapping, and touched on: silk screening, chemistry

- education: EE (BASc, PEng)

- other: Physics

- related: compilers, interpreters, language design, embedded systems, diagrammatic programming, Lisp, C

About the Contributors

Boken Lin
Boken Lin
Ken Deaton
Ken Deaton
Ken Kan
Ken Kan
Rajiv Abraham
Rajiv Abraham
Zac Nowicki
Zac Nowicki

Table of Contents

    • Programming Is Not Coding
      • An Abbreviated History of Programming Languages.
      • What is the point of programming?
      • Early Machines
      • High Level Electronic Machines
      • Early Programming of Computers
      • Tools
      • IDEs
      • Process
      • Drawbacks
      • Toggle Switches (Advanced Programming)
      • Breadboards (Advanced Programming)
      • Miniaturization (Super Advanced Programming)
      • Drawback - Dust
      • Drawback - $$$
      • HCI - Human Computer Interfaces - Keyboards and Displays
      • Solution - Keyboards
      • Solution - Displays
      • Assembler (Ultra Advanced Programming)
      • Separation of operators and operands
      • Line-Oriented Source Code
      • Aside - Tree-Oriented Source Code
      • High Level Languages (Super Ultra Advanced Programming)
      • ASCII
      • Code Bloat
      • Types Needed During Design
      • Other Syntaxes
      • Spreadsheets
      • Relational Programming
      • Everything is a String
      • Scripting
      • Hypercard
      • Dataless Programming Languages
      • Concept: Orthogonal Programming Languages
      • WASM
      • VPLs
      • Low-Code
      • HTML
      • XML
      • Declarative Programming
      • TXL
      • AI generates Code
      • ROS, Behavior Trees
      • 1950s Text-based Programming Languages
      • Smalltalk
      • Compilers
      • Compilers vs. Interpreters
    • Interpreter
    • Compiler
      • How Do You Write Code That Figures Out What Can Be Pre-Compiled?
      • Compilers Are Interpreters
      • Tokens, Tokenization
      • Trees
      • AST vs CST
      • Tree Driven Compilation
      • Do One Thing Well
      • Syntax Driven Compilation
      • Compiler Phases
      • REGEX - Regular Expressions
      • YACC, LEX, Bison, etc.
      • PEG
      • Ohm
    • Call Return Spaghetti
      • Introduction
      • Simple System
      • What Happens?
      • Current State of the Art
      • The Desired Outcome
    • Scalability
      • Insidious Form of Dependency
      • New Reality vs. Old Reality
      • Measuring Isolation
    • 5 Whys of Software Components
      • Acknowledgement
    • Git Could Do More
      • Github, Git, Diff, etc.
      • Automated DRY
      • Git-based Editors
    • DRY vs. Component-Based Programming
    • Factbases
    • The Universal Datatype
      • Triples
      • Assembler
      • Normalization
      • Factbase
      • Compilers
      • Optimization
      • Anecdote - Y2K and COBOL
      • Pattern Matching Factbases
      • Programming Language Design
      • Automation
      • Programming
    • Triples
      • XML
      • Computer Science
      • Data Structures
      • Curried Functions
      • PROLOG
      • Human Readability
    • Agile TakeAways
      • Goal of Agile
      • Religion of Agile
      • Takeaways from Agile
      • Anti-Takeways from Agile
      • Flexibility
      • Reuse In The Large
      • Code is cheap.
      • Software Development Roles
    • Compilers Are Too Slow
      • Efficiency
      • Sector Lisp, FP in < 512 Bytes
      • Forgotten
      • Notation Worship
      • Error Checking - Silly Mistakes
      • 5-Line Programs
      • Why Don’t We Use Diagrams For Programming?
      • Dependencies
      • Simplicity - How Do You Build A Light Airplane?
      • Suggestion: Type Checking Design Rules
      • Warping Programming Languages To Allow Compilation
      • Appendix References
    • Why Do We Use Text For Programming Languages?
    • FDD - Failure Driven Design
      • Slides
      • Appendix
    • PROLOG for Programmers Introduction (in PROLOG)
      • video
      • Slides
      • Transcript
    • The Holy Grail of Software Development
      • Video
      • Transcript
    • Control Flow
      • Video
      • Slides
      • Transcript

The Leanpub 60-day 100% Happiness Guarantee

Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.

See full terms

80% Royalties. Earn $16 on a $20 book.

We pay 80% royalties. That's not a typo: you earn $16 on a $20 sale. If we sell 5000 non-refunded copies of your book or course for $20, you'll earn $80,000.

(Yes, some authors have already earned much more than that on Leanpub.)

In fact, authors have earnedover $12 millionwriting, publishing and selling on Leanpub.

Learn more about writing on Leanpub

Free Updates. DRM Free.

If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).

Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.

Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.

Learn more about Leanpub's ebook formats and where to read them

Write and Publish on Leanpub

You can use Leanpub to easily write, publish and sell in-progress and completed ebooks and online courses!

Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks.

Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. (Or, if you are producing your ebook your own way, you can even upload your own PDF and/or EPUB files and then publish with one click!) It really is that easy.

Learn more about writing on Leanpub