Team. The leader of the local JAVA User's Group (JUG) provided us with some resources on Source Code Management (SCM). He suggested that using a Git repository might be a better choice than Subversion (SVN). Java.net offers Git as an option for the repository so we will consider this over the next couple of weeks.
We hope that this project has sparked some ideas which you might find useful in your own projects. Reflection is a very powerful feature of JAVA, and we have only used a small portion of its strength when dynamically invoking methods.
"Reflection is commonly used by programs which require the ability to
examine or modify the run-time behavior of applications running in the
Java virtual machine. This is a relatively advanced feature and should
be used only by developers who have a strong grasp of the fundamentals
of the language. With that caveat in mind, reflection is a powerful
technique and can enable applications to perform operations which would
otherwise be impossible."
- Oracle Learning Trail on Reflection
http://docs.oracle.com/javase/tutorial/reflect/
There is a computational overhead associated with reflection and dynamic invocation in JAVA. This is true with all compiled languages which support dynamic invocation such as C/C++, but the benefits of the CABOOSE approach is shorter development cycles, simpler application maintenance, and lesser developer learning curves. These are simply the trade-offs.
This performance penalty will also be in present in the compiled C# when we develop our .NET port. But, based upon how one dynamically invokes a method in the interpreted scripting languages: PERL, PHP, and Python, this computational overhead might not be as "great".
Remember: Hunt. Peck. Think...Enjoy This Day...La-La.
No comments:
Post a Comment