Arhivă

Arhivă pentru Iulie, 2008

Modifiability: Or Is There Design In Agility

Conference: Many people assume that agile methods mean an absence of design. Design still happens in agile projects, but it shifts from an up-front phase to a continual evolution. Design decisions should be left to the last responsible moment, but some design decisions do need to be made at the start of a project. Martin Fowler explores this topic through a panel discussion of design in an agile context.

Very good conference. 5 Software Architects talk about how to design software in a agile development.

Quote: “Classes need to keep secrets, you need to start private, work on that and then get protected when you absolutely need to. Work protected until you absolutely need to go public.”

Quote: “Test driven applications tend to organize themselves in a modular fashion. You cannot have unit testing without the ability to mock and stub objects. This ability and this need generates a better design. I use dependency injection due to this. ”

http://www.infoq.com/presentations/modifiability-fowler

Share/Save/Bookmark

Categories: Tech Tags: , , , ,

Language Oriented Programming : the new Paradigm?

Iulie 2nd, 2008 Alexandru Bordei 1 comentariu

Here’s an interesting article about a new paradigm in programming. It comes under different names : Intentional programming, MDA, generative programming, Language Oriented Programming.

This last name is suggested by Sergey Dmitriev (cofounder and CEO of JetBrains Inc., makers of the IntelliJ IDEA Java IDE). His opinion is that developers are currently restricted by their dependency on programming languages and developer tools. A solution to this can be defining DSLs (Domain Specific Languages), but they also have the disadvantage of not being general enough.

So he suggests that the solution could be a Language Workbench that allows creating as many DSLs as needed. The use of a DSL makes the mapping of the conceptual model solution to the program source code a lot more easier. In addition to that, it allows domain experts (non-programmers) to create programs using a very descriptive language created for that specific domain.

Read more here.

Share/Save/Bookmark