From - Thu Feb 04 18:20:06 1999 Path: news.flash.net!nntp.flash.net!chippy.visi.com!news-out.visi.com!feed1.news.rcn.net!rcn!master.news.rcn.net!not-for-mail From: Dan Nagle Newsgroups: comp.lang.fortran Subject: Re: Fortran Myths & Disinformation Wanted Date: Thu, 04 Feb 1999 14:17:59 -0500 Organization: Purple Sage Computing Solution Lines: 113 Message-ID: <36B9F267.A08A1A6@erols.com> References: <36B9B8FF.4E34BF22@mixcom.com> Reply-To: dnagle@erols.com Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Trace: zCyJu99nlSikc4qSmnWHhUUW6wMYN6KzNXVVrSQreJ0= X-Complaints-To: abuse@rcn.com NNTP-Posting-Date: 4 Feb 1999 19:19:36 GMT To: "Craig T. Dedo" X-Mailer: Mozilla 4.05 [en]C-DIAL (Win95; I) Xref: news.flash.net comp.lang.fortran:68777 Hello, Craig T. Dedo wrote: > > 1. Fortran is 3 way IF statements and one-trip DO loops. Fortran is full of subtle traps for the unsuspecting programmer. C has rarely used features known only by Very Good Programmers. > 2. Fortran encourages unstructured code and spaghetti-style > control flow. Fortran programs written before modern coding techniques were discovered, written by non-programmers and still in use is proof of Fortran's inferiority. The lack of pointers means Fortran can't have "interesting" data structures. The C-pointer adds flexibility, never complexity. > 3. Fortran can't do Windows. Unix will soon go the way of MVS. Linux doesn't exist. WinNT is the only way to network PC's. > 4. Fortran is unportable. If you really want portability, > you should write your program in C. C is the most efficient language because it's closest to the hardware. There are no preprocessors for Fortran, because cpp mangles fixed format Fortran source code. > 5. Fortran is only for scientific and engineering > applications. There are no jobs in science and engineering. Besides, coding yet another GUI for yet another database so yet another dry cleaner can operate at _maximum_ efficiency is more of a challenge. Floating point isn't an interesting datatype. That's why the C.S. dept. has moved _far_ beyond it to really neat things, such as linked lists, B-trees, etc. > 6. The only real fortran is FORTRAN 77 (or, FORTRAN 66). The concepts of depreciated, obsolescent and deleted features only _prove_ that Fortran is an ancient language. C, of course, is completely backward compatible for maximum portability. Unlike the Fortran standards committee, the C standards committee has never made a mistake. The only global data mechanism in Fortran is the unreliable COMMON block. C's file scope rules together with include files make for a much easier to understand scope system, especially if the programmer remembers to use an #ifdef to check to see if the include file has already been include'd. > 7. Fortran can't call system routines. Fortran has no graphics libraries, no message passing libraries, etc. There are no programing utilities to help a Fortran programmer. Netlib doesn't exist since it didn't come from Micro$oft. > 8. You can't do character string operations easily in > Fortran. Library calls are easier to code and easier to read than inline code. The C++ class browser in the IDE means you'll always understand the string classes of the current project. > 9. Only Microsoft makes a PC-based Fortran compiler of any > importance. There are no good development environments for Fortran. Most Fortran compilers don't even come with an editor, and you have to use the C debugger which doesn't understand COMMON. > 10. Fortran is a dead language. No one uses it any more to > write important applications. Now that vector processors are dying out, Fortran will go with them. Blocking for cache re-use is nothing like vectorization. Besides, C's closeness to the hardware makes blocking in C far easier, especially with multi-level caches. That's why the binding for OpenMP for Fortran came out a year before the binding for C. C++ classes represent "reusable" software. A library written in 1967 and in use continually since then is no proof of reusability, nor reliability. > > I would like to expand the list as much as possible. What > other myths have > you heard? Please send them to me and/or post them on > comp.lang.fortran. Done herewith. Of course, rereading MAD MAgazine's _Snappy Answers to Stupid Questions_ helps put one in the proper mindset ;-) -- Cheers! Dan Nagle dnagle@erols.com