At 12:11 PM 11/9/98 +0000, Dr. Panos Asproulis wrote: > I recently joined Team Ada and I would like your expert help > in a decision problem that my company is now facing. > We decided to produce a new version of this code written > in a modern programming language (currently in Fortran 77) > and we mainly consider C++ and Fortran 90 as the new > language to use. Since we wish to achieve an object oriented > design C++ sounds like the natural choice although Fortran > is very popular in numerical software... Some answers, although not necessarily to the questions as asked... First, C++ would be a poor choice, since to get performance, you will end up throwing away most of the good new features. Honestly programming in C would be a better alternative. But for this type of code, you probably want to keep/write most of your matrix code in Fortran 90. I think Convex has an Ada compiler that is competitive with Fortran 90 in this area, but you apparently will be marketing to a wide variety of users. Third, I suggest you split your system into three parts--a computational engine, which should be all or mostly Fortran 90, a programming interface which can create data sets to be given to the engine, and a display module which can visually display the results of runs. You might want to use Ada to allow these three parts to run concurrently or use some other interface. However, once you have the decomposition right at the top level, you can choose the proper language for each part of the application. In fact since the front-end should be a programming interface, you may want to provide interfaces in several different languages. (Also, assuming that the interface to the computational engine is done right, the display engine is a special case of a process that accepts the computational output.) Robert I. Eachus with Standard_Disclaimer; use Standard_Disclaimer; function Message (Text: in Clever_Ideas) return Better_Ideas is...