Email or username:

Password:

Forgot your password?
Top-level
Joshua Barretto

@thephd I've stopped chasing simplicity in favour of a sort of 'oneness' that I've seen emerge from good software: where the ends are all neatly tied up, where the semantics of components are clear and cognizant, where there's a sort of ineffable harmony and you just *know* by looking at it and understanding it that it's going to pass any unit test you throw at it. Neither complex nor simple, but sufficient for the problem domain. Type systems help a lot with getting there, but aren't essential.

3 comments
Joshua Barretto

@thephd It usually takes at least 2 or 3 rewrites / major refactors of a system to get to this point, but damn if it isn't worth it.

Tshepang Mbambo

@jsbarretto
what are some codebases you would recommend reading that fit this description
@thephd

Joshua Barretto

@tshepang @thephd Less codebases and more individual components, or abstractions. I had this feeling when working on @veloren's AI code: after several months of experimentation and false starts, we hit upon a combinator API that ticked all of the boxes and felt 'right', and so far that's been consistently the case: it's easy to modify and provides a near-perfect balance between restriction and expression.

Go Up