Some thoughts to paint a picture:
- specifications are cool. A machine-readable specification is a specification which itself has a specification.
- I'm surprised I haven't come across compiler combinators, i.e. a DSL for specifying language semantics that lets you automatically derive a compiler and/or a language server. This would be a fun project to work on.
- if you care about (high-level) information, you have to stop throwing it away. This is why I love how Unison preserves typed ASTs and why I prefer the purely functional paradigm with static typing to low-level programming.
- objective complexity should play an important role in design decisions. This is why I consider the UNIX filesystem principle of a unified rooted tree to be cleaner than drive letter assignment and the reason why I dislike languages like C++.
Here's an overview of coding time for the past seven days spent in personal projects and coursework:
Rust 12 hrs 24 mins ████████████████░░░░░░░░░ 63.78 % Java 1 hr 52 mins ██▒░░░░░░░░░░░░░░░░░░░░░░ 09.62 % Text 1 hr 36 mins ██░░░░░░░░░░░░░░░░░░░░░░░ 08.25 % YAML 1 hr 35 mins ██░░░░░░░░░░░░░░░░░░░░░░░ 08.21 % TOML 51 mins █░░░░░░░░░░░░░░░░░░░░░░░░ 04.37 % textmate 26 mins ▓░░░░░░░░░░░░░░░░░░░░░░░░ 02.27 %