Programming Languages
The tower of babel is your type system as a macro
shell
- use
shellcheck
for common issues and errors in scripts - sh
- posix shell
- https://pubs.opengroup.org/onlinepubs/9699919799.2018edition/utilities/sh.html
cmd 2>&1 | tee -- "log.txt"
- bash
- zsh
- ksh
- setenv for environment variables
c++
- https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines
- gcc < 11 can be built with c++98; c++11 required for 11+
static_assert
compile time checks UB and leaks- RTTI can be used for runtime reflection
- c++11
- constexpr, uniqueptr, move semantics, memory model
- c++14
- reader writer locks
- c++17
- parallell stl, std filesystem
- c++20
- modules, concepts(templates constraints), ranges, coroutines
- c++23
- generators, import std;, std::expected
rust
- win 7 support removed in 1.75
rr record -c 10000 <program> <args>
context switches thread after 10000 cpu ticks- musl added dns tcp in 1.2.4
- wasm core dump debugging with wasmgdb
- gdb
css
- colors with hex or oklch
- https://github.com/whatwg/html for spec
- document.designMode="on" for inline editing
jvm
- Valhalla for value objects (remove boxing overhead)
- Loom for user mode green threads
- panama for native library linkage
javascript
typescript
- compiles to javascript
- any type for escape
- deno run npm package with
deno run --allow-all npm:SomeSuchCommand
or a ts file withimport express from "npm:express@^4.20"
package.json
scripts can be run withdeno task
- based on v8
- bun run npm package
- bun profile builds are debug and baseline exclude avx2
- based on webkits javascriptcore
WASM
- sexp text format
- stack based vm instructions
- function table
- interoperability
- js with SharedArrayBuffer
- WASI for host
asm
x86
- calling convention of setting registers and jumping
- SIMD (xmmx) SSE/AVX(512)
lisp
scheme
- guile
- prescheme
- manual memory management
- static type system
- verified prescheme to C compiler
- operating system 3L compiler/vm written in prescheme
- guile-prescheme interop
- gnu mes
- scheme interpreter in C and C compiler in scheme used for bootstrapping guile/guix with gash
- chicken scheme
- scheme to C compiler
elisp
- eieio for objects