1. So you want to learn Object-Oriented Programming?
Getting Started
- Get Rumbaugh’s OMT book: Object-Oriented Modeling and Design </LI>
- Get Gamma’s Design Patterns: Elements of Reusable Object-Oriented Software
- Get Java; <A HREF=”http://java.sun.com/“>java.sun.com</A>
- Java?
Why Java?
- Fabulous OO language
- Free for the download from Sun
- Will take over application development as the platform of choice
Java Features
- Simple
- Object-Oriented
- Robust
- Secure
- Interpreted
- Dynamic
- Portable
- Neutral
- Threads
- Garbage Collection
- Exceptions
- Performance
What about Visual Basic or PowerBuilder?
- Aren’t they Object-Oriented?
- Barely
- The issue is they are tightly coupled to their private GUI model
- You couldn’t write a server
- They are incomplete as languages
- You can’t have an abstract class unrelated to the GUI
What about C++?
- Messy
- Preprocessor
- Pointers and References
- Destructors
- Header vs. Body issue
- Templates
- No root class for all objects
- Usually Platform-specific
- MS Visual C++ for MS-Windows
- Symantec TCL for Macintosh
- YACL for Unix