C89, as well as earlier pre-standard versions of the language, had an
"implicit int" rule, <snip>
(As I understand it, saving keystrokes was more important when C and
its ancestor languages were first designed; the teletypes of the time
required a lot more pressure to enter characters than a modern
keyboard does. That rationale has been irrelevant for many decades.)
If you mean actual (mechanical) Teletypes, yes the keyboard was pretty
'hard' (especially if not oiled!). But the then common and affordable
Teletype models (33 and to a lesser extent 35) didn't have lowercare
and { | } ~ which made using them for C inconvenient indeed. (Yes, the
Unix tty driver had workarounds to allow use of uppercase-only
terminals. Really ugly workarounds. Workarounds which could be the
dictionary illustration for 'bletcherous'. Well, at least if the
Hacker's Dictionary were illustrated. <G>)
If you mean other types of terminals, then commonly if inaccurately
referred to generically as 'teletypes' or 'ttys' (and especially video
character terminals, commonly called 'glass ttys'), they almost all
used electronic keyboards generally similar to most of today's. The
only other then-common terminal with a mechanical keyboard I recall
was the IBM 2741, based on their Selectric typewriter, which was
beautifully engineered and even though mechanical was quite easy to
use if properly maintained. (Except when locked by the system it was
connected to, but that wasn't the terminal's fault.)
A more possible rationale was the cost of disk and limits on memory,
but I think the real reason (and undisputably _a_ reason) is that C
derived from B which didn't ALLOW specifying any type, and it was very
useful in transitioning programs, and programmers, to allow old code
and styles to continue working. Perhaps this 'phase-in' should have
been ended earlier than '99, though.
<snip rest>
- formerly david.thompson1 || achar(64) || worldnet.att.net