Martin Ambuhl wrote in message <36BC008F.6CF45...@earthlink.net>...
...
>My point was that I have been programming in Fortran for over 30 years >and have never heard a number of these "common misconceptions." They >are not "common". There does seem to be some sort of paranoia in this >newsgroup. In the other comp.lang.* newsgroups I very rarely see >complaints about others bad-mouthing their languages. This form of >whining seems largely a property of comp.lang.fortran. Neither do the >anti-C postings in comp.lang.fortran have any parallel of anti-Fortran >postings in comp.lang.c. It is time for us Fortran programmers to grow >up, stop whining, and write code.
Isn't it interesting that you see the evidence and come to the opposite conclusion than what it indicates? The reason that you don't see many threads in the C newsgroups defending the language against disinformation is that users of other languages are not so childish as to spread disinformation in the first place. If you want to complain about whining, try directing your attention to those who initiate these threads: C programmers who come to this newgroup with false criticisms (though, some are honestly misinformed themselves - perhaps the criticism should be directed at those who teach such junk and should know better).
In over 25 years of (mostly) doing programming assistance (help-desk) kind of work, I've heard most of these common misconceptions large numbers of times (indeed more, my list was only about half complete). I've even heard these things come from Computing Science professors. (There's an F90 tutorial on a web site which repeats the Venus probe story!) Who knows how many students each of these professors managed to convince of these falsehoods?
If you haven't heard all, or at least most of these misconceptions over the years it merely means that you have not paid attention to language design issues and discussions. That is where the issue arises. This newsgroup has seen several threads about each of the misconceptions mentioned in just the last few years. All these threads had active participation by C supporters who actually believed the misconception they were defending.
Now, it's true that people on this newsgroup tend to overreact sometimes (as seen by the volume of traffic in this thread itself). I'm as guilty as the next one. In that light, I think the present effort to collect a list of the most common misconceptions so that we can direct people to the list an just subsequently ignore them is a good idea. A long thread of discussion is not necessary if the full response to the issue is already posted to a web site somewhere.
>I'm especially amused and disgusted to hear, over and over, that, >compared to Fortran, C is both 1) closer to the hardware (and >therefore faster) and 2) more portable. >Since these are otherwise intelligent people, one can only assume >these statements are the result of indoctrination while in school. >Part of the cost of hiring a BSCS for a scientific or engineering >programming job is un-doing the indoctrination. ><snip sig> >-- >Cheers! >Dan Nagle dna...@erols.com
I guess I'm lucky. My BS program in CS never taught me any such thing, but rather taught me enough to recognize a fallacy when I see one. Surely the program I went to wasn't the only one including comp architecture.
Being ordinary and nothing special is a full-time job. mcmah...@flash.net (Jim McMahon in real life)
"Andrei A. Dergatchev" <A.Dergatc...@tn.utwente.nl> writes:
>> If there are Nf Fortran programmers and Nc C programmers, we'd expect >> [ snip ] >> In order for the proposition to be true, the condition is that Nc>Nf.
> And how about a density of programmers per room at very large Ns ;-) ?
At such large densities, they must be in a solid-state phase. Classical Science (CS-types) would describe their density by a Maxwell-Boltzmann distribution. Real programmers, however, are SC-types (Semi-Conductors, of N or P-type.) Therefore they must obey Fermi-Dirac statistics, otherwise they might end up all using the same programming language.
They always form two groups, separated by a band gap. In the Conduction band there are only a few (C programmers.) In the Valence band (Fortran V programmers) they are very dense. For them, the dynamics is described by the few holes that are left (in punch-cards.)
Martin Ambuhl <mamb...@earthlink.net> writes: > My point was that I have been programming in Fortran for over 30 years > and have never heard a number of these "common misconceptions." They > are not "common".
All is relative. Certainly I don't expect to hear them at a party (there are much better topics for conversation). But they are common within that subset of the population who's had an introductory programming class in college but hasn't moved on to doing serious work in a field where Fortran is widely used. Those people probably outnumber Fortran users ten to one or so. Mostly this is harmless because they don't really need to be accurately informed on Fortran; but that's a bit like saying that tuberculosis is mostly harmless because so many carriers remain healthy.
> There does seem to be some sort of paranoia in this > newsgroup. In the other comp.lang.* newsgroups I very rarely see > complaints about others bad-mouthing their languages. This form of > whining seems largely a property of comp.lang.fortran.
As I think I mentioned earlier, comp.lang.ada has its share. I don't follow the others (not even comp.lang.c, although I do use C for a number of things myself) closely enough to comment further.
> Neither do the > anti-C postings in comp.lang.fortran have any parallel of anti-Fortran > postings in comp.lang.c. It is time for us Fortran programmers to grow > up, stop whining, and write code.
In what language?
Besides, I'm ever more reluctant to write new code these days. Reuse is the name of the game (or should be). In any language. Perhaps that's what programming classes should focus on: how to design a good library.
James Giles wrote: > The reason that you don't see many threads > in the C newsgroups defending the language against disinformation is that users > of other languages are not so childish as to spread disinformation in the first > place.
Actually, this is not quite true. I may have overstated how little spreading of disinformation there is. These days, C is out of favor with the faddists. I think a large amount of the cluelessness about Fortran came from a specific generation of "C programmers", namely those from the period in which it had a priveledged vogue in the computing world. In the current world, the chasers after fashion are going to Java and C++. This means that most of the active C programmers I see, although obviously YMMV, are more sophisticated, and are very likely multi-lingual, including Fortran.
There are large numbers of Java, C++, and Visual Basic, along with some niche language people who enjoy posting inflammatory posts. I know that the usual approach in comp.lang.c is to ignore the content of such posts and tell those posters to start their flamewars elsewhere.
>If you want to complain about whining, try directing your attention > to those who initiate these threads: C programmers who come to this > newgroup with false criticisms
I agree completely with the sentiment, although, as I indicated, I think that these days C-raiders are less likely than some others.
If I were not a Fortran programmer, as well as a user of other languages, I would never post in comp.lang.fortran. Fortran programmers, like programmers in other languages, do find occasional difficulties in using their language for certain tasks. They have no reason to put up with people who have purely destructive reasons for posting.
Faddish and niche language users are often much more likely to be poorly informed about the master languages. Fortran is the master language in numerical applications, and often well suited to other kinds of programming. Cobol is the master language in financial applications, and often used satisfactorily in other contexts. Ada is another language that has suffered unfairly.
You should know that there are a number of posters here who are also frequent posters in comp.lang.c. I have never seen an anti-Fortran posting from any of them.
>(though, some are honestly misinformed > themselves - perhaps the criticism should be directed at those who teach > such junk and should know better).
> In over 25 years of (mostly) doing programming assistance (help-desk) kind > of work, I've heard most of these common misconceptions large numbers > of times (indeed more, my list was only about half complete). I've even heard > these things come from Computing Science professors. (There's an F90 > tutorial on a web site which repeats the Venus probe story!) Who knows > how many students each of these professors managed to convince of these > falsehoods?
> If you haven't heard all, or at least most of these misconceptions over the years > it merely means that you have not paid attention to language design issues and > discussions.
This is inflammatory and absolute bullshit. I have been involved in writing compilers for six different languages. Perhaps it is precisely because I HAVE paid attention to language design issues and discussions that I am not surrounded by idiots.
-- Martin Ambuhl (mamb...@earthlink.net) Note: mamb...@tiac.net will soon be inactive
> I guess I'm lucky. My BS program in CS never taught me any such > thing, but rather taught me enough to recognize a fallacy when I see > one. Surely the program I went to wasn't the only one including comp > architecture.
<snip sig>
You may well be luckier than you think. I've repeatedly heard the Fortran misinformation (hereinafter FM) from CS folks from recent BSCSs to experienced PhDs.
Along with FM, the most recent BSCS I've dealt with (I was supposed to mentor the him) didn't know what IEEE 754 was. The only Math he had, beyond freshman calculus, was a choice of Formal Algebra or Discrete Equations. He had not one hour of Numerical Analysis.
I may have posted this before, but I gave him the task of adding epsilon()/2. to 0. 1e8 times, and then adding 1. versus adding epsilon()/2. to 1. 1e8 times. He needed some time to figure out why the answers differed (and he's a very bright fellow).
BTW, Ada has the same problem. The thread Re: C++ v. Java v. Ada has been running for some weeks now. Currently, the C++ advocates are trying to make the case the terseness and safety are correlated, and that wordiness in a language makes programs hard to read and understand, if I understand the arguments correctly.
Martin Ambuhl wrote in message <36BD50DE.91668...@earthlink.net>... >James Giles wrote: ... >> If you haven't heard all, or at least most of these misconceptions over the years >> it merely means that you have not paid attention to language design issues and >> discussions.
>This is inflammatory and absolute bullshit. I have been involved in >writing compilers for six different languages. Perhaps it is precisely >because I HAVE paid attention to language design issues and discussions >that I am not surrounded by idiots.
Point 1: Let's see if I have your position about what constitutes "inflammatory" behavior correct. You are saying that telling us all that we are merely whining is not inflammatory? You are saying that introducing abusive language is not inflammatory. But you are saying that expressing an opinion in a civil and polite tone *is* inflammatory? I disagree.
Point 2: I was talking about the study of language design, not the study of languages or their implementation. There's no doubt about it: knowing several languages is a prerequisite to the study of language design. And knowing how languages and their features are implemented is also an important part of your background if you want to *start* studying language design.
But, the study of language design only starts with those skills. You must also learn how other people program: from absolute novice to grizzled veteran. You must discover what kind of mistakes they make and how differing language designs effect this. You must learn how they debug. How succesful are they? How long does it take? How would a change in the language's features effect this? You must learn how (or if) users are managing to reuse previously written code (surveys indicate that C++ users don't reuse any more code than people programming in more coventional languages). If they aren't reusing code, why not? Etc.. The study of language design is largely an exercise in applied ergonomics. Knowing the technical side of language features and implementation is only the starting point. I knew and used perhaps two dozen languages and worked on three different compilers before I even *began* studying language design.
Point 3: After reconsidering my previous statement, I still stand by it. I don't think it's actually possible to make an even cursory study of language design (unless you avoid the subject of Fortran entirely) without running across many, if not most of the myths & disinformation discussed in this thread. The first SIGPLAN conference or POPL symposium you attend will undoubtedly expose you to several, otherwise intelligent, people who actually believe most of this stuff.
Point 4: After reconsidering your original position I disagree even more about the value of this thread. I did consider it merely a tool to collect information to use to debunk common complaints that surface here. However, after the above analysis, I realized that the kinds of things people complain about and the nature of their criticisms says a lot about what they consider important about languages. It is another (admittedly minor) resource in the study of language design. It's a quite valid thing to discuss. So, this thread is far from "whining", but actually has value in two different ways.
This thing has wandered far enough afield, but just to keep it going, it seems in the years since I left school the meaning of affect and effect have reversed their meaning.
James Giles wrote in message <79kvni$...@bgtnsc03.worldnet.att.net>...
>Martin Ambuhl wrote in message <36BD50DE.91668...@earthlink.net>... >>James Giles wrote: >...
>> Neither do the >> anti-C postings in comp.lang.fortran have any parallel of anti-Fortran >> postings in comp.lang.c. It is time for us Fortran programmers to grow >> up, stop whining, and write code.
>In what language?
>Besides, I'm ever more reluctant to write new code these days. >Reuse is the name of the game (or should be). In any language. >Perhaps that's what programming classes should focus on: how >to design a good library.
Why is it that people that people often talk about how to write reusable code when they discuss re-use, rather than how to re-use existing code? Remember that for code to be reusable, it must first be usable. One advantage old code has, is that it has been proven to be useful. The challenge should be to re-use it in a new context, even if it has some flaws. For example you can re-use legacy Fortran code in a C++ program, see http://home.sol.no/~arnholm/cppf77.htm
The language wars seem pointless, in my opinion. Use what suits you and your problem best. It's like religion, I have my own preference, but I have to accept other poeple's opinions also.
Peter Loftus wrote in message <_rpv2.18340$Jz1.6048...@news2.voicenet.com>... >This thing has wandered far enough afield, but just to keep it going, it >seems in the years since I left school the meaning of affect and effect have >reversed their meaning.
I plead guilty. However, used as a transitive verb, 'effect' means "to bring about, accomplish" and 'affect' means "to act upon, influence". In the context I used the word either interpretation is meaningful (barely). I admit I lazily spell both meanings with an 'e'. A bad habit, but not my worst.
> Martin Ambuhl wrote in message <36BD50DE.91668...@earthlink.net>... > >James Giles wrote: > ... > >> If you haven't heard all, or at least most of these misconceptions over the years > >> it merely means that you have not paid attention to language design issues and > >> discussions.
> >This is inflammatory and absolute bullshit. I have been involved in > >writing compilers for six different languages. Perhaps it is precisely > >because I HAVE paid attention to language design issues and discussions > >that I am not surrounded by idiots.
> Point 1: Let's see if I have your position about what constitutes > "inflammatory" behavior correct.
Don't be purposely obtuse. You insulted someone doing systems programming and language development by saying that "you have not paid attention to language design issues and discussions." Had you excercised some elementary language skills and read my post you know what I meant.
> You are saying that telling us > all that we are merely whining is not inflammatory?
If you regard it inflammatory to call whining by its proper name, that's your problem.
You are saying
> that introducing abusive language is not inflammatory.
When you introduce gratuitous insults, you invite whatever you get. When your insult is not only wrong, but based on no data, it can hardly be wrong to call it bullshit. If your statement is offended, let it post. No one called you anything.
> saying that expressing an opinion in a civil and polite tone *is* > inflammatory? I disagree.
Insults are not civil and polite. I agree civil and politely expressed opinions are not inflammatory. Your pointed, incoreect, and baseless insults are inflammatory and you should apologize for them rather than pretending to be on some high moral ground.
-- Martin Ambuhl (mamb...@earthlink.net) Note: mamb...@tiac.net will soon be inactive
Martin Ambuhl wrote in message <36BEADFE.FAB46...@earthlink.net>...
...
>Don't be purposely obtuse. You insulted someone doing systems >programming and language development by saying that "you have not paid >attention to language design issues and discussions." Had you >excercised some elementary language skills and read my post you know >what I meant.
I intended no insult and posted none. It is quite clear that you have not paid any attention to language design issues or you would immediately grasp the following point: systems programming and language development are interesting, useful, and related activities, but they aren't language *design*. It is quite possible for someone to do systems programming and language development quite professionally for many years and not have spent so much as a second considering language design (though this is one of the reasons we have some badly designed languages around - C for example). I see nothing insulting about pointing that out. Language design is a pretty obscure corner of computing (though it shouldn't be in my opinion) and to lack background in it is no reflection on your skills at all.
>When you introduce gratuitous insults, you invite whatever you get. >When your insult is not only wrong, but based on no data, it can hardly >be wrong to call it bullshit. If your statement is offended, let it >post. No one called you anything.
Find anything I've said that's objectively insulting and I'll take it back. It is still my opinion, based on plenty of data, that it's not possible to have studied language design in even a cursory fashion and not have heard most of the myths and disinformation this thread discusses. At least, not if Fortran is among the languages whose design is studied.
"James Giles" <jamesgi...@worldnet.att.net> writes: >Peter Loftus wrote in message <_rpv2.18340$Jz1.6048...@news2.voicenet.com>... >>This thing has wandered far enough afield, but just to keep it going, it >>seems in the years since I left school the meaning of affect and effect have >>reversed their meaning.
[snip]
I always thought that 'affect' was one of those things that psychiatrists said about their patients...
as in 'I found that his affect was blunted after I gave him 500mg of Thorazine (TM)'
Dan Nagle <dna...@erols.com> writes: > BTW, Ada has the same problem. The thread Re: C++ v. Java v. Ada > has been running for some weeks now. Currently, the C++ advocates > are trying to make the case the terseness and safety are correlated, > and that wordiness in a language makes programs hard to read and > understand, if I understand the arguments correctly.
So C++'s advocates are Devil's advocates?
I'll have to read that thread more closely. I confess I've been skipping over some of the subthreads. Certainly the rationale behind Ada's (and Cobol's) verbosity is that it makes the code easier for people other than the author to read and understand. To be arguing the opposite is, well, rather eccentric.
Which brings me to Carsten Arnholm's question in this thread: why is there so much talk of how to write reusable code and so little of how to reuse existing code? I think he may have a point, in that one should *also* teach how to make effective use of existing code. However, writing reusable code is undoubtedly a much harder exercise than reusing well-written code, and therefore requires more practice.
I find that my reuse of other people's code is often limited by the following factors:
1. Lack of documentation. I have to read the source in order to figure out what the code does. Comments are scarce and not necessarily up to date. Even if they are, it is unwise for me to rely on that assumption.
2. Lack of generality. The code has input data or problem-specific shortcuts hardwired into it. If I want to reuse it on a different problem, I must sometimes make changes in non-obvious places.
3. Lack of trust. To a large extent this follows from the lack of documentation, but there is more to it. If the code is sloppily written (that's not the same thing as unreadable, although the two are correlated) my confidence in the author's abilities is diminished.
Teaching people how to avoid those pitfalls in any new code they write will make code reuse much easier for everyone.
> Martin Ambuhl wrote in message <36BEADFE.FAB46...@earthlink.net>... > ... > >Don't be purposely obtuse. You insulted someone doing systems > >programming and language development by saying that "you have not paid > >attention to language design issues and discussions." Had you > >excercised some elementary language skills and read my post you know > >what I meant.
> I intended no insult and posted none.
Very good. When I say that you have obviously no familiarity with truth or with the standards of discourse, I mean no insult and post none.
> It is quite clear that you have > not paid any attention to language design issues or you would immediately > grasp the following point:
Since your statement "that you have not paid any attention to language design issues" has less correspondence to fact, shows less familiarity with the addressed subject, and less research than do any of the cited myths about Fortran, it is clear that your standard for assertions finds nothing objectionable about any of the myths about Fortran.
-- Martin Ambuhl (mamb...@earthlink.net) Note: mamb...@tiac.net will soon be inactive
Martin Ambuhl (mamb...@earthlink.net) wrote: : James Giles wrote:
: > It is quite clear that you have : > not paid any attention to language design issues or you would immediately : > grasp the following point:
: Since your statement "that you have not paid any attention to language : design issues" has less correspondence to fact, shows less familiarity : with the addressed subject, and less research than do any of the cited : myths about Fortran, it is clear that your standard for assertions finds : nothing objectionable about any of the myths about Fortran.
Guys, could you please sort it out somewhere in private?
Martin Ambuhl wrote in message <36BF40DD.29B77...@earthlink.net>...
...
>Very good. When I say that you have obviously no familiarity with truth >or with the standards of discourse, I mean no insult and post none.
You would also be wrong. I know enough about truth and the standards of discourse to know that indignation is not evidence. You have twice tried to bluff you way through without addressing the *content* of my position by just venting your indignaton. ...
>Since your statement "that you have not paid any attention to language >design issues" has less correspondence to fact, shows less familiarity >with the addressed subject, and less research than do any of the cited >myths about Fortran, it is clear that your standard for assertions finds >nothing objectionable about any of the myths about Fortran.
The more you protest, the more convinced I am. If you had any background which involved any knowledge of the ergonomics of languages, you'd have mentioned it by now. The fact that you haven't indicates that you don't have such background. You could claim that ergonomics has nothing to do with the subject of language design. If you did that most would disagree, but at least you'd have a consistent position to defend. But to merely restate that I'm wrong is not a valid argument.
Why don't you just admit it? You are an implementor and systems programmer and any ideas you have about language design are merely based upon your own tastes rather than on any study of ergonomics or wide experience with large numbers of other programmers. There's no stigma attached to that. Most people have made no effort to study the ergomomic issues of programming.
James Giles wrote: > >> My question is: why use Fortran? I had to learn Fortran 77 recently to > >> develop numerical analysis programs. Most of the time I spent on my > >> programs was dedicated to getting around some constraints of Fortran: > >> arrays whose index start at 1, only 1 type of loop, the necessity of GOTO
A second reading seems to confirm just how deep the indoctrination is. The young thing didn't come to this opinion by doing but by immersion in the academic vapor. Had she only done a single array app she would have learned just how annoying, indeed counter intuitive, is the rigidity of zero based indexing constraint -- hilarious, if not sad, is her (learned) mindset, falsity and all, that start at 1 is a *constraint* while the start at 0 is a *C*ementex* blast.
>Which brings me to Carsten Arnholm's question in this thread: >why is there so much talk of how to write reusable code and so >little of how to reuse existing code? I think he may have a point, >in that one should *also* teach how to make effective use of >existing code. However, writing reusable code is undoubtedly a much >harder exercise than reusing well-written code, and therefore requires >more practice.
>I find that my reuse of other people's code is often limited by the >following factors:
>1. Lack of documentation. I have to read the source in order to figure >out what the code does. Comments are scarce and not necessarily up to >date. Even if they are, it is unwise for me to rely on that assumption.
This is an interesting observation. The most important aspect of reusable code may not always be the code itself, but the way it is commented or otherwise documented. Therefore, when discussing how to write reusable code one should also discuss how it should be documented.
A very important thing in the long run is that documentation will become detached from the source code. My experience is that the only documentation that will be maintained is the documentation that is in source code comment format.
>2. Lack of generality. The code has input data or problem-specific >shortcuts hardwired into it. If I want to reuse it on a different >problem, I must sometimes make changes in non-obvious places.
If you have to change it, it may be usable, but perhaps not very re-usable. Reuse by cut-and-paste is the "lowest" form of reuse. Ideally, the code that you are re-using should not be touched, because then you take over the responsibility for its maintenance. Often, it is possible to avoid this. If the interface contains problem-specific short-cuts, you may be able to hide that in a (well written?) layer of your own.
>3. Lack of trust. To a large extent this follows from the lack of >documentation, but there is more to it. If the code is sloppily >written (that's not the same thing as unreadable, although the >two are correlated) my confidence in the author's abilities is >diminished.
Trust in the code should also come from its past performance. If it has worked well for a number of years, if its interface is well described, it could be re-used even if the code looks sloppy ("sloppy" may be a subjective term?). Other than that, I totally agree.
> > And is this thread at all about squealing? I thought it was about > > identifying common misconceptions to be debunked in an information > > campaign. There is no reason the supporters of C and Cobol couldn't > > do the same, to the benefit of us all.
> My point was that I have been programming in Fortran for over 30 years > and have never heard a number of these "common misconceptions." They > are not "common". There does seem to be some sort of paranoia in this > newsgroup. In the other comp.lang.* newsgroups I very rarely see > complaints about others bad-mouthing their languages. This form of > whining seems largely a property of comp.lang.fortran. Neither do the > anti-C postings in comp.lang.fortran have any parallel of anti-Fortran > postings in comp.lang.c. It is time for us Fortran programmers to grow > up, stop whining, and write code.
Having monitored a number of comp.lang.* newsgroups for a while, I believe the problem is that advocates of other languages are more likely to troll through comp.lang.fortran with statements such as "the language is obsolete; why not use language X?". I would submit that few FORTRAN programmers would post a troll to (say) comp.lang.c. Although I don't monitor COBOL related newsgroups [I don't work in a domain suited to COBOL], I suspect they would encounter similar trolls.
Isn't that a problem that this thread aimed to address? The fact is, there is a fair amount of misconception --- some positive but mostly negative --- on the strengths and weaknesses of FORTRAN vs other languages. Let's get these misconceptions (whether common or otherwise) out in the open, and address them honestly. And give serious programmers the information they need to make informed choices between languages or on the use of multi-language programming.
-<Automagically included trailer> Robert O'Dowd Ph +61 (8) 8259 6546 MOD/DSTO Fax +61 (8) 8259 5139 P.O. Box 1500 Email: robert.od...@dsto.defence.gov.au Salisbury, South Australia, 5108
Disclaimer: Opinions above are mine and may be worth what you paid for them
>Which brings me to Carsten Arnholm's question in this thread: >why is there so much talk of how to write reusable code and so >little of how to reuse existing code? I think he may have a point, >in that one should *also* teach how to make effective use of >existing code. However, writing reusable code is undoubtedly a much >harder exercise than reusing well-written code, and therefore requires >more practice.
Of course, Fortran programmers have been practising code reuse for the past 40 years. Fortran libraries such as EISPACK, LINPACK and LAPACK have been the model of code reuse. In addition, there are collections of source codes such as TOMS (nee CALGO).
The simple fact is that it is very hard to write high-quality codes for scientific computing. If a routine one needs is already available, it is hard to justify the effort of writing such codes oneself.
Robert O'Dowd wrote: > Having monitored a number of comp.lang.* newsgroups for a while, I > believe > the problem is that advocates of other languages are more likely to > troll through comp.lang.fortran with statements such as "the language > is obsolete; why not use language X?". >I would submit that few FORTRAN > programmers would post a troll to (say) comp.lang.c. Although I don't > monitor COBOL related newsgroups [I don't work in a domain suited to > COBOL], > I suspect they would encounter similar trolls.
This is absolutely true. Mature progamming languages tend to be used by more mature progammers. This rule is not, of course, absolute. Fortran, Cobol, PL/1 programmers fall into this group. Their newsgroups tend to be targets of trolls; the programmers tend not to troll.
At one time C and Ada were faddish languages. Children with half-digested statements from their lecturers often would troll other groups. For the most part, C and Ada are no longer stylish and those languages and their programmers have graduated in to the mature group.
C++ and Java are the languages de jour in many departments. Not only do student programmers troll other places, but misquote in their own newsgroups what they think they have been taught.
Other problems arise from hobbyists who think that Visual Basic and Windows define the world. Similarly, niche languages like Forth and Smalltalk produce a small group of trollers.
> Isn't that a problem that this thread aimed to address? The fact is, > there is a fair amount of misconception --- some positive but mostly > negative --- on the strengths and weaknesses of FORTRAN vs other > languages. Let's get these misconceptions (whether common or otherwise) > out in the open, and address them honestly. And give serious > programmers the information they need to make informed choices between > languages or on the use of multi-language programming.
I agree. However, it seems that the population from which Fortran programmers have traditionally come is very likely to still be exposed to Fortran. The nonce-programmers who are now filling CS departments will soon be stockbrokers. They used to major in Business Math.
Certainly anyone interested in High Performance Computation will be exposed to Fortran in all its glory.
-- Martin Ambuhl (mamb...@earthlink.net) Note: mamb...@tiac.net will soon be inactive
Errr,pardon me for jumping in with an addition to Craig's list (as opposed to a personal insult to anyone's grandmother), but another one is:
XX. There are no bit manipulation operations in Fortran.
Craig T. Dedo wrote: > 3. Fortran can't do Windows.
The truly comical thing is that Fortran is actually _better_ at Windows than C. As the late great Microsoft demonstrated with their QuickWin, the Fortran OPEN and CLOSE statements are natural ways of opening and closing a window in a GUI environment. I sometime wonder if MS didn't ditch Fortran in order to avoid facing the fact that an extension of QuickWin would make it much easier for Windows programming than the language that they were using by fiat.
When I refer to extensions to QuickWin, I am thinking of such things as naming a window's callback function with a clause in the OPEN statement. Another would be to continue the use of user-specified logical unit numbers to address the windows, rather than the handle mechanism (where the mystery value is known only at run time).
> 4. Fortran is unportable. If you really want portability, you should write > your program in C.
If you want a real hoot, ask a C programmer how he would perform character string manipulations on a machine that is not byte addressable. (I did that in the Watcom booth at a "Software Development" show one time; the blood visibly drained from the face of one of the company's founders.) They have the PDP-11 architecture etched into the language, and fail to consider what they would do with something like a CDC 7600: no bytes, 60-bit "floats," and very slow "doubles.". The Fortran CHARACTER variable type is as portable as they come.
> 5. Fortran is only for scientific and engineering applications.
Geez, somebody should have told those guys at Perkin-Elmer that it was impossible. Salford, too.
> 6. The only real fortran is FORTRAN 77 (or, FORTRAN 66).
And they spell "Fortran" in ALL CAPS, inorder to show that they are so clueless that they haven't even read the _first_ page of the standard, where X3J3 declared the word to be a proper noun rather than an acronym.
> 7. Fortran can't call system routines.
This one has annoyed me since the early days of the PC. Syetm call routines are loaded into the libraries for C (and in the past, Pascal), but not Fortran. Then, even some of the compiler makers repeat this line as an excuse for not including the same routines in their Fortran libraries. This is a perfect example of a self-fulfilling prophesy. Another excuse is:
7A. The ANSI spec didn't require us to put it in the Fortran product.
It didn't require them to put it in the other boxes, either, but they did it.
> 8. You can't do character string operations easily in Fortran.
See above.
> 9. Only Microsoft makes a PC-based Fortran compiler of any importance.
Microsoft? Who's that? Don't they specialize in a knock-off of Java, but one that doesn't satisfy the Sun standard? And how can they run a company where nobody in management can remember what he meant in his memos? *We* have a language that is do powerful that it scared Bill Gates away!
Oh, yes, then there's the one about how only by explicitly declaring all the variables is it possible to detect misspelled variables. You hear that one from folks who have never used a comiler that included the error messages:
"Variable <name> is used but never given a value."
and
"Variable <name> is given a value but never used."
and
"Variable <name> is declared but never used."
It turns out that modern compilers can identify all the really bad issues involving misspelled variables. (Whether the compiler makers want to emit these helpful messages or not is another question.) Nobody wants to admit that the real reason with the Algol family of languages requires the user to declare all the variables is to make it easier for the compiler writer. And, as everybody in semicolonland knows, the sole purpose of a computer is to support a compiler, and that compilers are never used except to write new compilers. Therefore, shifting work from the compiler writer to the compiler user makes perfect sense because there are more people in the first set than the second, and the customer is always wrong.
ess...@ix.netcom.com wrote: > "Tony T. Warnock" wrote:
> > They are only believed in academia and by managers.
> What a comforting thought -- that's all it takes to assure the path to > extinction. What future is there once you "poisson" all the children!?? > _ > B.Voh