DISCLAIMER: The following discussion:
- is not reviewed by a certified linguist
- Rather than the accuracy of this writing, focus on its spirit.
- depends on some heavily-contested definitions. It is meant:
- to provide the reasoning
- to set the expectations right
- not to persuade anyone
Short version
Synthesis is a natural language because:
- it is natural to humans
- you can think anything directly in it
- You don’t have to translate all the time back-and-forth from/to other languages.
- no more pseudocode
- You don’t have to translate all the time back-and-forth from/to other languages.
- you can think anything directly in it
- it was designed and developed like that:
- It hides or downplays unnatural elements (addresses, operators, special notations etc.)
- It emphasizes natural elements (word-parts, phrases, redundancy etc.)
Long version
What is NOT a natural language:
- found in nature (counter-intuitively)
- used by animals
- natural to them, but not to humans
- instinctive and usually non-intelligent
- very limited to express anything complicated
- crying-baby language belongs here
- molecular codes (DNA etc.)
- natural to cells, but not to humans
- totally impractical for human usage
- not fully understood anyway
- used by animals
- notations
- mathematical notation
- only a few natural elements here and there
- The rest is purposely codified to:
- save space
- make it international
- The rest is purposely codified to:
- arguably natural for some calculations
- only a few natural elements here and there
- musical notation
- none of its flavors qualifies as natural enough
- many musicians don’t even use it
- almost useless beyond music
- none of its flavors qualifies as natural enough
- mathematical notation
- most programming languages
- machine languages
- natural to machines, but not to humans
- kin to molecular codes and equally impractical
- symbolic addressing languages
- effectively refined machine languages
- more practical, equally unnatural
- effectively refined machine languages
- high-level languages
- at high distance from machines, but not much closer to humans
- kin to mathematical notation
- some of them feel very familiar to mathematicians
- very few natural elements
- domain-specific languages
- kin to musical notation
- some of them feel very natural, until some deviation is attempted
- most meta-languages
- some of the above languages
- They enable the creation of other languages, including natural languages.
- But they do it in unnatural ways, so they don’t qualify as natural themselves.
- Comparison of Synthesis to other programming languages
- machine languages
What is NOT needed for a language to be considered natural:
- to take no effort
- For a baby to learn a natural language (or more) is a natural process, but the effort remains enormous.
- Synthesis takes relatively little effort, but is no exception.
- to be your native language
- Your native language is not the only natural language.
- But you can bring Synthesis closer to your native language than with most other options.
- Your native language is not the only natural language.
- to be an old language
- All natural languages were young at some point.
- There are chances that Synthesis is older than you.
- to have a complicated grammar or other linguistic features
- Different natural languages have different features and levels of complexity.
- Some grammar is needed, but complexity is not a prerequisite.
- Synthesis’ simplicity is a designed feature.
- to possess ambiguity
- an attractive optional feature, which facilitates some forms of poetry and other word-plays
- fundamentally unacceptable in executable code
- In Synthesis there is always a single context-specific meaning.
- to not be artificial
- All human languages are artificial, i.e. made up by humans.
- As much artificial as Esperanto or medical terminology.
- For crying-baby language, refer to animals above.
- All human languages are artificial, i.e. made up by humans.
- to be totally free from synthetic elements
- All practical written languages incorporate synthetic elements.
- primarily their marks
- Pureness is not an end in itself.
- Natural languages are verbose.
- Synthetic elements help shorten them.
- Brevity is not an end in itself either.
- Excessive brevity makes more harm than good.
- Synthetic elements help shorten them.
- Both balance and options are needed.
- There is an essential difference between:
- a synthetic language with natural elements
- e.g. mathematical notation
- a natural language with synthetic elements
- most contemporary natural languages
- a synthetic language with natural elements
- All practical written languages incorporate synthetic elements.
Examples of natural languages:
- common languages and their dialects
- the most natural to humans
- slang languages (street, sailors’, pilots’, soldiers’ etc.)
- natural to their users, not radically different from common languages
- some special vocabularies or terminologies (e.g. scientific names)
- kin to notations, but made of natural elements (prefixes/suffixes etc.)
- some sign languages
- not needing mouths/ears, yet very natural
- kin to domain-specific languages, but with universal application
- possible ancestors of written languages
What makes a language natural:
- Its natural elements to be decisively more than its synthetic ones.
- Synthesis’ early versions did not satisfy this criterion.
- But it has been designed and evolved to gradually smash it, in a bottom-up approach.
- Synthesis’ early versions did not satisfy this criterion.
- Being possible for humans:
- to learn to understand it, use it and extend it
- without help (i.e. through experience) and in less than a few years
- of course help can accelerate that process considerably
- In Synthesis, much of this help is available on demand by the language itself.
- far beyond error messages or IDEs
- In Synthesis, much of this help is available on demand by the language itself.
- of course help can accelerate that process considerably
- without help (i.e. through experience) and in less than a few years
- to think in it
- This is the ultimate criterion, though not easily verifiable.
- Reasoning in a different language than the one you write in is unnatural.
- In humans, this results in:
- low productivity
- occasionally writing meaningful but unnatural sentences
- in respect to the written language
- In case of LLMs, they write natural sentences that mean nothing to them.
- [Comparison of Synthesis to modern AI] (topic under construction)
- In Synthesis, all reasoning above the platform level is natural and visible.
- In humans, this results in:
- to learn to understand it, use it and extend it
Challenge
Which one of the following lines is natural?
let btn = Button.forTitle("click me"); btn.addHandler("click", myHandler)
(add_handler my_handler :click (button_for_title "click me"))
button for title "click me"; add click handler my-handler