Friday, April 29, 2005

Aspect-Oriented Programming Considered as Harmful as GOTO

Reading yesterday news I remained rather shocked to find this link to a Forrester research

From the article: Aspect-oriented programming (AOP) is intended to address common problems that object-oriented programming (OOP) doesn't address well, plus some problems that OOP itself created. However, AOP is a risky solution: It is a very generic mechanism for solving some very specific concerns and has been likened to a kind of "GOTO" statement for OOP. Like GOTO, it can cause more harm than good.

The research seems based on two papers from the University of Passau:

Dijkstra in his letter observed: " ... that the quality of programers is indirectly proportional to the amount of Go To statemets they use in their programs.". As currently most AOP research is not about methodolgy but about more dynamicity in the future this might be rephrased to " ... indirectly proportional to the amount of advice they use in their programs.

Aspect oriented programming has been proposed as a way to improve modularity of software systems by allowing encapsulation of cross-cutting concerns. To do so, aspects specify where new functionality should apply using pointcuts. Unfortunately todays mainstream aspect oriented languages suffer from pointcut languages where pointcut declarations result in a high coupling between aspect and base system. Additionally, these pointcuts are fragile, as non-local changes easily may break pointcut semantics. These properties are a major obstacle for program evolution of aspect oriented software. This paper introduces a pointcut delta analysis to deal with this problem.

This research has been widley commented on aosd-discuss.

Friday, April 22, 2005

The first 40 years of Moore's Law



His famous dictum turned 40 by April 19.

Intel last week offered $10,000 for a mint-condition copy of the April 19, 1965, issue of Electronics magazine. In that issue, Gordon Moore declared the integrated circuit was the future of electronics and predicted the rate of improvement for the semiconductor industry.

At least one copy is already missing from the University of Illinois.

He spoke to reporters recently about the electronics industry's progress, artificial intelligence, the emergence of China and the early days of the industry.

Is there anything coming down the pike that could replace silicon?
Moore: Some of these other things, quantum dots and nanotechnology and that kind of thing--I will admit to being a skeptic around those things replacing mainstream digital silicon. You can clearly make a tiny little transistor by these techniques with potentially great high frequency, but can you connect a billion of them together? That's really the problem; it's not making a small transistor. I view the technology that has developed around integrated circuits to be a fundamental way of building complex microstructures. Rather than being replaced, it's actually infiltrating a lot of other fields. You have MEMS and gene chips. Some of these microfluidic

How many times did people predict the end of Moore's Law, and how many times were you actually concerned it was going to happen?
Moore: It seems to me in the last 10 years I read a lot of articles that did. There was a time when I believed one micron was probably going to be the limit. We went through that so fast it wasn't a barrier at all. Then I thought a quarter of a micron might be, but it didn't stop it. Now we're below a tenth of a micron. Heck, we're doing one-sixty-fifth of a micron, and I don't see it stopping, short term anyhow.

His presentation for IEEE International Solid-State Circuits Conference : No Exponential is Forever … but We Can Delay "Forever" (Acrobat PDF file, 2005 KB)



Monday, April 18, 2005

AJAX, Part 1: resources

AJAX: short for "Advanced Javascripting and XML" or "Asynchronous JavaScripting and XML"
XMLHTTPRequest Libraries and Code Samples:
  • JSON-RPC-Java: JSON-RPC-Java is a key piece of Java web application middleware that allows JavaScript DHTML web applications to call remote methods in a Java Application Server (remote scripting) without the need for page reloading (as is the case with the vast majority of current web applications). It enables a new breed of fast and highly dynamic enterprise Java web applications (using similar techniques to Gmail and Google Suggests).
  • XMLHttpRequest Demo: 3 demos in one using Borges for the back end.

Monday, April 11, 2005

Tagging vs Searching

Looking up the word "tiger" on Virgilio (or other search engines :) you get a list of results throws together sites about the professional golfer Tiger Woods, the Mac OS X operating system, or the last Java 2 Platform Standard Edition (J2SE) 1.5 —code named "Tiger". In order to force a context , you can refine the search appending a further word, e.g. "tiger golf", "tiger apple" or "tiger java". Anyway, you probably have to sift through pages of irrilevant results to find what you want.

A different approach to avoid such a confusion is let users categorize their Web resources (link, photos, ...) by category, title, interest ... using a tag.

This is the approach of
del.icio.us, the Web site opened at the end of 2003 by the 30-years-old New Yorker software programmer Joshua Schachter. With del.icio.us people are able to tag any link they choose for easy retrival later and to share easily with other people. Today more than 85,000 people are using the free service. I tried the service finding Web resources about Ajax, a new rising Web Technology and I have been very impressed. Comparison with traditional search engines is even not practicable for this topic.

Other interesting examples are Technorati.com and Flickr.com. The latter, a year-old photo-sharing service, has been
bought by the giant Yahoo! Inc for an undisclosed sum in March with its 420,000 subscribers, while the former, a blog index, offers a set of interesting services such as a pluggable searchlet for searching information inside blogs (as this :).