User loginNavigation |
OOPDesign Patterns 15 Years Later: An Interview with Erich Gamma, Richard Helm, and Ralph JohnsonLarry O'Brien recently interviewed three of the Gang of Four about their seminal work on patterns. Larry teased the interview's readers for awhile, but he eventually asked the pressing question that most language designers ask and debate about patterns ;) Here it is:
Note: At the end of the interview, Erich says that they tried refactoring the patterns into new categories in 2005. The draft breakdown he provides (accidentally???) takes out Memento, Chain of Responsibility, Bridge, Adapter, and Observer.
UPDATE: The Gang of Four have an accompanying article for the interview that they wrote as a group. See A Look Back: Why We Wrote Design Patterns: Elements of Reusable Object-Oriented Software. By Z-Bo at 2009-10-23 23:32 | Critiques | Misc Books | OOP | 25 comments | other blogs | 25374 reads
Objects as Modules in NewspeakIn Objects as Modules in Newspeak, Gilad Bracha et al. describe a way to avoid the coupling in inherent constructs found in many OO languages such as a global namespace, "static" stateful variables, globally accessible object constructors, etc.
There's a lot in here that should be of interest to LtUers interested in object capability based security. Iterators Must GoAndrei Alexandrescu: Iterators Must Go, BoostCon 2009 keynote. Presents a simple yet far-reaching replacement for iterators, called ranges, and interesting "D" libraries built on it: std.algorithm and std.range.
(Related: SERIES, enumerators, SRFI 1, and The Case For D by the same author) Concepts Get Voted Off The C++0x IslandOn Monday, July 13th the C++ standards committee voted "Concepts" out of consideration for C++0x.
Edit: For more on the meeting see "The View (or trip report) from the July 2009 C++ Standard Meeting" part 1 and part 2 Edit 2: Bjarne Stroustrup on The C++0x "Remove Concepts" Decision. By James Iry at 2009-07-20 15:33 | General | OOP | Type Theory | 37 comments | other blogs | 37113 reads
Factor: an extensible interactive languageFactor: an extensible interactive language, Google Tech Talk by Slava Pestov.
By Manuel J. Simoni at 2008-10-29 22:19 | Functional | Meta-Programming | OOP | 10 comments | other blogs | 24612 reads
Verifiable Functional Purity in Java
Verifiable Functional Purity in Java. Matthew Finifter, Adrian Mettler, Naveen Sastry, and David Wagner.
To appear at 15th ACM Conference on Computer and Communication Security (CCS 2008).
Proving that particular methods within a code base are functionally pure - deterministic and side-effect free - would aid verification of security properties including function invertibility, reproducibility of computation, and safety of untrusted code execution. Until now it has not been possible to automatically prove a method is functionally pure within a high-level imperative language in wide use such as Java. We discuss a technique to prove that methods are functionally pure by writing programs in a subset of Java called Joe-E; a static verifier ensures that programs fall within the subset. In Joe-E, pure methods can be trivially recognized from their method signature. The paper includes a nice discussion of security benefits that can stem from being able to identify pure functions (of course, it is not obvious that guarantees at the programming language level are maintained at the run time level). I am sure many here have opinions about whether it makes more sense to try to graft purity on an imperative language, exposing it as an added feature, or to move programmers to functional languages.. By Ehud Lamm at 2008-09-17 22:32 | Functional | OOP | Software Engineering | Type Theory | 1 comment | other blogs | 12540 reads
UpgradeJ: Incremental Typechecking for Class UpgradesUpgradeJ: Incremental Typechecking for Class Upgrades, Gavin Bierman, Matthew Parkinson and James Noble.
There has been an energetic discussion of API evolution in the forum, so when I saw this paper I thought it might be of interest to LtU readers. By neelk at 2008-08-31 12:55 | OOP | Semantics | Software Engineering | 2 comments | other blogs | 7086 reads
Programming -- Principles and Practice Using C++I just noticed Stroustrup is about to publish this introductory book. I am stunned on many levels, so I will keep my comments short. In general, this seems like HTDP for C++, that is it is not a comprehensive text about C++ or about CS in general, but rather one aimed at teaching the basics of software construction. This is a good idea, and many have written books with similar goals in the past, of course. I wonder what are the chances that any university not employing Stroustrup will switch to C++ for their introductory course (if they are not using it already). It seems to me everyone is teaching Java... My second observation is that a large fraction of the book is devoted to STL. Which a good thing on many levels. Some of the topics may even be explained functionally. My third observation is that even given the intended audience and goals the ToC seems really sparse. I wonder if that's all the book is going to contain. By Ehud Lamm at 2008-06-13 06:29 | OOP | Teaching & Learning | 63 comments | other blogs | 27686 reads
Eriskay: a Programming Language Based on Game SemanticsEriskay: a Programming Language Based on Game Semantics. John Longley and Nicholas Wolverson. GaLoP 2008.
It's always interesting to see a new programming language strongly based on some mathematical formalism, because a language gives you a concrete example to match the abstract semantic definitions to, and game semantics is something that I've been curious about for a while. One particularly interesting feature is that the core language has a restricted model of the heap, which controls the use of higher-order store in such a way that cycles are prohibited. This is enforced with a notion called "argument safety", which essentially prohibits storing values of higher type into fields which come from "outside" the object. This is somewhat reminiscent of the ownership disciplines found in OO verification systems like Boogie, which enforce a tree structure on the ownership hierarchy. It would be very interesting to find out whether this resemblance is a coincidence or not. (Samson Abramsky has some lecture notes on game semantics for the very curious.) Jumbala : An Action Language for UML State MachinesJumbala : An Action Language for UML State Machines, Juro Dubrovin, Master's Thesis.
This is interesting because it is another example of efforts from the modeling community towards combining models and programming languages to provide a single compilable specification of software. Some of these efforts are being coordinated using the term model-driven architecture (MDA). [edit: fixed formatting issues] By cdiggins at 2008-02-05 19:17 | OOP | Software Engineering | 4 comments | other blogs | 13915 reads
|
Browse archives
Active forum topics |
Recent comments
22 weeks 6 days ago
22 weeks 6 days ago
22 weeks 6 days ago
45 weeks 17 hours ago
49 weeks 2 days ago
50 weeks 6 days ago
50 weeks 6 days ago
1 year 1 week ago
1 year 6 weeks ago
1 year 6 weeks ago