Software Tools in JavaScript: Terms
I still have 48 figures to draw for Software Tools in JavaScript, but to follow up on this post about its topics and this post about using glossaries to summarize lesson content, here’s a list of the terms defined in each chapter. What I want to build (or find) next is a tool that will take data like this, find related uses (“glob” for “globbing”, “method chain” for “method chaining”, etc.), and tell me if I’m using ideas before explaining them. I don’t want to have to list all possible synonyms by hand, any more than I want to have to list all the functions that a module calls. Instead, what I want for lesson maintenance is something that will tell me when I’ve broken something up by adding, cutting, or moving material.
Systems Programming | ||
anonymous function | asynchronous | Boolean |
callback | cognitive load | command-line argument |
console | current working directory | destructuring assignment |
edge case | filesystem | filter |
globbing | idiomatic | log message |
path | promise | protocol |
scope | single-threaded | string interpolation |
Asynchronous Programming | ||
call stack | character encoding | class |
constructor | event loop | exception |
method | method chaining | non-blocking execution |
promisification | UTF-8 | |
Unit Testing | ||
actual result | assertion | caching |
defensive programming | design pattern | dynamic loading |
error (test) | exception handler | expected result |
exploratory programming | fail (test) | fixture |
global variable | introspection | lifecycle |
pass (test) | side effect | Singleton pattern |
test runner | throw exception | unit test |
File Backup | ||
collision | cryptographic hash function | csv |
handler | hash code | hash function |
JSON | mock object | pipe |
race condition | stream | timestamp |
time of check/time of use | UTC | version control system |
Data Tables | ||
column major | data frame | garbage collection |
heterogeneous | homogeneous | immutable |
row major | SQL | tagged data |
test harness | ||
Pattern Matching | ||
base class | Chain of Responsibility pattern | depth-first search |
derived class | greedy algorithm | query selector |
regular expression | test-driven development | |
Parsing Expressions | ||
literal | precedence | token |
well-formed | YAML | |
Page Templates | ||
bare object | DOM | dynamic scoping |
environment | lexical scoping | stack frame |
Visitor pattern | ||
Build Manager | ||
automatic variable | build manager | build recipe |
build rule | build stale | build target |
compiled language | cycle | directed acyclic graph |
dependency | driver | interpreted language |
link | pattern rule | runnable documentation |
Template Method pattern | topological order | |
Layout Engine | ||
attribute | cache | confirmation bias |
coupling | DOM selector | easy mode |
layout engine | function signature | |
File Interpolator | ||
header file | loader | sandbox |
search path | shell variable | |
Module Loader | ||
absolute path | alias | circular dependency |
closure | directed graph | encapsulate |
immediately-invoked function expression | namespace | plugin architecture |
Style Checker | ||
abstract syntax tree | dynamic lookup | generator function |
iterator pattern | linter | Markdown |
walk (tree) | ||
Code Generator | ||
byte code | code coverage | Decorator pattern |
macro | nested function | |
Documentation Generator | ||
accumulator | block comment | doc comment |
line comment | slug | |
Module Bundler | ||
entry point | module bundler | transitive closure |
Package Manager | ||
backward-compatible | combinatorial explosion | heuristic |
manifest | patch | prune |
SAT solver | semantic versioning | |
Virtual Machine | ||
Application Binary Interface | assembler | assembly code |
bitwise operation | compiler | instruction pointer |
instruction set | label address | op code |
register | virtual machine | word (memory) |
Debugger | ||
breakpoint | source map |