3 ms·
> I use the simplest mainstream language available (Go) and very basic Python. I'm too dumb to roll without a good first-class type checker. > I write simple
by mrkeen 3y ago
> I use the simplest mainstream language available (Go) and very basic Python.
I'm too dumb to roll without a good first-class type checker.
> I write simple (though sometimes verbose) code that is easy to understand and maintain. I avoid deep abstractions
Insisting on writing "simple" code (insofar as I think this word is intended) is what leads to deep abstractions - E.g. shirking something "complex" like matrix multiplication and instead writing something "simple" like nested for-loops with multiplication and addition.
> always choose composition over inheritance ... I prefer flat data structures whenever possible.
Well these are at least in tension if not contradictory.
> I only use generics when absolutely necessary.
I use them whenever possible. Even ignoring code reuse and generality (the usual benefits associated) they drop the complexity by disallowing the generic code to know anything about your type. No peeking, poking or prodding of your data type or typr-specific behaviour. A promise<t> will remain a promise<t>, without the runtime deciding to flatten the promises behind your back.