Each member of X3J3 will complete the following form, the
secretary will record the total points, and the member will be
allowed that many votes on each issue. I apologize to the
secretary for the extra work involved, but fairness is surely more
important.
To the secretary: Please put me down as having 77 votes.
Of course, I tried to rig it so I would have the most points,
but Jim Matheny of CSC had more.
Ok, conservatively, I have 1+14+22+0+(-11) = 26 points (sure
hope I added and subtracted right! The -11 might be a bit extreme,
but I really can't remember writing anything over 500 in FORTRAN
that's "important" since 1980 or 81 or so.
Does this mean I'm not allowed to write a FORTRAN compiler?
I think another fun way to determine how many votes people on
X3J3 get is to come up with a test of ones' current perceptions of
FORTRAN and it's place in the industry. It should be mostly
multiple-choice/true-false but perhaps some essay questions as
well.
For example (with answers at the bottom of the post, but not
upside-down):
Question 1: The forthcoming FORTRAN standard [now F90] is
important because:
a. It will make it easier for people to write useful FORTRAN
programs,
b. It will give compiler vendors more work to do and
products to sell,
c. It will make it easier for people to teach others how to
write FORTRAN,
d. It will serve as the ideal application lanuguage for
Windows 3.0.
Question 2: The FORTRAN 77 standard was important because:
a. It was the first time anyone ever wrote down what FORTRAN
was supposed to be used for,
b. Its deadpan writing style was the perfect antidote to the
'70s disco craze,
c. Nobody thought it was possible,
d. It gave compiler vendors more work to do and products to
sell,
e. It made it easier for people to write useful FORTRAN
programs.
Question 3: The arithmetic-IF (three-way) statement is in the
FORTRAN language because:
a. IF statements having higher prime numbers of branches
(five, seven, and so on) were found hard to implement on
binary computers,
b. It used to be the only way for people to write useful
FORTRAN programs,
c. It more closely models human expectations than the
logical-IF statement, since at most intersections, a
driver has three choices as to which direction to take,
d. It makes writing applications for Windows 3.0 easier.
Question 4: NAMELIST was added to the forthcoming FORTRAN standard
because:
a. There was no other way to make people use it,
b. There was no other way to stop people from using it,
c. It makes writing device drivers for UNIX easier,
d. People claimed it would make it easier for them to write
useful FORTRAN programs,
e. Visual BASIC has it.
Question 5: Recent and future FORTRAN standards disallow
multiple-dummy and/or dummy/common aliasing of any variable when
the called procedure modifies any variable involved in the aliasing
because:
a. It will give compiler vendors less work to do and faster
products to sell,
b. There should really be only one way to skin a cat,
c. FORTRAN programming is for people who have nothing else
to do but remember obscure rules like this,
d. It makes it easier for people to write useful FORTRAN
programs,
e. I don't know what a dummy is.
Question 6: Despite the fact that almost all FORTRAN
implementations are on machines that use binary arithmetic,
numerical constants in FORTRAN are expressed in decimal (base 10)
notation because:
a. It makes it easier for people to write useful FORTRAN
programs,
b. There's only so much a computer should know,
c. Lots of FORTRAN programmers are used to COBOL PIC(999)
stuff,
d. Keypunch machines are notoriously difficult when it comes
to punching hexadecimal (base 16) numbers,
e. It will give anal-retentive mathematicians more
explaining to do about how you never quite get what you
want with floating-point, and that seems to keep them
happy.
Question 7: The name FORTRAN itself means:
a. Formula Translation,
b. Forty Random features in one language,
c. Forget your computer-science Trai ning,
d. For The Right Answers,
e. FORTRAN Only Resembles Text Remotely At Night,
f. Nothing, it is one of those made-up marketing names like
MUMPS.
I'm sure many of the rest of you could contribute more. Then
we'd have omething real with which to test people! (On the other
hand, my use of grammar in the previous sentence, where I refused
to end a sentence with a preposition, should invalidate me for
membership on most committees. :-)
Here are my proposed "points" for the above questions, and the
reasons why:
Question 1:
a. 10 points -- You can't argue with this and be useful to
X3J3,
b. 10 points -- You can't argue with this and be useful to
X3J3,
c. 9 points -- Point off for thinking teaching is as
important as selling and using, since there's little
money in teaching,
d. 0 points -- Try again when we start the standardization
process for Visual FORTRAN.
Question 2:
a. 2 points -- Nice fantasy,
b. 3 points -- True, but we fear your antidote to New Age
music,
c. 4 points -- Doing the impossible gets boring after a
while on X3J3,
d. 10 points -- Cynicism important for X3J3 reps,
e. 10 points -- Cynicism important for X3J3 reps.
Question 3:
a. 1 point -- For at least keeping up with comp.arch,
b. 10 points -- Your grasp of history is impeccable,
c. 5 points -- Always good to model human situations, but
think: are such intersections ideal, or perhaps modeled
on FORTRAN?
d. 0 points -- Not true, since mouse up/down/drag status is
not available as an integer value.
Question 4:
a. 0 points -- Oh come on!
b. 1 point -- Right idea, wrong application,
c. 0 points -- This is never a reason for a FORTRAN feature,
and wrong too
d. 10 points -- Truly, there seems to be no other answer
e. 5 points -- Excellent abstract thinking, points off for
being mistaken
Question 5:
a. 10 points -- A longer answer is possible, but a waste of
time,
b. 9 points -- Not quite as eloquently expressed as (a),
c. 8 points -- Mostly true, but if we can get others to
tryit as well, compiler vendors can sell more compilers,
d. 4 points -- Only if you replace "easier" and "useful"
with "possible" and "fast,"
e. 10 points -- You are likely to be excellent in X3J3
diplomacy.
Question 6:
a. 10 points -- Strangely, most people still think in base
0xA,
b. 4 points -- True in sentiment, false in implementation,
decimal gives the compiler more information than it
needs, sometimes,
c. 2 points -- It doesn't help them any, actually; COBOL
programmers don't even understand what is meant by
"Division" in FORTRAN,
d. 7 points -- Modern keypunch machines have their own hex
entry pads,
e. 10 points -- The scary thing is, they're right.
Question 7:
a. 10 points,
b. 9 points -- One point off for minor historical
inaccuracy,
c. 4 points -- Cynicism not that important to X3J3,
d. 5 points -- Wrong, but simple-minded answer suggests,
malleable X3J3 voter,
e. 1 point -- X3J3 hardly needs more
recursive-acronym-loving FSF weenies,
f. 0 points -- Not even close.
Note: This sample test is protected by the GNU Public License.
You may redistribute it only if you include with the distribution
all the answers and free copies of the FORTRAN 66, FORTRAN 77, and
FORTRAN 90 standards, plus MIL-STD 1753, for the recipients'
background reading.