InfoQ

InfoQ

Editor Specific Content View

Sadek Drobi

Sadek Drobi is a software engineer specialized in design and implementation of enterprise applications. Mostly interested in solutions for bridging the gap between business and developers (e.g. agile, DSL, domain driven design) he is currently working on a research proposal with a focus on language oriented programming and multiparadigm design. Sadek works as a consultant at Valtech. Passionate about his profession but also about photography, he publishes a technical blog at www.sadekdrobi.com and maintains a photo gallery http://photos.sadekdrobi.com

All of Sadek Drobi's Content on InfoQ


Latest featured content by Sadek Drobi

Justin Sheehy and Damien Katz on Riak and CouchDB

Topics
NoSQL,
Database Design,
Data Access,
Architecture,
Performance & Scalability,
Ruby

Justin Sheehy and Damien Katz discuss Riak and CouchDB, the strengths and trade-offs of different approaches to NoSQL, and why both databases are written in Erlang.

News by Sadek Drobi

Erlang Copied Scala's Actors & Erlang's VM is almost a Clone of the JVM

Topics
Language Design,
Java,
Architecture

Erlang Co-creators, Joe Armstrong and Robert Virding, admit that Erlang is heavily inspired by the Java world. In an interview at ErlangFactory 2011 SF, they reveal how Scala Actors had shaped their work in what they then called Erlang Processes. Moreover, they acknowledge the fact that Erlang's VM is barely a clone of the famous JVM.

A Type System for Scala Actors to Enforce Race Safety Without Sacrificing Performance

Topics
Java,
Language Design,
Compilers,
Programming,
Architecture

Philipp Haller and Martin Odersky introduce a type system that enables safe massage transfer in Scala actors. Formalized as an extension of the EPFL Scala compiler, “Object Capability Types” system, based on capability checking and external uniqueness, enforces race safety without sacrificing performance and removes significant limitations on message shape imposed by existing approaches.

Data, Context and Interaction : A New Architectural Approach by James O. Coplien and Trygve Reenskau

Topics
Object Oriented Design,
Modeling,
Design,
Architecture

James O. Coplien and Trygve Reenskaug have recently introduced a new architectural approach to OOP based on Data, Context and Interaction pattern. It should allow capturing user mental model in terms of behavioral requirements, something that classic OOP fails to do. The article, that triggered many reactions and critics, provides insights into DCI using concrete examples to show its advantages.

Articles by Sadek Drobi

Paradigm based Polyglot Programming

Topics
Design,
Language,
Programming,
Architecture

Have you ever wondered why people talk about having "the right language for the right job"? Or why people talk about using more languages within the same system? Sadek Drobi explains why you should consider mixing languages within your system, how to think and what to consider.

Presentations by Sadek Drobi

Computation Abstraction: Going Beyond Programming Language Glue

Topics
Syntax,
Language,
Architecture

Sadek Drobi talks about abstracting the control syntax (glue), giving examples from mainstream and FP languages: Null, propagating errors, events, asynchronous programming, lists, streams, channels, functors, monads, and custom abstractions.

Functional Programming with a Mainstream Language

Topics
Language,
Architecture,
.NET

Sadek Drobi shows how he applied functional programming principles to a real-life project which needed to meet certain performance requirements. He shares the lessons learnt on using mutation, laziness, recursion, functions, monads, list comprehensions and parallelization in an attempt to achieve a functional domain model.

Interviews by Sadek Drobi

Kostis Sagonas on Erlang, Types, Static Analysis and Refactoring

Topics
Dynamic Languages,
Parallel Programming,
Language Design,
Programming,
Ruby,
Language,
Performance & Scalability,
Architecture

Kostis Sagons talks about how type checking can help with a dynamic language like Erlang and how static analysis tools like Dialyzer or automated refactoring tools like Tidier help keep code clean.

Bob Ippolito on Erlang and MochiWeb

Topics
Dynamic Languages,
Web Servers,
Web Services,
Architecture,
Ruby,
SOA

Bob Ippolito talks about building web services with the Erlang-based MochiWeb and the differences to the Yaws web server, the strengths of Erlang and Python, and more.