Sadek Drobi’s Blog

June 10, 2009

DCI in Real World: Domain Context and Interaction with Scala in a Real World Project

Those that follow my twitter @sadache , me @infoQ or my blog have certainly already noticed that I am quite interested in Scala on languages’ axis and in Domain Context Interaction DCI pattern on architecture axis. I always search new ways for delivering quality code which is modular and concise. Modularity offers the opportunity to think about the problem in parts, which is typical of the way brains work, whereas conciseness makes use of imaginary system (reading code blocks like images).

Recently, I’ve been working on a Web Api system where, thanks to support of @jeanlaurent http://morlhon.net/blog/, I used Scala applying DCI architecture in a real world project. This post is about reporting benefits of using this approach. Other posts will follow that will be more focused on the use of Scala and Functional Programming in that project. Code included is a bit simplified and parts of the system that are not of interest are omitted.

(more…)

May 8, 2009

Data, Context and Interaction : a new architectural approach by James O. Coplien and Trygve Reenskaug

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.

(more…)

February 3, 2009

Quiz:: SharpLight |> What does this do?

combination

January 25, 2009

What Makes Haskell Worth Learning for Real World Applications

Filed under: Agile Programming, Functional Programming, Haskell, InfoQ — Sadache @ 10:23 pm

Around 750 people commented on the online preview of the Real World Haskell book. As described by one of its co-authors, John Goerzen, in a recent interview to O’Reilly, the book introduces Haskell with real code, real examples and tips to exploit in a business environment. In his interview, Goerzen explains why, in his opinion, this language is worth learning; he provides insights into its specificities and addresses some issues that may be a source of reluctance.

(more…)

January 22, 2009

My tinny presentation in VTDays 2008

Filed under: Agile Programming, C#, Functional Programming, LinQ — Sadache @ 11:13 pm

 

For those that didn’t happen to be there, here is a link to my tinny presentation I did in VTDays last year. There is a huge room for improvement, yet funny :)

(more…)

January 5, 2009

You’ve got 100 pages to convince me of your shiny language!

DSC_0150- In the rapidly spanning world of programming languages, I find myself buying and reading a lot of books about new and old programming languages. There are a few interesting concepts in each language, and if you think about employing more than one language in your projects then you better know about the existence of these concepts (see Paradigm based Polyglot Programming).

One thing that annoys me though about most programming language books is how raw they often are.

(more…)

November 10, 2008

RefX:: ORMs, Relational Data, Mismatch, LinQ and DSLs

Raw00078 Raw00170 DSC_0191

Having worked with several Object-Relational mapping frameworks in the last few years, I got to a point where I couldn’t justify their complexity in my project. We often talk about the mismatch between the database and the object worlds, and that is where ORMs are often stated and referenced for “bridging the gap”!

Well I prefer to call it lifting the gap, or highering the gap, to have it now between DAOs and the rest of the code than having it between database and code.But I wouldn’t call this in any way reducing the gap.

(more…)

November 2, 2008

Code Safety and Correctness is a matter of Mindset Cultured by the Language

Filed under: Agile Programming, Architecture, C#, D90, Decipline, Haskell, video-portrait — Sadache @ 10:27 pm

In my trip through Haskell programming I keep discovering how clean and enjoyable the language is. By the end I am someone that loves doing abstractions and I guess I’ve found my world.

I discussed with some colleagues lately how a programming language creates a whole culture around it. This culture inherits from language properties and shapes the language programming style.

(more…)

September 25, 2008

Paradigm based Polyglot Programming

DSC_0172

How many languages are you using on the same project? If you go counting you will see that they are many. I mean XML, Java, XSLT, HTML, CSS… etc. But the reason why you are using almost all of them is that they happen to be mainstream and, oftentimes, they are the only language choice for a needed framework. You are actually almost obliged to use them. The choice is done for you. Style? CSS. Configuration? Often XML. Web interface description? Html. However, if you want to adopt true polyglot programming, you will have to face inevitable decision of language choice.

(more…)

September 21, 2008

Do we actually need Methods in C# 3.0? We just need a powerful function type inference

Filed under: Agile Programming, C#, Functional Programming — Tags: , — Sadache @ 10:54 pm

DSC_0150-

The big milestone of C# 3.0 got me thinking, what can we do more to improve the language. After a lot of interesting discussions an debates I got with people that care about the subject, I realized that it can be really interesting to remove some unimportant complexity of the language. This can be done by abstracting and generalizing some concepts. An example that I thought of for this blog post is Methods.

(more…)

Older Posts »

Powered by WordPress