Learn More
Aspect-oriented programming (AOP) allows programmers to modularize the implementation of crosscutting concerns. AspectJ and related languages achieve this with a linguistic approach, which enables different modules of the program to have a crosscutting structural relationship.In fluid AOP the development environment temporarily shifts a program to an(More)
The design of codes that satisfy combinatorial constraints is motivated by the problem of sending information reliably over a noisy channel and has been studied for a long time. There are lots of studies on binary code design where the alphabet consists of 2 letters {0, 1}. Recently, designing codes over 4 letters alphabet, which is motivated by the task of(More)
In this paper, I present a picture of what software development will be like ten years down the road. I believe software development will continue to move towards higher level of abstraction, closer to human languages and communication. I envision a seamless integration of aspect oriented programming, domain specific languages, generative programming and(More)
  • 1