Last updated: December 05, 1996
Because OO info is increasingly populating the web and several excellent OO search engines and compilation pages have recently appeared, I feel today is more necessary than ever to offer an accurate set of commented links representing the core of every OO segment (languages, methods, etc.) from a critic point of view. So I decided to reexamine by hand all the links in this page, modify the comments, delete some entries, add several new links and revise the page structure. Because this is hard work (I have to read several hundred of web pages!) I'll be incorporating the changes during 1996 in order to get the new OOPage at January-97, but I'll post the intermediate results. Of course your help (about new links or extinct ones) would be greatly appreciated. Thanks for reading this page.
You will find here a lot of links to object-oriented info, as well as comments on object-oriented books, products, object databases, articles, etc. If looking for FAQs or any kind of usenet info not cited in this page, you should try the Usenet Searching Tools list. The index follows:
- ACM's Ada 95 Information, for obtaining lots of info about Ada 95, the first internationally standardized object-oriented programming language (BTW, an ISO, ANSI and FIPS standard). You can get the Ada 95 Reference Manual and jump to the Home of the Brave Ada Programmers, your hot link to the Ada world.
- The Ada IC (Information Clearinghouse) Home Page brings you an ordered index to access to lots of Ada Resources, including those related to Java bytecode generation, success stories, tools, libraries, compilers and a free subscription to AdaIC News. Hmmm, Ada isn't an US property, so feel free to love this language.
Agora:
Agora is a prototype-based language solely based on message passing, developed at the Programming Technology Lab of Brussels Free University, Department of Computer Science. It incorporates features like mixin method based inheritance, reflection and encapsulated inheritance on objects, and has a clean formal foundation. You will find here C++, Smalltalk, Scheme and Minimix implementations of Agora-9X, as well as written intentions to add static typing to the language.
Beta:
The Beta Home Page, at Aarhus University in Denmark, and the Mjølner Beta System Home Page (Mjølner is the name of the Thor's hammer) are the main pages to find info about the public domain Beta language. As stated in the complete and regularly updated Beta FAQ, "BETA is a modern object-oriented language with comprehensive facilities for procedural and functional programming" and, interestingly enough, the 'Pattern' concept is its basic construct from where objects are constructed. But 'Beta' is one of the buzzwords in the software industry, so why was this name chosen for a language? A long history! Beta implements Gamma, which appeared as a variation of Delta (now extended with Epsilon), which tried to extend the Simula Languages! As far as I can see, Greek characters have their own place in Nordic Universities :-). Certainly every extension to Simula should merit to be considered carefully, so why not give a chance to Beta?
Blue:
The Blue Page (Teaching Object-Oriented Programming) brings you info about Blue, an pure OOPL similar to C++ developed specially for teaching, with strong type checking, single inheritance, assertions, preconditions and postconditions. Best of all: Blue and the Blue development environment are free. So consider Blue as an attractive alternative to teach OO concepts to first year students.
CLOS:
- Common Lisp Object System info is what you'll find at the Franz Inc. page. CLOS is the first ANSI standardized OO programming language and ADA95 the first standardized ISO OOPL: the discussion about primacies is served. Despite of these order questions CLOS is really impressive. Well, try it! Franz Inc. offers you free evaluation (lite) versions and reports about how integrate CLOS, C++ and Java.
C++:
- The C++ Virtual Library, your starting point to C++ courses, docs, newsgroups, etc. Really this page is the more complete collection of pointers to C++ sites I know. A reference to The HTML formatted version of the draft C++ standard is also included here.
- C++ Annotations, a short C++ course for C programmers.
- STL (Standard Template Library): If you are interested in the C++ STL, look at this page maintained by Dave Musser, one of the creators of the associative container implementations. You can also get the HP public version of STL, as released by Alexander Stepanov & Meng Lee. The STL is actually being implemented by various vendors to give it a friendly interface: among them you can find Modena Software, Rogue Wave and ObjectSpace, each one showing a different approach to facilitate its use (much in the way of the iostream library): ObjectSpace adds some algorithms (a consistent approach with respect to the STL spirit) and the other use derivation.
- The Larch/C++ Project describes Larch/C++, an interface specification language for C++, mathematically based on the Larch Shared Language (LSL). If interested in exploring methods, languages and tools for the practical use of formal specifications, try the Larch Home Page.
Dylan:
The Dylan Home Page brings you the Dylan FAQ, examples code, some historical design notes and the complete language reference manual from Apple, from where you will learn about the Dylan object-oriented dynamic language, essentially based in objects and functions (a class of objects too), and with a cosmical class heterarchy (all derive from "object").
The Gwydion Project Dylan Page at Carnegie-Mellon University is another important Dylan site. They are developing a high-quality integrated development environment for unix, called Gwydion.
Eiffel:
- Getting started with Eiffel: an hypertutorial to the Eiffel language for newcomers impressed, as me, by Meyer's "Object Oriented Software Construction" 1988 book.
- An Invitation to Eiffel is a copyrighted (you can only browse it) on-line document derived from chapter 1 of the book Eiffel: The Language, intended to introduce Eiffel OOPL.
- The Eiffel Page in the University of Wales College of Cardiff's server, a fully devoted Eiffel page containing FAQs, events, organizations, comp.lang.eiffel threads, and ... even a link to C++-critique.ps ("Desmentir las calumnias es repetirlas", Calderón pointed out).
- ISE WWW Main Page, the site of Interactive Software Engineering Inc., the Bertrand Meyer's company. You can also try Eiffel: A Software Engineer's Dream, derived from the ISE page and mirroring it.
Building bug-free O-O software: An introduction to Design by Contract is an very interesting Bertrand Meyer's article that try to communicate to the reader the high importance of Designing by Contract, as a key concept in Object Orientation.
Why your next project should use Eiffel is the on-line version of the article that Bertrand Meyer published in the special May-96 JOOP issue dedicated to Eiffel 10th Anniversary. I really enjoyed this text, as I hope you, anonymous reader, do. Well, maybe Dr. Miguel Katrib, colleague and friend, has finally transmitted me, after many discussions, some of his passionate love for Eiffel!
Geoff's Universal Eiffel Resource Locator (GUERL) is a personal page containing miscellaneous and enthusiastic info about Eiffel and Bertrand Meyer (including a BM tribute by analogy!). Undoubtedly more passionate than the ISE pages, the reader will find here OOPL comparisons, links to download free Eiffel compilers and tons of links Eiffel-related.
Java:
The Java: Programming for the Internet is the main page for accessing the Java menu, from where you can buy your Java t-shirts and mugs, preview the Java Delopers Kit (JDK) 1.1, download som Java products from the JavaSoft Products and Services page, or even a short paper describing the Java language. But, what's about Java? Why all this excitation? Humm ... mix freely C++, Smalltalk and Objective-C, extract the "obscure" features, clean some absurd restrictions, eliminate those dangerous pointers and ... voilà! And the problems? Better you subscribe to some of the Java mailing lists. Or take a look to the Java FAQ. Or read the comp.lang.X postings, where X is C++, Smalltalk or Visual Basic.
- Java Books is a page maintained by Stephen R. Pietrowicz containing exhaustive info about Java language related books.
What is Java? is a very interesting page about the Java genericity, maintained by Matthew Austern. In fact Austern and Alexander Stepanov have created the JAL (Java Algorithm Library), a collection of generic algorithms that resembles the C++ STL (by Stepanov & Lee). The main difference is that genericity is absent in Java, so the JAL operates on one-dimensional arrays and use a Perl script to instantiate to create the appropriate Java packages for the concrete desired type.
LENS:
The compact programming language LENS (Late-bound Encapsulated Name Spaces) orthogonally combines three fundamental OO concepts: late binding (through message passing), (multiple) inheritance and encapsulation. Object templates, classes or prototypes, are absent. Instead, inheritance is promoted as the only genericity mechanism. In fact a LENS program consists of nested name spaces that can be encapsulated and refined dynamically. Name spaces are first class: they represent objects. The access to variables and methods is slot-based.
Modula-3:
- Modula-3 Home Page brings you a map of Modula-3 resources in the web, including some interesting articles and tutorials, as well as bibliography, syntax notes, reference manuals and info about SRC Modula-3 release 3.5.3 and later.
- The Modula-3 FAQ, WWW and FTP archive is a searchable index containing links to Modula-3 binaries and some responses to diverse inquiries: projects, commercial offerings, etc.
- Threads: A Modula-3 Newsletter is a free on-line magazine devoted to Modula-3, including articles, events and visions from industry, academia, etc.
Objective-C:
The Objective-C WWW Home Page, maintained by Steve Dekorte, contains an hypertext formatted version of the Objective-C FAQ, as well as info on news, links, projects, success stories, O-C consulting firms (to add your page), software, etc.
- Index of Objective C information represent the Nelson Minar's personal effort to collect Objective-C info in the Web.
- Tutorials? If you find A 10-Minute Introduction to Objective-C too short, try the Object Oriented Programming in Objective-C page.
- The usenet Objective-C FAQ.
OO-COBOL:
- OO-COBOL, the COBOL Big Brother which now perfectly should exclaim "The report of my death was an exaggeration" (Mark Twain). Currently under working in the X3J4.1 Object-Oriented COBOL Task Group, although the expected great amount of OO-COBOL pages is yet to come.
- You can find interesting the Jeff Sutherland's "C++, OO COBOL, and Smalltalk: Good, Better, Best" article (stating somewhat subjective, Smalltalk forced view).
- The Micro Focus Object COBOL Home Page is one of the first places to show some Object-Oriented COBOL info, but mainly (and solely) devoted to the Micro Focus products on OS/2, NT & Win95.
Python:
The Python Language Home Page and the Python FAQ both bring you info about the Python OO free and non-propietary language (Your support joining the PSA would be greatly appreciated). Look at the big amount of Python resources shown here and change the idea you had of Python as a "experimental" language: core sources, several OS portings, docs, confs, books, etc. BTW Python is being considered by some companies as an alternative to Java: Opinions? To equilibrate, why don't you try the CRNI's Python Grail Internet browser? Grail (Python & Tk) is capable of downloading and running applets written in Python, as well as being extended by plug-in modules.
Sather:
- The Sather home page. Sather, as stated in the Eiffel FAQ, is an object-oriented language, originally patterned after Eiffel, created by Stephen Omohundro and others at ICSI of Berkeley, CA. The page includes reference manual and tutorials.
Self:
- Self Home Page, with pointers to several areas of the Self Project, intended "to making the world safe for objects", and where you can get the last release of the Self System (4.0) and a Smalltalk mapping, among several interesting articles on OO, RAD and dynamic OO languages. If you look for an alternative to static inheritance, try the Self delegation features! You can also join the self-interest mailing list.
Sina:
- Sina is a concurrent object-oriented programming language, and it is the first language to adopt the Composition Filters Object Model (CFOM). The CFOM is an extension to the object-oriented model and can express a number of concepts in a reusable and extensible way. The CFOM has been developed by the TRESE project of the University of Twente Computer Science Department, which performs activities related to research on compositional object technology.
Smalltalk:
- The Jeff McAffer's Smalltalk links page is a good collection of Smalltalk resources in the net (web), with many many links to interesting Smalltalk sites (fortunately commercial only sites have been filtered).
- The Smalltalk Archive Base Page at the University of Illinois at Urbana-Champaign, with applications, source code, etc.
- At The Smalltalk Developer's Site you'll find info about Smalltalk practical development.
- Francois PACHET's Bookmarks is a great collection of Smalltalk links and goodies (with other personal and musical stuff) maintained by Francois Pachet, from Laboratoire LAFORIA, who brings you the ESUG (European Smalltalk User Group) page too. Smalltalk vendors, implementations, conferences, applications, goodies, frameworks, research groups, etc. can be found here.
- The Serge Stinckwich's Smalltalk Page shows links to Smalltalk vendors, archives and other interesting Smalltalk sites (including Jobs for Smalltalkers in Europe and North-America).
- The Larch/Smalltalk Project is a page about Larch/Smalltalk (actually in beta release), an interface specification language for Smalltalk.
- Try the Smalltalk FAQ at Berkeley, compiled by Craig Latta.
Theta:
- Theta is an OOPL under development by the PMG in MIT's LCS, mainly devoted to implement objects in the Thor ODB, but perfectly working as standalone. You can browse the online Theta Reference Manual or download the ps file, or study the Theta code in a sample program (Ical) translated from C++.
Other OOPLs:
- For other languages look at The Language List, which proclaims to collect "information on about 2300 computer languages, past and present". Languages info is user-queried, descriptive and short. And if looking for a programming languages flaming schema, try the links at the Steve Majewski's Programming Language Critiques Page (with tons of e-ink about C++, C+- and all that stuff, with a little -well, perhaps distant- remembrance to the Jokes on OO and OOP page).
The BON analysis and design method is a short (1 page) summary on the Business Object Notation, strongly based in three main concepts (succinctly exposed): Seamlessness, Reversibility and Software Contracting (one of the ideas behind Eiffel). This method from Nerson & Walden should merit a more detailed set of web pages, but at the moment you can taste the iterative BON steps in the BON method.
Booch:
- Introduction to the Booch Method, a tutored overview of the Grady Booch's Object Oriented Design method. Philipp T. Schneider maintain this "Booch reference and tutorial V2.0", also accessible through this other web site.
Catalysis:
- Catalysis is a method developed by Desmond D'Souza and Alan Wills which builds on "second generation" methods such as Fusion and Syntropy. Catalysis promotes systematic specification and development of re-usable components and architectures, mainly by refining and extending OMT, Fusion and Objectory methods. The papers describing the method are very interesting, and explain the contributions and weakness of other methods with relation to Catalysis, also overviewing it. As their authors note, Catalysis is based in the practical experience of "several years of applying, consulting and training" of the authors: pragmatic applications with rigorous basis.
EROOS:
- The EROOS Home Page is a comprehensive list of publications about EROOS (Entity-Relationship Object-Oriented Specifications), an object-oriented method crafted by the Research Group on Software Development Methodology of the Department of Computer Science of the Katholieke Universiteit Leuven, containing the EROOS Reference Manual version 1.0 and some other interesting papers.
Fusion:
- The Fusion Users Group page is the "official" entry, maintained by guys from HP Laboratories, to the Fusion OO method (or family of methods, or 2nd generation method, or ... ). Interesting enough, you will find here info about CASE tools, contacts, books, articles and real experiences using the Fusion method. Interesting? Yeah, because many of you probably think of Fusion as a non-comment method. I have assisted to (and participated in), verbigratia, the efforts to build a bridge between Euromethod (the European method to contract information systems) and Fusion, and have heard of many others. Take a look!
- The Fusion Method, a FAQ-like summary note commenting the Coleman et al. book.
MOSES:
- MOSES Home Page: According to its authors, Brian Henderson-Sellers & J.M. Edwards, MOSES (Methodology for Object-Oriented Software Engineering of Systems) "is a full-lifecycle, OO software development methodology" based on an aggregate of the standard OO fountain lifecycle model, a product lifecycle of three business-oriented stages, a process lifecycle of five technically-oriented phases across which are superimposed, and a set of twenty activities which provide the detailed "how to do it" information. All these aspects are exposed in The Book of Object-Oriented Knowledge, Volume Two, by the same authors.
Object-Oriented System Development:
- I really must congratulate Addison-Wesley and the authors for this complete html edition of the 1993 book Object-Oriented System Development (ISBN 0-201-56355-x), by Dennis de Champeaux, Douglas Lea, and Penelope Faure. The electronic pages also contain an errata file (of the hardcover book edition) and an useful FAQ.
OORAM:
- Summary Description of OORAM is a very short overview -with some snapshots- of the Taskon OORAM family of methods and tools for OOA/D and implementation. Really there is little on-line info for OORAM, so I strongly recommend you the book "Working With Objects: The OOram Software Engineering Method" by Trygve Reenskaug (the creator of the Model-View-Controller concept), Per Wold and Odd Arild Lehne, 1996, Manning Publications, 0-13-452930-8. This has been one of the very rare books I have read that is not firstly based in the class/object dichotomy, but it focuses in roles, providing a methodological framework for developing very large systems. In my modest opinion, this is one of the most important books on Object Technology published in the last years.
OSA:
- OSA Tutorial: An htmlized complete tutorial on the OSA OO method, by Embley, Kurtz & Woodfield (as described in their book "Object Oriented System Analysis: A Model-Driven Approach"). A great effort and a well polite material. If you want to know more about OSA, try the OSM Lab Home Page.
Shlaer-Mellor:
- The Shlaer-Mellor Method page is devoted to the S&M well known approach to OO development based in the two books by Sally Shlaer and Stephen J. Mellor: "Object-Oriented Systems Analysis: Modeling the World in Data", Prentice Hall, 1988, and "Object Lifecycles: Modeling the World in States", Prentice Hall, 1992. The page offers a really good overview of the method.
Sintropy:
- Syntropy is a "second-generation object-oriented analysis and design method developed at Object Designers Ltd, UK", as described in the interesting book "Designing Object Systems: Object-Oriented Modelling with Sintropy". Formal specification and refined first-generation OOA/D methods are the fuel of Sintropy, and the essential, specification and implementation models are the perspectives taken for the construction of object models. For learning more you should subscribe to the Syntropy User Group.
UML:
The Unified Modeling Language is an attempt from Rational (Booch, Rumbaugh, Jacobson) to define a common core language for all OOA/D methods. In this page you'll find the UML documents in PFD format and the possibility to subscribe to some Rational mailing-lists (to keep you in touch with the last UML details). The version 0.9 of the paper has been submited for standardization to OMG jointly with HP. If you are avid of info about UML, you should try the UML FAQ, including some esoteric pages and an invitation to post comments overt the authors. As UML is becoming a kind-of-pre-de-facto standard in the OO community, you'll skip this pages at your own risk.
OOA/OOD info:
- A Comparison of Object Oriented Development Methodologies is a 1993 report by Edward V. Berard at The Object Agency Inc. establishing an own criteria for evaluating several OO methods and methodologies (OMT, Wirfs-Brock, OMT, Booch, Berard, etc.). Interesting but old (BTW I bought the report at that time and found it useful!).
- OO Design Web Reference Home Page: a collection of OO methods and terms, as well as links to OO search engines in the Web.
- Collection of Information on OO Approach, maintained by Katsuya Amako, is a recompilation of OO methods and tools, with some overviews of OOA/D methodologies.
- Tutorial List, from Next Objects Corporation, is a compendium of free tutorials on Java and Object Technology: Architecture, Basic Objects, Object Oriented Analysis and OO Analysis shown as a Use Case are some of them.
Thank you for visiting. This home page maintained by Ricardo Devis (devis@ibm.net or 100140.1435@compuserve.com). Comments (feel free to contact me) and info about new object-oriented web links are welcomed.
... return to Galaxy's Object-Oriented Systems or Galaxy Home Page