Currently browsing

July 2014

On Being “Functional”

There is more and more talk going on about functional programming nowadays; the paradigm is finally understood, accepted, implemented in most runtimes and used by many software engineers, in a more or less aware fashion (just think of JavaScript) and in a more or less hybrid form (just think of Scala). I say “finally” because functional programming has many useful properties, among which: It enables building and reusing components at the level of computation logic, which is a more fine-grained one than objects or modules. It enables a more declarative style that can reduce code size, enhance readability and improve maintainability. With its emphasis on pure functions, values and stateless logic, It helps reasoning and getting more aware about when state and …

Blazar: another pill to relieve Asyncmania

I’ve been ranting already about today’s non-thread-blocking needs (here: Efficient I/O: working smart with slow byte movers) and the fact that some of the most prominent runtimes (e.g. JVM…) lack support for fibers, causing everyone to shelter in asynchronous programming models instead of looking for ways to complement the runtime. Actually Ron Pressler has been writing about this issue quite extensively in Parallel Universe’s blog , for example a very fine post is Little’s Law, Scalability and Fault Tolerance: The OS is your bottleneck (and what you can do about it) but I warmly recommend reading everything in there as there’s a lot of insight and great architectural and even day-to-day suggestions are provided. Let me call this syndrome …