Hacker News new | ask | show | jobs
by sanderjd 1060 days ago
I have never come across a codebase written in this style that is any good. I think people inclined in this direction usually seem to fail to reify the domain they're working within, preferring to leave everything in terms of the mathematical primitives. This is much harder to work with than systems that have thought through the concrete interfaces useful in their concrete domain. (And sure, implementing those using "mathematical interfaces" is great.)
1 comments

I actually somewhat agree. I think there's a gradient here between modularity and useability. The more modular something is, the less user friendly it becomes.

The problem the GP is talking about here is a modularity problem right? He designs (aka guesses) the interface and finds out later that his guess was wrong. Mathematical interfaces deal with this problem better.

However mathematical interfaces are less user friendly and less intuitive, especially for someone not familiar with mathematical interfaces.

The reconciling solution is that the public interface can be very domain specific and made narrow in usage. The logic underneath this public interface can remain mathematical and therefore more amenable to future changes.

Yep!

> However mathematical interfaces are less user friendly and less intuitive, especially for someone not familiar with mathematical interfaces.

Actually I think it's less useful for people who are very familiar with the mathematical techniques as well.

Pure math also specializes things by domain. Certainly experienced mathematicians are capable of seeing the generalism underneath the specialization and are able to re-derive it, but to make progress they mostly don't do that, they build on top of the specific "interface".