Thomas A. Cargill, Ph.D.

Tom Cargill is the author of .profile Consulting Inc.'s C++, Java, XML and Object-Oriented Technology courses and workshops.

Tom Cargill: Background and Credentials

Tom Cargill has been programming with objects since he started using C++ in 1983. While at AT&T Bell Laboratories, Tom wrote the first major C++ system - a family of portable, distributed debuggers, which remains in production use today and continues to evolve within AT&T.

  • Author of C++ Programming Style, (Addison-Wesley, 1992), and 14 refereed publications

  • Columnist for The C++ Report

  • Tutorial Instructor at USENIX, C++ At Work, C++ World, UKUUG, EurOpen, Object-Expo, and Object-Expo Europe, ACM and hundreds of public and on-site seminars

Tom Cargill is a recognized authority in the field of object-oriented programming.

After receiving his Ph.D. in 1979, Tom remained at the University of Waterloo as an Assistant Professor of Computer Science until 1982 when he joined the Computing Science Research Center of AT&T Bell Laboratories, Murray Hill, NJ. His research there involved investigation of debuggers, particularly their user interfaces, which motivated him to start using C++ when the language was called C 84. He had some influence on the language in its early years and has continued to use it, teach it, and follow its growth.

In the fall of 1988 he moved to AT&T in Denver, Colorado, working mostly on debuggers written in C++. Since 1989 Tom has been an independent consultant based in Boulder, Colorado, providing consulting services for a wide variety of companies.

Since 1995, Tom has worked with the Java programming language. Recent work has focused on XML, and embedded Java. Tom presents Java courses publicly at the University of Colorado and on-site through .profile Consulting Inc. His article, An Overview of Java for C++ Programmers, was featured in the first edition of the Java Report.

Tom Cargill: Consulting Services

As a specialist with over a dozen years of experience in the design, implementation and maintenance of object-oriented software in C++, and now Java, Tom Cargill provides consulting services that can improve many aspects of your software quality.

  • Design Evaluation

    Design reviews provide valuable feedback to software designers. Is the domain model consistent? Is an appropriate degree of flexibility incorporated? Is there a good balance between generality and efficiency? Where is reuse anticipated and why? Timing and frequency for such reviews varies greatly, depending on the complexity of the design and the experience of the designers.

  • Implementation and Guidance

    The choice of appropriate language features and style of programming depends on many constraints, such as the range of the performance characteristics of the target systems. The approach to programming a prototype can be quite different from that needed for a production system. Policies for consistency in programming should be established that go beyond the cosmetic issues traditionally addressed by coding style guidelines.

  • Code Reviews

    Many programming pitfalls are difficult to detect in unit test and only manifest themselves as resource leaks once software is in production. Other programming practices produce correct programs that may be harder than necessary to maintain or extend. The earlier such problems are identified the better. Most programs can be improved by the elimination of code.

Contact .profile Consulting Inc. at (303) 499-5940 or for availability and rates.

Back to .profile Consulting Inc. Home Page
Last Updated: February 2008.
Questions? Contact
This page printed from