javacodegeeks.com javacodegeeks.com

First-Class Procedure Type System for Composition

This is the first article in a series looking at the Inversion of Coupling Control type system for composition.  The series will demonstrate how the resulting type system allows for easy composition.  This avoids much of the complexity of Functional / Object-Oriented composition.  The resulting type system and it’s resulting composition is simple enough even for junior developers to comprehend.First-Class...

javacodegeeks.com javacodegeeks.com

Inverting Functions: Effect Thread binding for Stateless Actors

Functional programming can be perceived as “hard”. Yes, spend time with it and it gets simpler and the benefits make your code definitely better. However, when type errors can start spanning multiple lines, it does suggest the abstract concepts may be “hard” to see clearly.We really need to make it easier for junior developers to assist in functional programming of larger systems.Now as functional programming...

javacodegeeks.com javacodegeeks.com

Is Spring Reactive already obsolete? Inversion of Thread Coupling

Beyond Spring’s Dependency Injectiononly solving 1/5 of the Inversion of Control problem, Spring Reactive bases itself on the event loop. While there are other popular event loop driven solutions (NodeJS, Nginx), the single threaded event loop is a pendulum swing in the other direction from thread-per-request (thread pools). With event loops competing against thread-per-request is there not some pattern that underlies both of...

javacodegeeks.com javacodegeeks.com

Inversion of Control (explained non-technically)

The definition of Inversion of Control was presented in a paper published in 2015 (a free download is available here).  The premise of the paper was “can we learn something from how businesses organise themselves and translate this into software design improvements?” Basically, businesses have been around a lot longer than software systems.  So, how did businesses deal with problems, such as scale, before computers...