HN user

hyperswine

30 karma
Posts4
Comments28
View on HN

systems programming and HDL are quite enlightening, though bordering EE. Really gets deep into how computers work and what they really are, so you are not just dealing with a compiler black box on a high level language. Being able to understand and write your own device driver is great

for maths, I think being able to quickly read binary and hex or at least quickly gauge the magnitude of a hex number is pretty underappreciated. Multi variate calculus and linear alg was also very useful in general in reasoning about programs especially those involving lists, vecs, matrices, and ML

compilers are great too but I feel like most resources and thinking around it is a bit too focused on parsing and the frontend, not enough on the "essence" of languages and compilers, abstraction, and more recent developments in static analysis other than simple typing

A lot of langs have a std lib namespace (c++, rust for example) where you could just do `use std::fs::*` and write `read_to_string(path)`. Even better if those convienience functions were placed in `std::prelude` so that it would be immediately known to your project namespace.

I do like the idea of a better dev ops system. Maybe with better github workflow integration or a custom git frontend? Then everything would be coupled together a bit tighter with the advantage of an ergonomic, uniform interface to do your devops

An actual functional lang server that doesnt randomly die on you and tries its best to infer your intent would be nice.

I like that last point too, as copilot I think is going in the right direction with "step 1" of full optimisation. Maybe step 2 would be some AI based optimiser scheme to transform IR into optimal cpu/gpu ISA. Though maybe stability would be a problem