I still hand review all of the new code like a boomer and I can't particularly see anything that didn't need to be changed for most tasks (sans certain cases where it could have reused a class). It's just shocking seeing all of it so quickly.
but that doesn't mean they're necessarily wrong. I think programmers take kinesthetic learning for granted and the lack of it is what they're reacting to when they say things like this. It's always easier to understand code you've typed out yourself, because you physically felt it and reinforced it during the process of typing it out
@binkle when I get a chance to breathe I want to explore ways that make code dead simple to read that would be retardedly infeasible to write as a human. Stuff like making every big function have a unique return type so there is no possible confusion for what plugs into what. Exploration of functional programming where you can pack away implementations and hammer them with retard strength in isolated testing
So much of our old ways are centered around saving manual labor and typing and it's going to be mentally difficult to break away from that
@binkle i'd also really like to explore state charts as direct programming. There was a tool called Yakindu that I think is still around but costs big enterprise money to use. It was one of the most useful tools for network programming I've ever seen and the concept seems completely unexplored by most other people. The only thing really stopping it was it was a pain in the ass for other people to use your projects but that was purely because the tool was badly written (Eclipse :niggavoid: )
@RustyCrab that itch to try to make everything a tiny piecemeal function may allow more tests to be written but falls prey to a form of premature abstraction which carries with it a lot of extra baggage that's always left unaccounted for by the people who evangelize it. I mark it as another sort of ideological commitment, akin to hardcore OOP or Rust's safety culture.
Not that I'm saying YOU'RE being ideological of course, I don't think you are, but this Logan guy really set me off :kirbyangery:
@binkle >ways that make code dead simple to read that would be retardedly infeasible to write as a human
This video popped up on my feed and it kind of answers that question. Specifically the part about NormalizedVector. You could do a lot to bake contracts and invariants into objects in a way that isn't feasible by hand
@RustyCrab this video was so difficult for me to get through I wound up skipping most of it to get to the part you mentioned and while that one part was good almost the moment it was over he stepped on another rake and I had to turn it off :melt:
@binkle@RustyCrab right, yeah. I try to do it if it's meaningful enough. Like there's a little thing I do (just 2 lines) that repeats in 2 arms of a match, but I don't turn that into a function cuz that's tarded. But in some other places I managed to slim things due to turning other things into functions, and I think I keep stuff tidy enough that I don't lose understanding of my stuff...
@mischievoustomato@RustyCrab that's normal and I wouldn't advise against it - it's only when you make it an ideological commitment and decide to start breaking things out before the shape of the program is really visible that it becomes a problem