View this PageEdit this PageAttachments to this PageHistory of this PageHomeRecent ChangesSearch the SwikiHelp Guide
Hotspots: Admin Pages | Turn-in Site |
Current Links: Cases Final Project Summer 2007

Discussion 1 - David Sponaas

David Sponaas
gte611z

Article Title: Generic Programming for Scientific Computing in C++, Java, and C#
Article Location: http://www.springerlink.com/media/LHE17QHQXP1TWHE3HK91/Contributions/6/X/B/J/6XBJDVBKYKCNP45H.pdf

The article I chose to review for the discussion dealt with comparing the efficiency of C#, Java, and C++ to implement programs using the Janus framework, a framework for developing scientific applications. Whereas C++ has supported generic programming for some time now, C# and Java were just releasing this ability at the time this article was published. Java’s implementation, unlike those of C# and C++, does not allow the use of primitive types in generic classes and methods. This has a negative effect on the level of efficiency that can be reached with Java in creating generic classes and methods. Conversely, the C# implementation allows for exact runtime types and dynamic linking, providing for a higher level of efficiency. The C# generics, however, lack the ability to create generic collection classes, inhibiting their usability. In the benchmarks, the Java implementation could achieve high levels of performance using the buitlin types but as these builtin types cannot be used in generic classes and methods, this is of little use for the particular test. For the C# benchmarks, the testers noticed little difference between the generic and non-generic implementations. This they attributed to the particular CLI implementation they used.

Link to this Page