Skip to content

The tech tree does not leave enough information to rebuild civilation from collapse. #75

@MarisaKirisame

Description

@MarisaKirisame

What follows, which we call the Tech Tree, is a selection of works intended to describe how the world makes and uses software today, as well as an overview of how computers work and the foundational technologies required to make and use computers

I dont think the current tech tree is nearly focused enough to archive "how computers work and the foundational technologies required to make and use computers"

Let's look at some examples.

Compilers, assembler, and operating systems

All of the three compiler book cover building a compiler for a low level imperative language (essentially C). There is no compiler about functional programming language (SML/Haskell), no compiler for declarative language (datalog), or for high-level dynamically typed language (smalltalk). Furthermore there is no book that talk about SAT/SMT solving, nor Garbage Collection, which is the foundation for compiler and programming language (C Compiler use graph coloring (NP complete) for register allocation).

Programming languages

All of the book only talk about contemporary programming language, with zero books about how to design a language. How does one design the type system to ensure safety, without sacrificing too much expressiveness, meanwhile allowing efficient type checking/inference? How do you manage different kind of effect (e.g. reference, concurrency, probability, nondeterminism, exception)? How do you design the language such that it contain a few simple yet universal construct, instead of having lots of ad hoc construct, and quickly becoming and overly-complex language (see Gedanken and Scheme)?

Scientific computing

Scientific Computing workload often consists of
0: lots of domain knowledge
1: ran with numerics algorithm (e.g. finite element methods)
2: optimization for superomputer

I didnt see any of them.

Machine learning

There are five books on deep learning, with no book on bayesian method/probabilistic graphical model/symbolic methods/classical machine learning.

Even if this is just for deep learning, it is still not enough - there is no mention on how to rebuild deep learning framework.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions