View this PageEdit this Page (locked)Attachments to this PageHistory of this PageHomeRecent ChangesSearch the SwikiHelp Guide
Hotspots: Admin Pages | Turn-in Site |
Current Links: Cases Final Project Summer 2007

Discussion 1 - Matthew Dutton

Being a scientist myself, I read the "Comparison of C++ and Fortran 90 for Object-Oriented Scientific Programming" by Mr. Cray and Mr. Shasharina at
http://www.amath.washington.edu/~lf/software/CompCPP_F90SciOOP.html

This paper was a comparison of the features that each language had both from an object-oriented standpoint and a scientific standpoint. The paper points out that C++ was designed with object-oriented(OO) programming in mind. Whereas, Fortran 90 was not. Although Fortran 90 lacks the OO foundation, it can be partially mimiced through the TYPE and MODULE statements but they do not provide enough functionality to mimic inheritance. The paper points out that inheritance is a very important part of OO programming. Although C++ easily wins out over Fortran 90 when it comes to OO programming, Fortran 90 does provide some extra functionality to scientists that C++ does not. For instance, C++ does not include arrays that know their dimensions, etc. C++ arrays are not "objects".

The paper also points out that anything that Fortran does have that C++(the language) does not, can be included through coded written using OO programming. Anyone can write modules to extend the language to have anything that Fortran has. This gives C++ the ultimate victory of Fortran 90 considering that Fotran 90 would need additional syntax to be able to implement many of the features in C++(templates, for example).

This affects programmers by in a few different ways. One, it restricts people who program in Fortran 90 to what they already have. C++ programmers are not restricted by this and can extend the language to whatever they may need. Due to inheritance, which C++ has and fortran does not, other people can also build upon previous work easing development and extension of the language. Fortran 90's limitations in these areas will slow development times in the long run, due to the lack of code-reuse, and start pushing more developers towards C++. Because C++ allows you to extends other people's work, the more people that are in C++, the easier it becomes to write what you need or find it already written. This cycle of

C++ is easier and faster to get things done –> Fortran90 programmers moving to C++ –> Faster C++ development

will inevitably cause a shift in the market over towards C++ development. As history has shown, C++ is preferred over Fortran 90 by most developers. C++'s success can be attributed towards its well written and implemented OO programming paradigm that Fortran 90 lacks.


Discussion Relate: Alex Groleau

Alex told us about a paper describing the levels of OO programming that were built into various different languages. This is essentially what the comparison between Fortran 90 and C++ broke down into. The paper that I presented shows that a programming langauge that has a strong OO foundation will be more effective in many different ways than one that does not. Now knowing a criteria that can directly affect the quality of something, the next step is to rate things by this criteria to determine the best one. This rating is what was done in the paper that Alex presented. His paper logically follows the paper that I presented.

Links to this Page