3 ms·
Do you know of any articles/papers that try to do in-depth analyses of which features are helpful for building big systems? Most posts I can think of basically
by SatvikBeri 11mo ago
Do you know of any articles/papers that try to do in-depth analyses of which features are helpful for building big systems?
Most posts I can think of basically say "X language is good" or "Y language is bad", but I'd really be interested in arguments like "feature A is better at accomplishing goal Z than feature B"
- Towaway69 11mo agoThat's a very good point. My experience is that for large project the architecture also becomes important. Large project have much code but if you can split out responsibility because your architecture allows this, then you keep your code concise. One feature Ruby has that helps here is creating Domain Specific Language without yacc or lex. This allows for concise code where its needed.
- epgui 11mo agoThere are languages much better suited for DSLs though.
- SatvikBeri 11mo agoNot quite the same, but I find "data-oriented programming" to be a very strong method for managing large codebases. By that I mean having data structures that designate the end state that you want, having another set of code that gets you to those end states, and maintaining a pretty clear boundary between the two. (If you like with "Functional Core, Imperative Shell", this is a way to further divide the Functional Core.) It works well because it narrows the surface area of a lot of possible bugs: either your configuration is wrong, or your code doing the transformations is wrong.
- Towaway69 11mo agoYou kind of describe flow based programming (FBP) whereby data is passed to stateless functionality. Things like Unix pipes, Node-Red and n8n are inspired by FBP. I agree with what you describe, also reuse is simpler because code tends to be stateless.
- epgui 11mo agoThere are some programming language journals that people like to dismiss as “academic”. But “academic” is what I value here.
- SatvikBeri 11mo agoThere are a lot of programming language journals – are there ones you'd recommend specifically for discussions of tradeoffs between features?