HACKER Q&A
📣 amichail

Why is minimalism good for computer languages but bad for natural ones?


For example, a large vocabulary is considered a good thing for natural languages but not for computer languages.


  👤 injb Accepted Answer ✓
It's a good question. Its worth noting that minimalism is generally considered a good style for writing or speaking natural languages. Think of writers or speakers known for great style: Hemmingway, Churchhill, Shakespeare[1]. They all used very simple language.

As Churchill wrote (or so the internet tells us):

>> Short words are best - and old words, when short, are best of all.

So using a more concise vocabulary is sometimes considered good. Now it is true that "having a large vocabulary" is widely considered a good thing in a person, i.e. a sign that they're educated/smart etc. But that's just because it's common for ordinary people to be somewhat deficient in vocabulary. Once you have enough, having more isn't necessarily better.

I think it would be interesting to compare the vocabulary of different languages with their literary fame. Certainly English and Russian would be near the top of the list (for fame), and they both have far more words than French for example. But it's hard to compare vocabulary sizes between languages because words can change (inflection etc.), become unpopular etc.

[1] If you read or listen to one of Churchills speeches, it's hard to imagine how they could be improved. But you won't encounter many (any?) words that aren't very common. You might encounter that with Shakespeare, but that's just because he was writing a long time ago and many words have fallen out of use. His language was considered quite direct at the time and in fact in Hamlet he mocks speeches having an excessively flowery style (which is ironic considering that many people nowadays see him that way).


👤 codeptualize
I think it's mostly just the difference in goals.

Programming has one clear goal; describing logic rules that both human and machine can understand with the least room for misunderstanding. Simplicity facilitates that.

Natural languages serve many purposes. When used purely functional simplicity is still wanted. Instructions for example are written as simple as possible with limited vocabulary, not that different from programming.

But we don't speak purely for functional reasons, it's also entertainment, expression, play, emotion, for those you need more options on how you communicate something.

For example a story told in its simplest form is usually not very effective. How it's told makes it interesting, entertaining and/or evoke emotion. That requires more options and freedom.


👤 t-3
Large vocabularies are often the most-touted advantages of computer languages though? How many people laud Python for being "batteries included" or having libraries for everything you could think of?

The minimalism you're thinking of is in grammar moreso than vocabulary. Simple rules for writing correct sentences (or programs) make languages easy to pick up and get started with. Complex rules make languages harder to pick up, and lessen the chance of reaching mastery.

Languages like APL, with relatively fixed instruction sets, are interesting for being somewhat analagous to alphabetic human languages where words are formed from composition of characters rather than being heiroglyphic and locking meaning within functions.


👤 numtel
As someone who doesn't speak French natively, I feel like its overly similar sounds make it much more difficult to pick up than Spanish where sounds are more explicit from the letters.

Computer languages are read with the eyes (usually also with color coding) so they don't need those little helpers as much to make them consumable.


👤 PaulHoule
People choose computer languages but natural languages get chosen for them.

👤 eimrine
I do not agree with both statements. Please show me at least one example of:

good natural language

bad natural language

good computer language

bad computer language