JaroslavTulach: /* Harmony */ - 2019-10-02 19:52:47

Harmony

←Older revision Revision as of 19:52, 2 October 2019
Line 29: Line 29:
Of course, there is much more people using these [[annotation]]s than writing their own. Still writing own shall be simplified. How? Via [[AOP]]! If there was an easy way to connect [[annotation]] with an aspect (for example .aspect file), one could get benefits of both worlds - end users would have all the comfort of [[annotation]]s and providers could use higher level language to define what an annotation is supposed to mean. This is well balanced path that maximizes [[cluelessness]] of all parties. As such it fully deserves [[Good Technology]] name. This is the style majority of us will code in short future. Old [[AOP]] is dead, long live [[annotation]] based [[AOP]]!
Of course, there is much more people using these [[annotation]]s than writing their own. Still writing own shall be simplified. How? Via [[AOP]]! If there was an easy way to connect [[annotation]] with an aspect (for example .aspect file), one could get benefits of both worlds - end users would have all the comfort of [[annotation]]s and providers could use higher level language to define what an annotation is supposed to mean. This is well balanced path that maximizes [[cluelessness]] of all parties. As such it fully deserves [[Good Technology]] name. This is the style majority of us will code in short future. Old [[AOP]] is dead, long live [[annotation]] based [[AOP]]!
-
I have seen a demonstration of [http://www.postsharp.org/ PostSharp] for .Net recently. It provides this kind of perfect harmony between users (via [[annotation]]s) and aspect developers. When I saw it I was amazed. This is how [[AOP]] shall look like! Does anyone knows if there actually is some framework in [[Java]] that works this way?
+
I have seen a demonstration of [http://www.postsharp.net PostSharp] for .Net recently. It provides this kind of perfect harmony between users (via [[annotation]]s) and aspect developers. When I saw it I was amazed. This is how [[AOP]] shall look like! Does anyone knows if there actually is some framework in [[Java]] that works this way?
<comments/>
<comments/>

JaroslavTulach: /* AspectJ */ - 2010-05-07 07:50:30

AspectJ

←Older revision Revision as of 07:50, 7 May 2010
Line 33: Line 33:
<comments/>
<comments/>
-
== AspectJ ==
+
== [[AspectJ]] ==
-
There is a pretty good explanation by ''btilford'' in the [[Talk:AOP|comments section]] showing that ''AspectJ'' can be used to define an [[annotation]] and provide an aspect that processes methods annotated by such [[annotation]]. So the only thing I am missing is integration with [[AnnotationProcessor]]s - e.g. just by running compiler, also process these [[annotation]]s. This does not seem to be possible now, but as [[Talk:AOP|Nicolas Dumoulin explains]] with [[maven]] it is very easy to setup a project to use aspects. Thus we are back where we started: [[Java]] is again ahead of any other competition.
+
There is a pretty good explanation by ''btilford'' in the [[Talk:AOP|comments section]] showing that [[AspectJ]] can be used to define an [[annotation]] and provide an aspect that processes methods annotated by such [[annotation]]. So the only thing I am missing is integration with [[AnnotationProcessor]]s - e.g. just by running compiler, also process these [[annotation]]s. This does not seem to be possible now, but as [[Talk:AOP|Nicolas Dumoulin explains]] with [[maven]] it is very easy to setup a project to use aspects. Thus we are back where we started: [[Java]] is again ahead of any other competition.

JaroslavTulach: /* Harmony */ - 2009-11-21 12:52:20

Harmony

←Older revision Revision as of 12:52, 21 November 2009
Line 32: Line 32:
<comments/>
<comments/>
 +
 +
== AspectJ ==
 +
 +
There is a pretty good explanation by ''btilford'' in the [[Talk:AOP|comments section]] showing that ''AspectJ'' can be used to define an [[annotation]] and provide an aspect that processes methods annotated by such [[annotation]]. So the only thing I am missing is integration with [[AnnotationProcessor]]s - e.g. just by running compiler, also process these [[annotation]]s. This does not seem to be possible now, but as [[Talk:AOP|Nicolas Dumoulin explains]] with [[maven]] it is very easy to setup a project to use aspects. Thus we are back where we started: [[Java]] is again ahead of any other competition.

JaroslavTulach: /* Harmony */ - 2009-11-18 14:47:16

Harmony

←Older revision Revision as of 14:47, 18 November 2009
Line 27: Line 27:
== Harmony ==
== Harmony ==
-
Of course, there is much more people using these [[annotation]]s than writing their own. Still writing own shall be simplified. How? Via [[AOP]]! If there was an easy way to connect [[annotation]] with an aspect (for example .aspect file), one could get benefits of both worlds - end users would have all the comfort of [[annotation]]s and providers could use higher level language to define what an annotation is supposed to mean. This is well balanced path that maximizes [[cluelessness]] of all parties. As such it fully deserve [[Good Technology]] name. This is the style majority of us will code in short future. Old [[AOP]] is dead, long live [[annotation]] based [[AOP]]!
+
Of course, there is much more people using these [[annotation]]s than writing their own. Still writing own shall be simplified. How? Via [[AOP]]! If there was an easy way to connect [[annotation]] with an aspect (for example .aspect file), one could get benefits of both worlds - end users would have all the comfort of [[annotation]]s and providers could use higher level language to define what an annotation is supposed to mean. This is well balanced path that maximizes [[cluelessness]] of all parties. As such it fully deserves [[Good Technology]] name. This is the style majority of us will code in short future. Old [[AOP]] is dead, long live [[annotation]] based [[AOP]]!
I have seen a demonstration of [http://www.postsharp.org/ PostSharp] for .Net recently. It provides this kind of perfect harmony between users (via [[annotation]]s) and aspect developers. When I saw it I was amazed. This is how [[AOP]] shall look like! Does anyone knows if there actually is some framework in [[Java]] that works this way?
I have seen a demonstration of [http://www.postsharp.org/ PostSharp] for .Net recently. It provides this kind of perfect harmony between users (via [[annotation]]s) and aspect developers. When I saw it I was amazed. This is how [[AOP]] shall look like! Does anyone knows if there actually is some framework in [[Java]] that works this way?
<comments/>
<comments/>

JaroslavTulach at 14:44, 18 November 2009 - 2009-11-18 14:44:58

←Older revision Revision as of 14:44, 18 November 2009
Line 1: Line 1:
-
[[wikipedia::Aspect-oriented_programming|Aspect Oriented Programming]] can be analyzed from various angles. Official explanation is available at [[wikipedia::Aspect-oriented_programming|wikipedia]]. This page offers my own thoughts. Read them or listen or [[Media:Aop.mp3|download]] our podcast: [[Image:Aop.mp3]]
+
[[wikipedia::Aspect-oriented_programming|Aspect Oriented Programming]] can be analyzed from various angles. Official explanation is available at [[wikipedia::Aspect-oriented_programming|wikipedia]]. This page offers my own thoughts. Read them or [[Media:Aop.mp3|download]] or listen to our podcast: [[Image:Aop.mp3]]
== [[Bytecode]] patching ==
== [[Bytecode]] patching ==

JaroslavTulach at 14:17, 18 November 2009 - 2009-11-18 14:17:28

←Older revision Revision as of 14:17, 18 November 2009
Line 1: Line 1:
-
[[wikipedia::Aspect-oriented_programming|Aspect Oriented Programming]] can be analyzed from various angles. Official explanation is available at [[wikipedia::Aspect-oriented_programming|wikipedia]]. This page offers my own thoughts.
+
[[wikipedia::Aspect-oriented_programming|Aspect Oriented Programming]] can be analyzed from various angles. Official explanation is available at [[wikipedia::Aspect-oriented_programming|wikipedia]]. This page offers my own thoughts. Read them or listen or [[Media:Aop.mp3|download]] our podcast: [[Image:Aop.mp3]]
== [[Bytecode]] patching ==
== [[Bytecode]] patching ==

JaroslavTulach: /* Harmony */ - 2009-11-13 09:25:41

Harmony

←Older revision Revision as of 09:25, 13 November 2009
Line 29: Line 29:
Of course, there is much more people using these [[annotation]]s than writing their own. Still writing own shall be simplified. How? Via [[AOP]]! If there was an easy way to connect [[annotation]] with an aspect (for example .aspect file), one could get benefits of both worlds - end users would have all the comfort of [[annotation]]s and providers could use higher level language to define what an annotation is supposed to mean. This is well balanced path that maximizes [[cluelessness]] of all parties. As such it fully deserve [[Good Technology]] name. This is the style majority of us will code in short future. Old [[AOP]] is dead, long live [[annotation]] based [[AOP]]!
Of course, there is much more people using these [[annotation]]s than writing their own. Still writing own shall be simplified. How? Via [[AOP]]! If there was an easy way to connect [[annotation]] with an aspect (for example .aspect file), one could get benefits of both worlds - end users would have all the comfort of [[annotation]]s and providers could use higher level language to define what an annotation is supposed to mean. This is well balanced path that maximizes [[cluelessness]] of all parties. As such it fully deserve [[Good Technology]] name. This is the style majority of us will code in short future. Old [[AOP]] is dead, long live [[annotation]] based [[AOP]]!
-
I have seen a demonstration of [http://www.postsharp.org/ PostSharp] for .Net recently. It provides this kind of perfect harmony between users (via [[annotation]]s) and aspect developers. When I saw it I was amazed. This is how [[AOP]] shall look like! Does anyone knows if there actually is some framework in [[Java]] that work in this way?
+
I have seen a demonstration of [http://www.postsharp.org/ PostSharp] for .Net recently. It provides this kind of perfect harmony between users (via [[annotation]]s) and aspect developers. When I saw it I was amazed. This is how [[AOP]] shall look like! Does anyone knows if there actually is some framework in [[Java]] that works this way?
<comments/>
<comments/>

JaroslavTulach: /* Bytecode patching */ - 2009-11-13 07:09:19

Bytecode patching

←Older revision Revision as of 07:09, 13 November 2009
Line 3: Line 3:
== [[Bytecode]] patching ==
== [[Bytecode]] patching ==
-
There used to be a time when people went nuts on hearing the phrase ''[[bytecode]] manipulation''. That's no longer the case. People aren't afraid to execute [[bytecode]] different to that produced by the [[Java]] compiler anymore. However, if you tell them to go directly into the .class file and manipulate the bits, the fear returns. Why is that? I believe this is due to [[AOP]]. [[AOP]] make [[bytecode]] changes normal, without requiring understanding of the class file format. In fact, [[AOP]] can be seen as a high level language for [[bytecode]] manipulation. It is not as powerful as making changes to the .class file directly, yet it is approachable to the masses and generally understandable. This perfectly illustrates the principle that good abstractions make everything more usable. The principle is true in the world of [[bytecode]] manipulation as well as in that of [[API]] design.
+
There used to be a time when people went nuts on hearing the phrase ''[[bytecode]] manipulation''. That's no longer the case. People aren't afraid to execute [[bytecode]] different to that produced by the [[Java]] compiler anymore. However, if you tell them to go directly into the .class file and manipulate the bits, the fear returns. Why is that? I believe this is due to [[AOP]]. [[AOP]] makes [[bytecode]] changes normal, without requiring understanding of the class file format. In fact, [[AOP]] can be seen as a high level language for [[bytecode]] manipulation. It is not as powerful as making changes to the .class file directly, yet it is approachable to the masses and generally understandable. This perfectly illustrates the principle that good abstractions make everything more usable. The principle is true in the world of [[bytecode]] manipulation as well as in that of [[API]] design.
== Hard too use ==
== Hard too use ==

JaroslavTulach: /* Harmony */ - 2009-11-12 21:09:59

Harmony

←Older revision Revision as of 21:09, 12 November 2009
Line 29: Line 29:
Of course, there is much more people using these [[annotation]]s than writing their own. Still writing own shall be simplified. How? Via [[AOP]]! If there was an easy way to connect [[annotation]] with an aspect (for example .aspect file), one could get benefits of both worlds - end users would have all the comfort of [[annotation]]s and providers could use higher level language to define what an annotation is supposed to mean. This is well balanced path that maximizes [[cluelessness]] of all parties. As such it fully deserve [[Good Technology]] name. This is the style majority of us will code in short future. Old [[AOP]] is dead, long live [[annotation]] based [[AOP]]!
Of course, there is much more people using these [[annotation]]s than writing their own. Still writing own shall be simplified. How? Via [[AOP]]! If there was an easy way to connect [[annotation]] with an aspect (for example .aspect file), one could get benefits of both worlds - end users would have all the comfort of [[annotation]]s and providers could use higher level language to define what an annotation is supposed to mean. This is well balanced path that maximizes [[cluelessness]] of all parties. As such it fully deserve [[Good Technology]] name. This is the style majority of us will code in short future. Old [[AOP]] is dead, long live [[annotation]] based [[AOP]]!
-
I have seen a demonstration of [http://www.postsharp.org/ PostSharp] for .Net recently. It provides this kind of perfect harmony between users (via [[annotation]]s) and aspect developers. When I saw it I was amazed. This is how [[AOP]] shall look like! Does anyone knows is there actually is some framework in [[Java]] that work in such way?
+
I have seen a demonstration of [http://www.postsharp.org/ PostSharp] for .Net recently. It provides this kind of perfect harmony between users (via [[annotation]]s) and aspect developers. When I saw it I was amazed. This is how [[AOP]] shall look like! Does anyone knows if there actually is some framework in [[Java]] that work in this way?
<comments/>
<comments/>

JaroslavTulach: /* Harmony */ - 2009-11-12 21:09:05

Harmony

←Older revision Revision as of 21:09, 12 November 2009
Line 27: Line 27:
== Harmony ==
== Harmony ==
-
Of course, there is much more people using these [[annotation]]s than writing their own. Still writing own shall be simplified. How? Via [[AOP]]! If there was an easy way to connect [[annotation]] with an aspect (for example .aspect file), one could get benefits of both worlds - end users would have all the comfort of [[annotation]]s and providers could use higher level language to define what an annotation is supposed to mean.
+
Of course, there is much more people using these [[annotation]]s than writing their own. Still writing own shall be simplified. How? Via [[AOP]]! If there was an easy way to connect [[annotation]] with an aspect (for example .aspect file), one could get benefits of both worlds - end users would have all the comfort of [[annotation]]s and providers could use higher level language to define what an annotation is supposed to mean. This is well balanced path that maximizes [[cluelessness]] of all parties. As such it fully deserve [[Good Technology]] name. This is the style majority of us will code in short future. Old [[AOP]] is dead, long live [[annotation]] based [[AOP]]!
-
This is well balanced path that maximizes [[cluelessness]] of all parties. As such it qualifies for [[Good Technology]] classification. I have seen a demonstration of [http://www.postsharp.org/ PostSharp] for .Net recently. It provides this kind of perfect harmony between users (via [[annotation]]s) and aspect developers. When I saw it I was amazed. This is how [[AOP]] shall look like! Does anyone knows is there actually is some framework in [[Java]] that work in such way?
+
I have seen a demonstration of [http://www.postsharp.org/ PostSharp] for .Net recently. It provides this kind of perfect harmony between users (via [[annotation]]s) and aspect developers. When I saw it I was amazed. This is how [[AOP]] shall look like! Does anyone knows is there actually is some framework in [[Java]] that work in such way?
<comments/>
<comments/>