Re: [讨论] 请大家聊聊 JavaScript的缺陷

楼主: ggttoo44 (thai)   2020-11-06 01:21:47
小弟介绍自己语言的图谱。
1.写 Java 三年(没在写了)。
2.被公司逼写 Nodejs 写了五年(现在还在写)转换成本半年。
3.被公司逼 TS 四年(现在还在写)转换成本一个月。
4.被公司逼 GO 两年(现在还在写)转换成本两周。
从一开始Java观念转成 Js 超级不习惯,莫名奇妙,不知道哪里来的属性,就生出来了,
转换了半年才习惯,习惯被虐的感觉之后,觉得这个语言真够自由奔放,只有想不到的写
法,没有达不到的写法,真地爽。
后来几个专案用 TS 开发又有种回到 Java 的感觉,后来发现 any 之后,真是一边虐人
一边给型态提示,又利用 any 突破限制,真得爽。
然后后来新公司要写 GO 真的写的好不爽,DB 资料全部都要定义,光是定义都觉得自己
失去开发的速度,还有不能 runtime import 让 DI 跟 IOC 变得要用很复杂的写法来做
,还有要做多型或是掩藏其他没必要曝露的func 就要再宣告个 interface。
光是处理这些东西就要宣告,再宣告,心是真的很累。
从 Java 要从写五六个档案开始,遇到 Js 发现只要两个就解决。
初遇 TS 发现一些强性别之前良好的特性可已选用之后,觉得爱上它。
后来的 Go 是一半爱一半不爱,感觉回到 Java 五成像的语言,宣告没有 Java 烦,但是
在 DB 部分真的觉得写的厌世,对造 DB 型态宣告对应的结构,还有写框架都觉得烦躁了
,如果单纯使用是还能接受范围,比较爱它的 ppof 等等原生工具,这是比 Js , Ts 强
一千万倍的点。
Js, Ts 虽然是动态语言,很好入门,但是学的精是真的比 Java, Go 还要再更难。
Java 入门比较高,后续写的很烦,回头写觉得自己宣告那些东西,很浪费时间跟生命,
但是初期还是有觉得自己是 OO 大师的错觉。
Go 入门其实有语言基础,很简单,就是写的烦,ppof 多用就知道自己哪里写的有问题,
就能快速提升了。
对了,初学 Go 曾经用 interface 来当作 Ts 功能打折后的 any 来使用,也有一阵子快
乐过,后来发现效能跟屎一样,就乖乖宣告了。
后来负责架构设计之后,才没在管那个语言,服务之间怎么跑的顺,那个语言都能交叉实
现。
玩了四个语言心得,老板叫你用啥,你就要去学。
附带一个心得,老板不知道的时候,用那个实现快就用那个,用那个效能好就用那个,多
学才有选择,坚持一种语言薪水高不起来的,相同的逻辑撰写下,有时候 Go Benchmark
真的会跑输 Js 喔,大部分还是赢啦 XD
Java 还是很棒的也有适合的场景跟团队,只是老了,还是选择适合自己的语言好了。
黑其他语言的人,不要划地自限了,这样你的薪水也被你自己限制了。
通常看到语言战争都觉得很可笑,是应用场景跟遇到的团队文化太少,才会一直拿A语言
优点打B语言的缺点。
半桶水响叮当。
这篇纯使用上的心情分享,不代表真的乱写,要自以为你的自以为,那我也没空跟你回。
作者: x246libra (楓)   2020-11-06 02:32:00
写业务 GO 用 interface 想嘘 后续维护者真虽我说的是 空接口
作者: CoNsTaR ((const *))   2020-11-06 05:20:00
用 any 是很无奈 type system 表达能力不够强不能描述你想写的 type,只好用 any 来说明无法表达好吗...突破限制????
作者: samuel1988 (小羊快跑啊)   2020-11-06 06:44:00
看到这篇就知道javascript松散和无知了。Any情况怎么发生有想过吗?是ts没建立字典档还是你domain 没清楚再写程式不爽就用orm可以减少你浪费生命
作者: x246libra (楓)   2020-11-06 07:28:00
写技术需求的 lib 空接口 无法避免, lib 我觉很难写写业务类型 还用 ANY 只感觉是在偷懒没想过 业务行为同意 JS 精通熟悉运作 比静态语言难太多
作者: samuel1988 (小羊快跑啊)   2020-11-06 07:35:00
浪费生命的语言交给前端就好了。一堆免洗筷套套framwork就以为是大师。
作者: dreamnook (亚龙)   2020-11-06 08:28:00
go那边用interface乱玩有同感www
作者: MOONY135 (谈无欲)   2020-11-06 08:44:00
interface乱玩有demo code吗 想知道乱玩的意思是什么
作者: dreamnook (亚龙)   2020-11-06 09:12:00
楼上是问我吗O.o我记得当初我只是为了读取json与用类似json的形式保存资料所以用interface乱写一通吧
作者: MOONY135 (谈无欲)   2020-11-06 09:20:00
Playground可以demo 想看看乱玩的长相
作者: dreamnook (亚龙)   2020-11-06 09:24:00
三年前前公司的code欸 没留着惹 囧
作者: cha122977 (CHA)   2020-11-06 09:33:00
不就单纯讨论缺陷 没要战好坏吧0.0
作者: leo5916267 (小叶)   2020-11-06 09:37:00
反正想不到就先any了啦 debug定义就好
作者: ssccg (23)   2020-11-06 09:41:00
在写的时候省下的时间和生命,常常反而花掉之后很多人看的时候的时间和生命,写起来很自由说真的听起来像缺点不过的确也有适合自由写速度最重要的场景啦,之后也不用看
作者: superpai (超级白)   2020-11-06 09:44:00
我坚持写网页一定要用CSS
作者: dreamnook (亚龙)   2020-11-06 10:15:00
呃 用呀 css是好东西
作者: samuel1988 (小羊快跑啊)   2020-11-06 11:19:00
如果你没把握就不要写一些给人战的。然后让人战你。你的分享是把any当作理所当然。被战刚刚好自以为是就是别人给你不同意见和在摆谱说别人找碴。你可以证明你的case下用type。我不知道哪家公司在写domain 时code review看到any会给你过?是sa要被抓起来打ok?https://fullstackbb.com/typescript/typescript-unknown-as-top-type/技术也在更新看看别人取代any作法unknown
作者: newhandfun (新手方)   2020-11-06 12:25:00
同意前几楼,敝人认为在能用型态规范的情况下执意用弱型态只是懒或无知
作者: WTFCN (WTFCN)   2020-11-06 12:58:00
超讨厌ts写一堆any的人==
作者: ku399999   2020-11-06 14:47:00
原来大家都喜欢strong type
作者: superpandal   2020-11-06 15:02:00
我是不觉得为何用db一定得用物件 db指令也就只是字串
作者: laputaflutin (很恐怖,不要问)   2020-11-06 15:14:00
又来这种李姓中坜人,主题就在讨论js缺陷,偏偏要来个语言只是工具,你们吵语言很无聊。哪个人不是公司要什么语言写什么语言,这么无聊你别回阿
作者: dream1124 (全新开始)   2020-11-06 15:16:00
推 laputaflutin
作者: laputaflutin (很恐怖,不要问)   2020-11-06 15:20:00
再来前几篇内文顶多提到js或编译成js的语言,最多也只讨论一点wasm跟后端模板,都还算在主题范围之内,讲 go或java 就真的不知道在干嘛
作者: dreamnook (亚龙)   2020-11-06 16:20:00
曾经用go写产js的程式码 抱歉错频(误
作者: newhandfun (新手方)   2020-11-06 17:31:00
推laputaflutin补嘘any
作者: DerLuna (阳月)   2020-11-06 20:04:00
逻辑正常的人都会讨厌js吧XD
作者: shter (飞梭之影)   2020-11-07 15:20:00
不见得吧,逻辑正常反而不担心 js 的坑会造成问题
作者: ku399999   2020-11-07 20:45:00
前面有人提到Date超废 深有同感 moment套件又神肥 后面出的date-fns之类的套件才比较好一些双等号避开不用也没问题 this也用不到 毕竟不写OO
作者: netburst (133 134 592)   2020-11-08 17:05:00
js舒服
作者: Geison (Angels)   2020-11-11 21:53:00
推 写得很好

Links booklink

Contact Us: admin [ a t ] ucptt.com