[meta:edit-log]: # "2019/09/02"
[meta:title]: # "4 Doubt about Car, Language, and Math"
[meta:keywords]: # "opinion"
[meta:description]: # ""
The first doubt:
第一个疑问:
## Why car still have steering wheel now, instead of a controller? | 为什么车辆仍使用方向盘操控,而不是游戏手柄?
I've got a doubt, for a long time: why we still drive a car with a wheel, a stick, and a few pedals?
为何开车还是需要用一个圆盘,一个操纵杆,几个脚蹬?这个疑问困扰我很长时间。
For early cars, since it's fully mechanical, the control design makes sense.
Now most of them, if not all, have been aided with, or replaced with something electrical,
there is less reason.
对于早期全机械结构的车辆来说,这样的操作是合理的。
但是在大部分车辆组件已经电子化的如今,并没有大多理由要求保持这样的操控界面。
I play games, most of them have car driving scenes,
and none of them require you to by a wheel, a stick, and a few pedals to play.
And racing game existed for a long time, from the [70s](https://en.wikipedia.org/wiki/Racing_video_game).
大量有车辆驾驶的游戏并不是使用这样的操作设计,
有趣的是70年代就已经出现赛车游戏了。
You just needed the controller, why can't I drive a real car with a controller?
And think about the remote-controlled toy cars, may be that can work, too?
在游戏中,操作只需要一个手柄,为什么不能用手柄驾驶真正的车辆?
或者也可以参考遥控模型车的操控。
Now let's focus back on current car control system again: what good does it have? I don't have an answer.
And what is problematic? here's a few I can think of:
- Hard to learn, you even need to get a license for it, riding a bike is tricky, but it's not like this hard.
- Spatially separated, and requires frequent hands and feet moves, this can cause more focus problems.
- Maintaining a responsive control pose is stressful, and tiresome, this is not good when driving for a longer time.
话题回到已有的这套操作系统,它可能仍有优点,但是有不少问题:
- 学习难度高
- 在布局上分散,需要一定的手脚协同,分散注意力
- 维持驾驶姿势容易疲劳
That's the doubt, I think about the problem, possible alternatives, and why it has not changed yet.
以上是我的疑问,我会不时地思考问题本身,可能的解决办法,以及为什么它仍未解决。
--- --- --- ---
And another doubt:
以下是另一个疑问:
## Vocal language and slow math calculation in mind | 不同语言的发音和心算速度的关系
Chinese is generally faster doing math in mind, and I think the reason is vocal language.
在心算速度上中国整体快过使用其他语言的区域,我认为原因在于发音。
When doing math in mind, most people will 'read' out the calculation in mind,
but different language means different efficiency.
在思考计算的过程中,大多数人会在脑中‘读’出计算过程,
这时不同语言的阅读效率就会影响速度。
Consider reading out a simple equation:
以下面的简单计算为例:
```
7 + 128
```
with Chinese, the rhythm matches the number and syllable of pronunciation is almost 1:1:
使用中文发音节奏更均匀,需要的音节数和字符比例也是一一对应:
```
7 + 1 2 8
七 加 一百二十八
* * * * * * *
```
with English, it's much longer and more different:
使用英文则差距较大:
```
7 + 1 2 8
seven plus one-hundred-and-twenty-eight
* * ** * * * * * * * * * *
```
The problem mainly comes from how the digit and the number is pronounced.
Check the rhythm for counting from 0 to 9, in Chinese, English, and Japanese:
从单个数字的发音就可以看出主要问题。
以下是数字 0 到 9 的中、英、日文的发音:
```
0 1 2 3 4 5 6 7 8 9
零 一 二 三 四 五 六 七 八 九
* * * * * * * * * *
zero one two three four file six seven eight nine
* * * * * * * * * * * * * * * *
ichi ni san shi go roku shichi hachi kyuu
* * * * * * * * * * * * *
```
And the syllable count:
- Chinese: 10
- English: 16
- Japanese: 13
总计的音节数:
- 中文: 10
- 英文: 16
- 日文: 13
With denser information with each syllable,
Chinese will 'speak' math in their mind much faster.
中文每个音节包含的信息更加密集的特点,
使得中文使用者心算速度更快。
On the other hand, with more rhythm change, maybe that's also why I prefer songs in English.
另一方面,因为发音的节奏更加多变,英文歌曲更容易组织的好听。
That's the doubt, I think about the problem, possible alternatives, and why it has not changed yet.
以上是我的疑问,我会不时地思考问题本身,可能的解决办法,以及为什么它仍未解决。
--- --- --- ---
And finally, two more doubt on math:
最后是两个有关数学的疑问:
## Math syntax is bad, should adopt programming syntax | 数学的语法应该向程序的语法演进
Basic math syntax is easy to read and understand:
基础数学的语法简单易懂:
```
(1 + (2 × 3)) ÷ 4 = 1.75
```
For more complex math is weird:
但稍近一步,看起来就不那么规则了:
```
1 + 6
1.75 = ───────
4
= 1.322...²
= 1.205...³
= √3.0625
= ∛5.359375
= ∜9.37890625
```
Things get really bad for Higher Mathematics, it's hard to even fully show it with simple typography:
高等数学的公式一般需要专门的工具生成和现实,完全不适合电子排版,一下是一些符号示例:
```
㏒₂
∑
∫
∬
∭
∮
```
And the equation mark `=` is kind of confusion combination of:
- left equals right: `1 + 2 = 4 - 1`
- value assignment: `t = 100ms`
- asking for result: `1 + 2 = ?`
等号 ‘=’ 在不同情况下的使用也使人疑惑:
- 表示左右相等: `1 + 2 = 4 - 1`
- 表示赋值: `t = 100ms`
- 等待求值: `1 + 2 = ?`
Anther problem is about selecting of the variable naming,
mostly we see reused single-letter variable like: `x y z` and `a b c`,
and for more single-letter, we use Greek: `α β η θ ξ π ψ`.
另一个问题是变量的命名,
常见的都是单字符的变量表示,如 `x y z` 和 `a b c`,
以及来自希腊文的 `α β η θ ξ π ψ` 来扩展可使用的单字。
Similar things happen when teaching, we see problems described like this: (mostly in physics)
教学时也会使用类似的命名,常见于物理:
> [show a picture of a Box marked `M` on the floor, with an arrow marked `Fa` point right]
> > if `M` is `10kg` and `Fa = 100N` and there is no friction, what will the acceleration of `M` be?
> [图示:一个标记为 `M` 的方盒放在地上,并且有一个标记为 `Fa` 的箭头向右指]
> > 如果 `M` 的重量是 `10kg` 并且 `Fa = 100N` ,假设无摩擦力的情况下 `M` 的加速度是?
and student is expected to answer the question with equations juggling `M` and `Fa`:
期望学生的答案也是使用缩写的 `M` 和 `Fa`:
```
a = Fa ÷ M
= 100N ÷ 10kg
= 100kg⋅m/s² ÷ 10kg
= 10m/s²
```
Maybe all this is an optimization for faster handwriting,
to cover more equation iteration, and do more homework faster.
But the Abbreviation should not be considered as default,
and can damage readability for long complex equations.
尽管这些是对手写速度做出的优化,
但是缩写不应该被当作是默认的标准,
对于长而复杂的问题,缩写会带来大量的歧义和阅读困难。
Nowadays, with the reduced usage of pencil,
and increased adoption of phones and laptops,
math should adopt a better form for typing from a keyboard and displaying on screen.
在电子设备在各方面逐步替换纸笔的如今,
数学也应当采用更合适键盘输入和屏幕显示的形式。
A large part of programming is math,
if no better option, we should just write math like 'code',
might as well also borrow some common code best practice.
程序设计有很大一部分都是数学公式,
以程序设计的最佳实践为参考,可以更好地优化数学的表现形式。
Let's review the above example with the following syntax change from programming:
- function naming: use full word for operation name instead of symbols, subscripts, and superscripts
- function calling: use quotes `()` for complex operations, not forcing replacing `1 + 2` to `add(1, 2)`
- disambiguation: use `=` only for value assignment, use `==` for equal, and use `=?` for asking result
- reduce alternative syntax: remove fraction syntax
对比以下套用了程序设计经验的数学表现:
- 操作命名:使用整个单词,而非字符、上标、下标
- 操作调用:用括号 `()` 组织复杂的计算,但不要求替换简单的 `1 + 2` 到 `add(1, 2)`
- 消除歧义:仅使用 `=` 赋值,用 `==` 判等,用 `=?` 表示等待求值
- 减少语义重叠:去除分数的表现形式
first minor change:
简单算式的变化不大:
```
(1 + (2 × 3)) ÷ 4 == 1.75
```
then easier typography:
复杂一点的表示也不需要特殊排版:
```
1.75 == div(1 + 6, 4)
== pow(1.322..., 2)
== pow(1.205..., 3)
== pow(3.0625, 0.5)
== pow(5.359375, 1 ÷ 3)
== pow(9.37890625, 0.25)
```
and more readable Higher Mathematics:
规范化,语义化高等数学的大量符号:
```
㏒₂: log(2, ...)
∑: sum(...)
∫: integral(...)
∬: integralDouble(...)
∭: integralTriple(...)
∮: integralLine(...)
```
And without confusion:
- left equals right: `1 + 2 == 4 - 1`
- value assignment: `t = 100ms`
- asking for result: `1 + 2 =?`
等号的歧义也消除了:
- 表示左右相等: `1 + 2 == 4 - 1`
- 表示赋值: `t = 100ms`
- 等待求值: `1 + 2 =?`
Longer variable naming for the same problem:
同样的物理问题,采用单词作为变量名:
> [show a picture of a Box marked `Mass` on the floor, with an arrow marked `Force-a` point right]
> > if `Mass` is `10kg` and `Force-a == 100N` and there is no friction, what will the acceleration of box be?
> [图示:一个标记为 `Mass` 的方盒放在地上,并且有一个标记为 `Force-a` 的箭头向右指]
> > 如果 `Mass` 的重量是 `10kg` 并且 `Force-a = 100N` ,假设无摩擦力的情况下 `Mass` 的加速度是?
and student is expected to answer the question with a clearer equation:
学生也可以写出具体的回答:
```
acceleration of box == Force-a ÷ Mass
== 10m/s²
```
That's the doubt, I think about how can that be changed.
以上是我的疑问,我会不时地思考为何它仍未解决。
## Math should be logical and efficient, not a mixture of historic & symbolic study | 数学应当讲求逻辑和高效,而非混合历史和符号学
Continue from above doubts about Math,
it kind of strange the Math we learn is not that 'pure',
instead we get pieces of historic, symbolic, cultural residuals mixed inside.
继续上文有关数学的疑问,
我们所学的数学并没有想象中的‘纯粹’,
它仍包含不少历史、符号学、各国文化的残留。
The scope of Mathematics will always be expanding,
but it's worth to take some time and refine what we just found.
数学的领域仍在不断扩展,
抽出时间来精炼和压缩已有的认知是值得的。
Who found it gets to name it is fine, we should honor all contribution.
But can we also have Math 1.1, or Math 2.0, and continue to move Math forward?
过去每个数学公理的发现者做出的贡献都应当得到承认,
同时数学也需要不断向前。
In complex software and hardware, it's also hard to trace each person's work,
but we keep it traceable, and it's not required for the user to thank all of them explicitly.
每个复杂软件或硬件背后也都有大量工作者的劳动付出,
这些付出会有记录,但是并不要求软件或硬件的用户了解和感谢每一个人。
Keep Math concise, and each of us learners can reach further.
And programmer need not to 're-invent' Math-for-code to apply the knowledge.
更精练的数学知识能让学习者走得更远。
同时程序设计者们也不再需要为数学另创一套语言。
That's the doubt, I think we all should think about it.
以上是我的疑问,我们都应该不时地思考。