Pat Rogers

Pat Rogers has been a computing professional since 1975, primarily working on microprocessor-based real-time applications in Ada, C, C++ and other languages, including high-fidelity flight simulators and Supervisory Control and Data Acquisition (SCADA) systems controlling hazardous materials. Having first learned Ada in 1980, he was director of the Ada9X Laboratory for the U.S. Air Force’s Joint Advanced Strike Technology Program, Principle Investigator in distributed systems and fault tolerance research projects using Ada for the U.S. Air Force and Army, and Associate Director for Research at the NASA Software Engineering Research Center. He has B.S. and M.S. degrees in computer systems design and computer science from the University of Houston and a Ph.D. in computer science from the University of York, England. As a member of the Senior Technical Staff at AdaCore, he specializes in supporting real-time/embedded systems developers, creates and provides training courses, and is project leader and a developer of the GNATbench Eclipse plug-in for Ada. He also has a 3rd Dan black belt in Tae Kwon Do and is founder of the AdaCore club “The Wicked Uncles”.

What does Frontline support mean to you?

Some companies have selected staff act as “house consultants,” available across multiple projects for consultation on design and implementation questions because of their application domain and tools expertise. Large companies have a few of these people. AdaCore provides dozens of such experts, not only as implementers of the tools but also as fellow developers with decades of experience in the same application domains. Frontline support makes these “house consultants” directly available to even the smallest projects.

Why Ada?

I’ve always been a “language junkie”, wanting to learn something new and able to find something useful in just about any of them. For support of software engineering principles to distributed system programming, Ada makes it so easy to express what I need to say. If there was a more productive, expressive programming language for real-time/embedded applications, I’d use it.

What are your favorite features of GNAT Pro technology?

As project leader for the GNATbench Eclipse plug-in I am naturally quite fond of that bit of technology, but another of my favorite features is the degree of language interoperability that GNAT provides. That makes it easier to use multiple languages for a given application. For example, one can derive an Ada type from a C++ class and vice versa, dynamically dispatching across the language boundary transparently.