![]() |
![]() |
![]() |
![]() |
Java Cookbook: Porting C++ to JavaBackground InformationIntroduction, Basics, Next Steps, Well-Mannered Objects, Esoterica, Background, Index The following sections provide background information, plus an index to topics.
|
Taligent (David Goldsmith) |
Taligent's Guide to Designing Programs: Well-Mannered Object-Oriented
Design in C++ Addison-Wesley, 1994 ISBN: 0201408880 |
Erich Gamma, Richard Helm, Ralph Johnson, John Ulissides | Design Patterns: Elements of Reusable Object-Oriented Software Addison-Wesley, 1994 ISBN: 0201633612 |
Scott Meyers | Effective C++: 50 Specific Ways to Improve Your Programs and Designs Addison-Wesley, 1992 ISBN: 0201563649 |
Dr. Mark Davis is the director of the Core Technologies department at Taligent, Inc, a wholly owned subsidiary of IBM. Mark co-founded the Unicode effort, and is the president of the Unicode Consortium. He is a principal co-author and editor of the Unicode Standard, Version 1.0 and the new Version 2.0.
Mark has considerable expertise in both management and software development. His department encompasses Operating System Services, Text, International, Web Server Components, and Technical Communications. Technically, he specializes in object-oriented programming and in the architecture and implementation of international and text software: ranging from the years he spent programming in Switzerland, to co-authoring the Macintosh KanjiTalk and the Macintosh Script Manager (which later became WorldScript), to authoring the Arabic and Hebrew Macintosh systems, and most recently to architecting the CommonPoint international frameworks and the bulk of the Java 1.1 international libraries.
Mark has a doctorate from Stanford University, and is an avid reader of Jane Austin and follower of NPR's "Car Talk." This may help to explain the section titles.
The material in this article is based on collective years of experience at Taligent with the development of large object-oriented projects, plus more recent experience in porting from C++ to Java--and back again. The article itself was written within a very short time frame; my special thanks to the following individuals (in chronological order) whose efforts made this possible:
I hasten to add that these contributors have all reviewed different drafts of the document, and that they bear no responsibility for errors in the final version!
We envision continuing to develop articles of this flavor. If you have any criticisms, suggestions, or encouragement, please email cookbook@taligent.com.
The following is an alphabetical list of the topics covered in this paper. Although most of the topics are relatively independent, the ones in Basics and Well-Mannered Objects may need to be read the first time in sequence.
[1] | Unfortunately, Object defines equals and hashCode to be public. A better solution would have been to have followed the pattern of Cloneable by defining:
Well, that's water under the bridge at this point. The only improvement to Java that would not break backward compatibility would be to at least allow equals and hashCode to throw a MethodNotSupportedException. |
[2] | By the way, I'm not one of them. For us, large-scale introduction of C++ templates were an absolute, unmitigated disaster, costing our project hundreds of person-months to manage the code size and interface problems they introduced. If JavaSoft introduces templates (a.k.a. generics), I sincerely hope they don't repeat history! |
[3] | Brackets are used, since superscripts may not show up on some browsers. |
[4] | If you do print, be forewarned that certain unnamed version 3.0 browsers often:
|
[5] | Some classes do not need to be in their own files. Also, it is better form to import by class name rather than importing a whole package; see JLS for more information on both of these topics. |
Jan 3, 1997 | |
Jan 23, 1997 |
|
Mar 25, 1997 |
|
Introduction,
Basics, Next Steps,
Well-Mannered Objects, Esoterica,
Background, Index
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
||||
Products | Object Resources | In the News | Company Info | Search |
If you encounter problems with this service please contact
webmaster@taligent.com.
© Copyright. All rights reserved. Taligent, Inc., IBM Corp. |
||||