- 主题:今天跟AI聊天得到的一个关于JavaScript和TypeScript的感悟
AI更容易犯低级错误,各种约束就是为了及早让AI发现出错了,编辑的时候报一个类型错误提醒,就比运行时才出错对AI来说更友好
【 在 booble 的大作中提到: 】
: 我以前在本版发过类似观点:编程语言的约束是限制人类程序员犯低级错误的,经过训练的AI编程工具很容易规避这些低级错误,所以编程语言自带的约束必然走向末路,未来人类程序员可以用js之类的语言随心所欲的做一些创新性的代码编写,待POC验证完成后,产品化和工程类的苦力活
: 让AI去搞就可以了,所以ts这类语言必然会走向末路,包括你现在喜爱的rust——你会用rust做产品原型开发吗?
--
FROM 182.85.139.*
AI编程必然带来编程范式的革新,我个人觉得未来将是人类编写原型验证代码(不需要考虑产品化和工程化)+AI完成产品化和工程化,而ts之类的语言是不适合做原型验证代码编写的,它的核心优势(如果有的话)只是为了迎合工程化需求。
【 在 gfkid 的大作中提到: 】
: 如果能自己决定用什么不用什么,确实挺好的。
: :
--
FROM 223.101.87.*
我理解你的顾虑,其实这跟大家津津乐道LLM的一些低级错误的情况类似。AI编程目前在高速发展阶段,顶级公司都在探索AI编程的上限,没有多少人关心AI编程的一些细节问题,尤其是这些问题很容易通过强化训练等方式解决的情况下。等到AI编程的上限被探索清楚了,业界就会将精力集中在解决诸如低级错误这类问题上,到那个时候你会发现这些类型错误根本不是问题了。
【 在 adamhj 的大作中提到: 】
: AI更容易犯低级错误,各种约束就是为了及早让AI发现出错了,编辑的时候报一个类型错误提醒,就比运行时才出错对AI来说更友好
:
--
FROM 223.101.87.*
这不可能,之所以会犯低级错误,往往是因为上下文太长了,注意力有限导致的遗忘问题,这个问题本质和人类是一样的
【 在 booble 的大作中提到: 】
: 我理解你的顾虑,其实这跟大家津津乐道LLM的一些低级错误的情况类似。AI编程目前在高速发展阶段,顶级公司都在探索AI编程的上限,没有多少人关心AI编程的一些细节问题,尤其是这些问题很容易通过强化训练等方式解决的情况下。等到AI编程的上限被探索清楚了,业界就会将精力集
: 中在解决诸如低级错误这类问题上,到那个时候你会发现这些类型错误根本不是问题了。
--
FROM 182.85.139.*
不要低估技术发展速度,OpenAI刚出来的时候上下文长度默认是8092个token,现在主流模型都是一百万token打底,你的代码能有多少行?
【 在 adamhj 的大作中提到: 】
: 这不可能,之所以会犯低级错误,往往是因为上下文太长了,注意力有限导致的遗忘问题,这个问题本质和人类是一样的
:
--
FROM 223.101.87.*
确实是个笑话
小项目不需要
大项目还得靠人治
【 在 booble 的大作中提到: 】
: 软件工程就是个玩笑,只是公司官僚主义的一种具体表现而已。ts只是为了迎合这个需求而生。 ...
--
FROM 104.156.253.*
人治是最不可靠的,很多所谓大厂的代码管理也是一塌糊涂,还是要靠规则。不过JS,一塌糊涂就一塌糊涂吧,大不了过两年再写一遍,反正也简单。
【 在 aosp 的大作中提到: 】
: 确实是个笑话
: 小项目不需要
: 大项目还得靠人治
: ...................
--
FROM 222.129.48.*
js还是有些底子上的遗留问题一不小心就坑人,不上ts起码也得开eslint才安心
一些小项目,临时项目,懒得配ts走build的,我现在一般选择用vscode配合jsdoc,其实背后还是ts,用来防范一些低智商错误
可以理解对ts不满,因为ts要服务于天生动态的js,js生态已经这么多年习惯动态了,ts总有削足适履的感觉。但总体来说,动态语言兴盛那是二十多年前的环境决定的,现在工具自动推导类型的能力这么强,ai写代码也越来越靠谱,静态类型的好处早已超过它的成本了。还是写rust moonbit这类更安心。
【 在 booble 的大作中提到: 】
: TypeScript是大企业病或者官僚主义强加在JavaScript上的产物,它没有解决技术问题,也没有解决管理问题,它只解决了管理需求满足的问题。
--
FROM 123.120.165.*
我对AI编程未来的发展发向与您的看法恰好相反:因为未来的工程范式大概率是人类写PoC,AI完成产品化,而PoC的要求就是灵活和快速,静态/强约束/无法立即看到代码效果的语言天生就不适合PoC的开发,所以静态类型的语言以后用的场合会越来越少,人类程序员会越来越偏向脚本语言。
【 在 beep 的大作中提到: 】
: js还是有些底子上的遗留问题一不小心就坑人,不上ts起码也得开eslint才安心
: 一些小项目,临时项目,懒得配ts走build的,我现在一般选择用vscode配合jsdoc,其实背后还是ts,用来防范一些低智商错误
: 可以理解对ts不满,因为ts要服务于天生动态的js,js生态已经这么多年习惯动态了,ts总有削足适履的感觉。但总体来说,动态语言兴盛那是二十多年前的环境决定的,现在工具自动推导类型的能力这么强,ai写代码也越来越靠谱,静态类型的好处早已超过它的成本了。还是写rust moonbit这类更安心。
: ...................
--
FROM 223.101.87.*
主要是大厂需求变化太快导致的,此时强调工程化就是纯粹的官僚主义了。
【 在 buildtolast 的大作中提到: 】
: 人治是最不可靠的,很多所谓大厂的代码管理也是一塌糊涂,还是要靠规则。不过JS,一塌糊涂就一塌糊涂吧,大不了过两年再写一遍,反正也简单。
:
--
FROM 223.101.87.*