- 主题:今天跟AI聊天得到的一个关于JavaScript和TypeScript的感悟
增加约束是好事,但Python的type annotation和ts这种都是在原来的基础上以向下兼容的形式做的。这种做法说明它们在哲学上选择了渐进演化,而不是creative destruction的路线,所以它在享受向下兼容既有生态的时候,必然要面对因此产生的各种麻烦。
加type约束对ai来说不是啥问题,但现实是让ai写ts代码,它也喜欢到处甩any。理论上ts开个strict也能杜绝,但这个就跟rust也可以到处写unsafe是一样的,并不是说语言层面你能不能做到,而是这个生态就决定了它是这种风格。
【 在 buildtolast 的大作中提到: 】
: 没用过,但是现在不是都在加type吗?比如python。增加一些约束,在早期发现问题不好吗?我感觉主要是JS这玩意儿项目都不大,重构什么的需求不大,所以大家不喜欢TS,觉着成本划不来。
:
:
--
修改:lvsoft FROM 39.144.105.*
FROM 39.144.105.*
约束之所以叫约束,那是因为它得有强制性。
没有强制性那就是过家家。
Python type annotation好多年前就有了,到现在也没成气候,就是因为Python的type annotation就是你说的,近似于注释,加不加完全看心情。
而且约束问题看的是短板,你做的再漂亮,一处没弄好那就是不行。这也是我为啥觉得ts还不够的原因。
我以前是随心所欲派的,喜欢Python这种没什么约束想干嘛都行的生态。不过我现在是rust派,完全是另一个极端,没有约束我就不舒服。
两种风格各有各的爽点,但我现在比较讨厌中间派
【 在 booble 的大作中提到: 】
: 如果增加约束的机制同无约束的js代码兼容,也没那么招人烦,比如用注释的方式添加约束等等。
: 但现在的ts明显朝着田氏代齐的方向前进了,在ts工程里嵌入js代码有无处容身的感觉。
:
--
FROM 39.144.103.*