There a different programming paradigms:
- imperative programming
- class oriented programming (known officially as object oriented programming)
- functional programming
- composite oriented programming
Imperative Programming
- Motto: "First do this and next do that"
- "Procedural programming"
- Language representatives: Fortran, Algol, Pascal, Basic, C
Class Oriented Programming
- Motto: "Divide the World into Classes"
- data as well as operations are encapsulated in classes
- focus is on classes not on objects (only classes implement interfaces, not objects)
- Language representatives: C++, C#, Java
Functional Programming
- Motto: "Evaluate an expression and use the resulting value for something"
- Language representatives: Erlang
Why functional programming matters?
- Hot Code Deployment
- Debugging
- Modularization
- Concurrency
- Machine Assisted Proofs and Optimizations
- Unit Testing
What is functional programming about?
- Higher Order Functions
- Currying
- Lazy Evaluation
- Closures
Links:
http://www.md.chalmers.se/~rjmh/Papers/whyfp.html
http://www.defmacro.org/ramblings/fp.html
Composite Oriented Programming
- Motto: "Behavior depends on Context"
- Language representatives: Qi4J
Composite Oriented Programming builds on some principles that are not addressed by Object Oriented Programming at all.
- Behavior depends on Context
- Decoupling is a virtue
- Business Rules matters more.
- Classes are dead, long live interfaces.
http://www.qi4j.org/2.html
Kommentare (1)
12. Jan 2008
Jonas sagt:
Nice Blog Entry for Qi4j http://stephan.reposita.org/archives/2008/01/09/qi4j-th...Nice Blog Entry for Qi4j http://stephan.reposita.org/archives/2008/01/09/qi4j-the-next-java-forget-scala/
Kommentar hinzufügen