logoalt Hacker News

MiroslavPokornytoday at 8:38 AM5 repliesview on HN

What i dont understand is why does everything have to be so brief. Take car and cdr there is only one character difference, more character differences is a good thing not bad.


Replies

gumbytoday at 8:56 AM

More short names fit in your fovea than long names so for the most common operations they are the easiest to read. It’s the same reason the most common words in human languages are the shortest (and programming languages are for humans to use so subject to the same pressure.

Also, Back In The Old Days memory was very expensive and precious so short identifiers were important. Often labels were tightly constrained, for example being limited to six upper-case characters so they would fit in a single word.

jiggawattstoday at 10:00 AM

Everyone else is just guessing. The real reason is that these were three-letter abbreviations from IBM assembly language:

    CAR = Contents of the Address part of Register
    CDR = Contents of the Decrement part of Register
This kind of TLA is common in assembly languages and LISP just inherited this because early implementation used these literal instructions.
show 1 reply
Sharlintoday at 8:57 AM

The usual convention (which also occurs in natural languages) is that often-used words should be short, rarely used should (and can afford to be) more descriptive.

kgwgktoday at 9:33 AM

Why waste time say (write) lot (long) word when few (short) word do trick?

show 1 reply
thaumasiotestoday at 8:50 AM

> What i dont understand is why does everything have to be so brief.

The concept is to make things easier for people who are familiar with the language. Making things harder for that group is always counterproductive, because they are the only people who can do any useful work.