Object-Oriented Resources

  1. Index to Object-Oriented Information Sources
  2. O-O Resources
  3. Adaptable Object-Oriented Software Systems
  4. BCS OOPS Home Page
  5. Center for O-O Technology & Research
  6. Cetus Links: O-O Libraries
  7. Cetus Links: Object-Orientation
  8. CHOOSE Home Page
  9. Collection of Information on OO Approach
  10. COOTS'95 Papers
  11. CSG Object-Oriented Technology Resources
  12. Great Object Oriented Links
  13. Index to Object-Oriented Information Sources
  14. Lascelle & Associates Inc. WWW Hot O.O. Links
  15. Literate Programming and OOP
  16. MPI - The Message Passing Interface Standard
  17. O-O Humor
  18. O-O Parallel Programming - Summary of Research
  19. Object Focus' Object Technology Resource
  20. Object Technology Page
  21. Object Technology Sites
  22. Object-Orientation FAQ
  23. Object-Orientation Ph.D. Network - Home Page
  24. Object-Oriented Bootstraps
  25. Object-Oriented Internet Resources
  26. Object-Oriented Programming Resources
  27. OOPSLA - Index to Conferences
  28. OOPSLA'96 Electronic Information Hotline
  29. OOPSLA '96 Technical Program
  30. OOPSLA '97 - Call For Participation
  31. OOSE Hot Links
  32. Other OO FTP sites
  33. The Object-Oriented Page
  34. UMBC AgentNews
  35. Useful O-O links on the WWW
  36. USENIX Conference Proceedings
  37. BCS OOPS Home Page

Patterns

Patterns Resources and Directories

Patterns Groups and Conferences

Patterns Training, Tutorials and Publications

Patterns and Patterns Systems

Patterns People

Patterns Resources and Directories

  1. Patterns Home Page
  2. Portland Pattern Repository
  3. Ward Cunningham's Wiki Web
  4. Cetus Links: Patterns
  5. Design Patterns Mailing Lists by thread

Patterns Groups and Conferences

  1. The Chicago Patterns Group
  2. Design Patterns Study Group of NYC
  3. The Phoenix Patterns Group
  4. PLoP 1996
  5. PLoP 1997
  6. UIUC Smalltalk/Patterns Group
  7. UP: Using Patterns Conference

Patterns Training, Tutorials and Publications

  1. Aamod Sane's Patterns Papers
  2. Design Patterns Tutorial
  3. Doug Schmidt's Patterns Papers
  4. History of Patterns
  5. OOP Transience to Persistence: Architectures & Patterns
  6. OOPSLA-95 Patterns Papers
  7. Papers: Cunningham & Cunningham, Inc.
  8. Pattern Definitions
  9. Pattern Writer's Workshop Tutorial
  10. Patterns BookList
  11. PLoP-94 Papers
  12. Publications by Konstantin Laufer

Patterns and Patterns Systems

  1. ACE Design Patterns (for Concurrent, Parallel, and Distributed Systems)
  2. AntiPatterns
  3. Bruce Whitenack's RAPPeL

    RAPPeL is a pattern language that provides direction and rationale for guiding analysts, developers and project managers in determining and defining requirements for business applications (e.g. information management systems, decision support systems, work-flow management, scheduling, etc.) to be developed in an OO environment.

  4. Caterpillar's Fate: A Pattern Language for Transformation from Analysis to Design
  5. Cope's Process Patterns
  6. HTML Pattern Language
  7. Nat Pryce's Design Patterns
  8. Patterns for Adaptive Programming
  9. Patterns for Framework Evolution
  10. Patterns for Managing Software Evolution (postscript)
  11. Patterns in Order Management Systems
  12. ProcessPatterns on the Wiki Web
  13. Steve Berczuk's CM Patterns
  14. Terris Linenbach's CM Patterns
  15. UnixShellPatterns
  16. WritersWorkshopPatterns

Patterns People

  1. Alistair Cockburn, Humans and Technology
  2. Jim Coplien's Home Page
  3. Brian Foote
  4. Doug Lea's Workstation
  5. Ralph E. Johnson
  6. Douglas C. Schmidt's Welcome Page
  7. Aamod Sane's Home Page
  8. Miguel Beedle's Home Page
  9. RegularContributors to Ward's Wiki Web

Programming Languajes

  1. Computer Software: O-O Programming
  2. Self Home Page
  3. Foundations of Object-Oriented Languages 1994
  4. Foundations of O-O Languages

C++

C++ Resources and Directories

C++ Projects and Working Groups

C++ Training, Tutorials and Publications

C++ Resources and Directories

  1. Cetus Links: C++
  2. Quadralay's C++ Resources Archive
  3. The C++ Virtual Library
  4. C++ Resources
  5. Jon's C++ Resources Directory
  6. STL Resources
  7. List of C++ Libraries and Projects
  8. C++ Development & Testing Tools
  9. North Eastern Programmers Network

    NEPN is a free information service provided by Diio Software for programmers everywhere. We publish a newsletter monthly, which is available right here on our homepage. or thtough our E-Mailing List. The purpose of this Homepage and newsletter is to provide programmers with a FREE source of programming techniques and info on new products and langauges. The main focus of NEPN thus far has been C++ Programming, but we are always taking articles from people like YOU for our newsletter.

  10. PERCEPS Home Page

    PERCEPS is a Perl script designed to parse C++ header files and automatically generate documentation in a variety of formats based on the class definitions and comment information found in those files. This allows you to comment your code and generate useful documentation at the same time with no extra effort. PERCEPS can be useful as a documentation tool for C++ class libraries or as a simple but effective collaboration tool for other projects.

C++ Projects and Working Groups

  1. C/C++ Users Group (CUG) Home Page
  2. Embedded C++
  3. Amulet Project Home Page
  4. The Cocoon Utilities
  5. OSE Home Page

    OSE is a collection of programming tools and libraries targeted mainly at C++ programmers. The environment has been developed with the aim of improving programmer productivity through making the goal of reuse achievable, and by reducing the time developers need to devote to managing the infrastructure supporting the day to day tasks of programming. There are three major components in OSE. These are a C++ class library, a build environment and a set of documentation extraction tools. The C++ class library includes support for error handling, error message logging, error recovery, program debugging, memory management, resource management, generic collections, text manipulation, date and time arithmetic, operating system interfacing and event driven systems.

  6. Panorama C/C++ for software testing, QA, and maintenance

C++ Training, Tutorials and Publications

  1. C++ FAQ
  2. MFC Visual C++ FAQ
  3. The ISO/ANSI C++ Draft
  4. April 1995 C++ Public Review Document
  5. C++ - Beyond the ARM
  6. C++ Report Columns, Articles, Code
  7. The C++ STL
  8. C++ Annotations
  9. C++ Programming Language Tutorial Handouts
  10. Understanding C++: An Accelerated Intro
  11. C++ Signatures

    Roughly, signatures are type abstractions or interfaces of classes. They are related to ML's signatures, categories in Axiom, definition modules in Modula-2, interface modules in Modula-3, and types in POOL-I. The main language constructs added to C++ to provide this feature are signatures and signature pointers.

  12. C++ Report Columns on Distributed Object Computing

Eiffel

  1. The Eiffel Page
  2. ISE Eiffel Home Page
  3. Another Eiffel Page
  4. Everything Eiffel Home Page
  5. Geoff's Universal Eiffel Resource Locator
  6. Cetus Links: Eiffel
  7. Getting started with Eiffel
  8. Teaching Eiffel: A Web Page
  9. The Gustave Library
  10. ISE Eiffel Technology papers
  11. EiffelWorld Magazine
  12. Tower Technology Corporation
  13. SIG Computer

Java

Java Resources and Directories

Java Training, Tutorials and Publications

Java Books

Java Projects

Java Software

Java Resources and Directories

  1. SunSite's Java Announcements Archive
  2. SunSoft's Java page
  3. Cetus Links: Java
  4. WWW Virtual Library: Java
  5. Univ. of Toronto Java Development Centre
  6. Cafe Au Lait
  7. Club Java: sponsored by Virtual Rendezvous
  8. CSG Java Links
  9. Daniels JAVA Links
  10. Gamelan: Earthweb's Java Directory
  11. Icon Computing: Java Links of Interest
  12. the Java Boutique
  13. the Java Developer: Resources
  14. Java Links
  15. Java Pages
  16. Java Programming Resources
  17. the Java Repository
  18. Java Resource Links
  19. Java Resources in Motorola
  20. the Java URN (User's Resource Network)
  21. Java/JavaScript Resources on the Internet
  22. Markus Reith's Java Developer's Page
  23. Que Java/JavaScript Resource Center
  24. Queensland Java Resources
  25. Sam Pullara's Java Page
  26. Visix's Java Developer Resources
  27. Whang's Java Resources List

Java Training, Tutorials and Publications

  1. Java: an Introduction
  2. JavaSoft Documentation Index
  3. JDK 1.1 Documentation
  4. JDBC Guide
  5. Learning Java (a tutorial)
  6. Thingtone's Java Workshop
  7. JavaWorld - IDG's magazine for the Java community
  8. comp.lang.java FAQ
  9. Online Java Documentation
  10. Ask the JAVA Pro - Welcome!
  11. Java Report Home Page
  12. Javology
  13. Java in Operating Systems Courses

Java Books

  1. Java book reviews
  2. Java Programming Books at calSur Internet
  3. Java Page: O'Reilly & Associates
  4. PMPCS Books - Java
  5. Bruce Eckel's "Thinking in Java" (online book)
  6. Concurrent Programming in Java (online A-W book)
  7. Java Developer's Guide (online SAMS book)
  8. The Java Tutorial (online A-W book)
  9. SE Using Java, 2e (online Book)
  10. Tricks of the Java Programming Gurus (online SAMS book)

Java Projects

  1. Besiex Software's FrIJDE Page

    Besiex Software's FrIJDE ("frigid") Free Integrated Java Development Environment Project

  2. Electric Communities Home Page

    Electric Communities is developing secure, scalable Internet-based social systems and virtual communities.

  3. Guavac home page
  4. Java CUP Home page
  5. Java Distributed Systems
  6. Java Port Project Home Page
  7. Java-Linux
  8. Jeeves Home Page

    Jeeves is JavaSoft's Java-Powered Internet Server and framework for an extensible family of Java-based network services. Jeeves defines the Java Servlet APIs for the quick and easy creation, installation, administration and security of Java-based network servers.

  9. JOLT Project Home Page
  10. Juice Homepage

    Juice is a new technology for distributing executable target across the World Wide Web. In this respect, it is similar to Java from Sun Microsystems. However, as we will try to explain in the following, Juice differs from Java in several important aspects that allows it to outperform Java in many "downloadable Applets" applications. The advantages of Juice become even more pronounced when the "Applets" are large. Java, on the other hand, has an advantage in the area for which it was originally invented: embedded applications in consumer electronics and household appliances. Juice is intended to be a complement to Java, giving users a choice: Java or Juice.

  11. KAFFE - A virtual machine to run Java(tm)* code
  12. Koala GUI Toolkit
  13. Kream

    Kream is an attempt to reimplement all of the Java class libraries except for the AWT. Eventually, the combination of Kaffe, AWT, and Kream will give a complete Jave execution environment which is freely distributable.

  14. Mocha - the Java decompiler
  15. Netscape Internet Foundation Classes
  16. PJava - The Persistent Java Project
  17. SAWT: Simple AWT

    The Simple Abstract Windowing Toolkit (SAWT) by Claude Lecommandeur is an attempt to implement the java.awt.peer interface. SAWT places as few language functions in java.awt.peer as possible and reimplements the rest of them in Java code. The result is a fairly portable basis for the AWT.

  18. SubArctic UI Toolkit

    SubArctic is a new Java(tm)-based user interface toolkit under development by Scott Hudson and Ian Smith at the Graphics, Visualization, and Usability Center at Georgia Institute of Technology. SubArctic is not yet another AWT widget set. It is a complete, full functioned, industrial strength toolkit designed to be used for all your user interface needs. SubArctic is based on 10 years of toolkit research and is designed to offer the advanced interface techniques needed to go beyond static interfaces and simple collections of widgets. SubArctic is highly extensible and supports a number of sophisticated effects not available in other toolkits (and provides the basic infrastructure to build much more).

  19. TclJava

    TclJava is a proof of concept for connecting Java and Tcl. The dynamicism of Tcl with the speed and portability of Java make a convincing case for combining these two internet ready languages. Security, already strong in Java, is augmented by Tcl's "padded cell" security model, allowing for safe scripting as well as safe applets.

Java Software

  1. Capsule Reviews of Java tools
  2. Platforms Supporting Java
  3. The Blackdown Organization -- Free Tools for Java
  4. Cool Freeware: Java Gallery
  5. Cygnus' Webhackers - Free Java Tools
  6. Free Tools for Java lexing/parsing
  7. Freeware: Java Information
  8. HP JDK Download
  9. Java User Group Deutschland: Software Archive
  10. JavaSoft Download Directory
  11. WorkShop Developer Products

Smalltalk

Smalltalk Resources and Directories

Smalltalk Training, Tuorials and Publications

Smalltalk Projects and Working Groups

Smalltalk Products and Vendors

Smalltalk Resources and Directories

  1. Cetus Links: Smalltalk
  2. Jeff McAffer's Smalltalk links
  3. CSG Smalltalk Links
  4. The Smalltalk Store
  5. The Smalltalk Developer's Site
  6. UIUC Smalltalk Archive
  7. Ralph E. Johnson
  8. Brian Foote

Smalltalk Training, Tuorials and Publications

  1. Vikas Malik's Smalltalk FAQ
  2. Craig Latta's Smalltalk FAQ
  3. Dave Smith's Smalltalk FAQ
  4. Atsushi's Smalltalk Textbook
  5. Introduction to VisualWorks
  6. Eagle Smalltalk White Paper
  7. Smalltalk Programming Practices

Smalltalk Projects and Working Groups

  1. Smalltalk Industry Council (STIC)
  2. Smalltalk/X
  3. LearningWorks Home Page
  4. ARL Squeak
  5. UIUC Smalltalk/Patterns Group

Smalltalk Products and Vendors

  1. Animorphic Systems
  2. Applied Reasoning Systems Corp.
  3. Bytesmiths' Home Page
  4. IBM VisualAge for Smalltalk
  5. Knowledge Systems Corporation
  6. Object Technology International Inc.
  7. Objectshare Systems
  8. ObjectSpace, Inc.
  9. ParcPlace-Digitalk
  10. RASE Inc. Home page
  11. Software Design Consultants

Object-Oriented Publications and Tutorials

  1. Object-Oriented Programming (Papers)
  2. PROG's Online Paper Database
  3. Veröffentlichungen / Publications 1996
  4. Research papers - University of Namur, Computer Science Dept.
  5. All Publications and Reports by Roel Wieringa
  6. Benjamin Pierce's public ftp archive
  7. ROAD
  8. Object-Orientation FAQ
  9. What is Object-Oriented Software? An Introduction
  10. OO Design, Terms and Definitions
  11. OO Design Web Reference Home Page
  12. O-O SW Design & Construction
  13. OSU OOP Course
  14. Object-Oriented Programming
  15. Publications on Object Oriented Programming
  16. Bibliographies on O-O Programming & Systems
  17. Object Currents
  18. OMG Publications
  19. Theory and Practice of Object Systems
  20. IBM Object Technology References
  21. ICON Articles
  22. Object Mentor Publications
  23. Taligent Technology & Resources
  24. TOA's On-Line Documents

Research Groups

  1. Self Home Page
  2. Demeter's WWW Home
  3. The Software Composition Group
  4. The OBJ archive
  5. Institut für Technische Informationssysteme
  6. ACE: The Adaptive Communication Environment

    The ADAPTIVE Communication Environment is an object-oriented toolkit that implements strategic and tactical design patterns to simplify the development of concurrent, event-driven communication software. ACE provides a rich set of reusable C++ wrappers, class categories, and frameworks that perform common communication software tasks across a range of operating system platforms. The communication software tasks provided by ACE include event demultiplexing and event handler dispatching, service initialization, interprocess communication, shared memory management, message routing, dynamic (re)configuration of distributed services, multi-threading, and concurrency control.

  7. Apertos: the Reflective O-O OS
  8. Arjuna Project Information

    Arjuna is an object-oriented programming system that provides a set of tools for the construction of fault-tolerant distributed applications.

  9. Cogito Project

    The goal of the research is to facilitate software production for applications in advanced scientific computing. In particular, the focus is on methods for solving time-dependent PDE problems, for example in fluid dynamics. Current research issues are (a) object-oriented software tools in this area (implementations in Fortran and C++), and (b) methods for automatic parallelization of computational methods in this area. The aim is to design software tools that make it possible to write codes on a high level of abstraction. One important issue in this context is to decouple various program components (grid, grid function, numerical method, mathematical problem), for easier program composition, modification and maintenance. Another key issue is portability between various computer architectures. In particular, an essential subgoal is to make it easier to program parallel computers.

  10. DIAMONDS Project

    This home page is designed to introduce the ongoing Software Engineering Research project within the CASE Center, called DIAMONDS. This research is aimed at the discovery and construction of software development methods and corresponding software tools (programs) that improve the quality and productivity of object-oriented (OO) software engineering. DIAMONDS is targeted to support computation on heterogeneous distributed systems.

  11. Forest Project

    The Forest project is investigating the use of persistent programming systems for the construction of software development environments. We believe that the persistence and tool integration mechanisms of traditional operating systems are a major limiting factor in the development of powerful, multi-user software development environments. Our intent is to replace the use of file systems and ad hoc persistence mechanisms with typed, persistent objects that are defined and manipulated in a standard object-oriented programming language.

  12. The ITHACA Project

    ITHACA is an Esprit Technology Integration Project whose aim is to develop an integrated application development and support environment based on the object-oriented programming approach.

  13. Illinois Concert Project (CSAG)

    The goal of the Concert project is to develop portable, efficient implementations of concurrent object-oriented languages. Our approach incorporates aggressive whole program compilation, interprocedural optimization, and an efficient runtime system which works in concert with the compiler optimizations. The Concert System is an embodiment of these techniques, providing efficient implementations of object-oriented programs on a variety of platforms.

  14. The UW Cecil/Vortex Project

    Vortex is an optimizing compiler infrastructure for object-oriented and other high-level languages. It targets both pure object-oriented languages like Cecil and hybrid object-oriented languages like C++, Modula-3, and Java. Vortex currently incorporates high-level optimizations such as static class analysis, class hierachy analysis, profile-guided receiver class prediction, profile-guided selective procedure specialization, intraprocedural message splitting, automatic inlining, and static closure analyses. It also includes a collection of standard intraprocedural analyses such as common subexpression elimination and dead assignment elimination. The Vortex compiler is written entirely in Cecil.

  15. Object-oriented systems at UCSB

    The UCB O-O Systems and Compilers research group investigates compiler optimizations for object-oriented languages, related implementation aspects (such as dispatch mechanisms or garbage collection), and studies of the instruction-level behavior of object-oriented programs.

  16. Object Systems Group

    The Object Systems Group is a research group at the Centre Universitaire d'Informatique of the University of Geneva under the direction of Prof. Dennis Tsichritzis. Current research directions of the OSG include theoretical and practical aspects of object-oriented programming languages, multimedia and electronic publishing.

  17. Renaissance Project

    Renaissance is a project to investigate the applicability of object-oriented techniques to the construction of large scale distributed systems. For a complete overview of the system see our overview paper.

  18. The ROOT System Home Page

    Just like trees and plants, applications need strong roots to grow and flower. ROOT is a comprehensive object oriented framework that provides a solid foundation on which large scale data analysis applications can be built.

  19. 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 Sina language has been developed by the TRESE project as an expressive vehicle for the Composition Filters Object Model. The TRESE project (part of the SETI Group at the Computer Science Department of the University of Twente, The Netherlands) performs activities related to research on compositional object technology.

  20. The Spring System.

    The Spring Project at Sun Microsystems is investigating new technologies for constructing operating systems and for simplifying distributed programming. As part of this work, we have constructed the Spring distributed operating system. Spring is a highly modular, object-oriented operating system, which is focused around a uniform interface definition language. Spring is intrinsically distributed, with all system interfaces being accessible both locally and remotely.

  21. The TRESE project

    The TRESE project aims at performing activities related to research on compositional object technology. This research includes the development of object-oriented frameworks, models, methodologies and supporting tools for creating and maintaining adaptable software.

  22. The UFO Project

    The United Functions and Objects project has developed a programming language which unites functional and Object Oriented Programming techniques. A large subset of UFO is a pure, higher-order functional language incorporating the OO notions of classes, inheritance, and dynamic binding. Another important aspect is the provision of multi-dimensional functional arrays, with integrated loop structures and monolithic operators, which generalise those of SISAL. However, unlike SISAL, UFO is not a pure functional language. It has stateful objects, which allow programs to be written in a concurrent object-oriented style where appropriate. Safeguards are provided, both in the semantics of operations on stateful objects and in the type system, to minimise the problems associated with introducing state.

  23. The Mjølner BETA System Home Page

    The Mjølner BETA System is a software development environment and tools set for use with the BETA programming language.

  24. wOrlds: An Open Environment for Support of Collaborative Activities

    wOrlds is focused on the development of a next generation computer-supported collaborative work (CSCW) framework. Previous CSCW systems have tended to suffer from several problems - they tend to look at small problems in isolation and provide overly-rigid systems for collaboration support. To a large degree we believe these problems arise from an inadequate theoretical orientation to the issues that arise with collaboration support.

Software Engineering

  1. Aspect-Oriented Programming Home Page
  2. Booch Method Introduction
  3. BON Home Page
  4. Catalysis
  5. Cetus Links: O-O Methods
  6. Cetus Links: O-O Metrics
  7. Cetus Links: Software Reuse
  8. Cetus Links: O-O Testing
  9. Cetus Links: O-O Tools
  10. Demeter's WWW Home
  11. Design of Object-Oriented Real-time Systems
  12. DesignLab '96
  13. Fusion Object-Oriented Development on the Web
  14. Genitor - Building a Rapid Object Development Environment
  15. ION Homepage
  16. Jeff Sutherland's Object Technology Web Site
  17. Jeff Sutherland's SCRUM Home Page
  18. MOSES Home Page
  19. O-O Information Systems
  20. O-O Methods Comparative Review
  21. O-O Methods: Links, Summaries, Comparisons
  22. O-O Systems & Modeling Labs
  23. Object-Oriented Programming
  24. Object-Oriented System Development: HTML Edition
  25. OPEN (O-O Process, Environment and Notation)
  26. OSM Lab Home Page
  27. Richard T. Due'
  28. Unified Modeling Language FAQ
  29. UML Glossary
  30. Use Case FAQ
  31. Use-Case Resources Page
  32. Use Cases Workshop (OOPSLA)

Miscelanea

  1. TOOLS USA Home Page
  2. Luca Cardelli
  3. Stefan Conrad
  4. Gert Smolka's Home Page