Soft_Job 板


LINE

继上个系列串 我想问问大家认为静态型别的缺点是什麽呢? 本人写Java也写JS,最近也在碰Python 我自己写Java,一开始觉得宣告比较麻烦,需要思考这个变数是什麽型别 (其实说实在,Java的变数最常使用也就几个,我正常刷Leetcode除非特殊情况否则很少会想不出要用什麽型别的变数) 优点是很明显的,一旦後面的型别错了,IDE直接跳错,也不给编译 我上一份工作需要写Java後端和JS前端,Java通常不会有型别错误的情况发生,除非是打API捞资料再cast成Java object的过程才有可能出错 而JS则是变数很好宣告,直接const就好了 但前前後後的变数,自己都要记得很清楚这个变数的型别 万一做一个动态页面(我们是阳春的jQuery) ,搞不清楚状况 光要找出问题就要debug很久 我听说动态型别和静态型别都各有其拥护者,想请问静态型别的缺点,或是说动态型别的优点是什麽呢? --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 101.12.91.182 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Soft_Job/M.1606009622.A.2B0.html
1F:→ dream1124: 现在主流语言的设计都嘛抄来抄去,大家长得越来越像 11/22 10:08
2F:→ dream1124: 可弹性标注型态 + 可弹性调整语法检查严谨度的编译器 11/22 10:09
3F:→ dream1124: 才是趋势。动态静态已不太是重点 11/22 10:10
4F:→ OrzOGC: 对新手有一点点不友善 python近乎乱写XD 11/22 10:30
5F:推 kyushu: 我主要写C/C++,Python,静态型别对我来说没什麽特别缺点 11/22 10:46
6F:→ kyushu: ,倒是动态型别常常要teace源头倒底是啥型别 11/22 10:46
7F:推 shter: JS比较常运用的情况是值可能是一个物件或 boolean false 11/22 10:50
8F:→ shter: 有些function找到东西时会回传物件,没找到就回传 false 11/22 10:50
9F:→ shter: 而不需要预先定义 Function 回传值或变数的型态 11/22 10:51
10F:→ shter: JS的型别习惯是在处理的时候做型别转换成 Function 需要的 11/22 10:52
11F:→ shter: 如要计算的话不论来源字串/数值都一律 parseInt parseFloat 11/22 10:53
12F:推 alihue: 不用一直担心型别 runtime err 很不方便 11/22 11:00
13F:推 lturtsamuel: 其实我觉得很多人的问题只是选的语言不够强的问题 11/22 11:01
14F:→ lturtsamuel: 有了 sum type, tuple 跟 macro 以後其实我很少有表 11/22 11:02
15F:→ lturtsamuel: 达不出来的类型了 11/22 11:02
16F:推 alihue: static 很多 type bug 可以在 compile time 就解决了 11/22 11:28
17F:→ EricTCartman: 静态型别的缺点就是你要浪费时间去做动态型别机制 11/22 11:42
18F:→ EricTCartman: 但你可以选择不用动态型别 所以就没了这缺点 yeah 11/22 11:42
19F:→ koharuhu: 我怎觉得这篇只是另开战场...要写出有品质的Code 重点在 11/22 16:59
20F:→ koharuhu: 人而不在工具语言 11/22 16:59
21F:→ superpandal: java不会看到型别错误 只是因为不够动态 至於记不记 11/22 17:18
22F:→ superpandal: 得 ide是种加成不代表原本问题不存在 11/22 17:19
23F:→ superpandal: 写的不够动态 11/22 17:19
24F:推 alihue: 不要动不动就放大绝有问题都是人,语言都是工具,这里是 11/22 17:30
25F:→ alihue: 软体版好吗 11/22 17:30
26F:→ alihue: 难道你用工具都不会选一下,看优缺点? 11/22 17:31
27F:推 newhandfun: 同意楼上,如果将人的因素考量进去就很难谈了。不过大 11/22 17:41
28F:→ newhandfun: 家看起来都是在鞭js太奇葩,而不是编译与否或是弱强 11/22 17:41
29F:→ newhandfun: 型态与否 11/22 17:41
30F:推 x246libra: 动态写的爽, 维护惨,静态写的微累不方便, 维护佳. 11/22 17:48
31F:推 x246libra: java 也可以很动态,全部都用object就可以,眼神死 11/22 17:50
32F:推 dream1124: 语言是人发明的,讨论工具就说一切都是人的问题也没错 11/22 18:04
33F:→ dream1124: 只是那些人要这样说的话,你下次就可以直指语言发明者 11/22 18:05
34F:→ dream1124: 大骂了,发明这什麽该死的鸟东西。 11/22 18:05
35F:→ jej: java喔 一票老屁股连lambda都还没跟上 11/22 18:31
36F:→ jej: 在那边说什麽动态语言的优缺点 11/22 18:31
37F:→ jej: 重点是老屁股们 你们有跟上时代吗? 11/22 18:31
38F:→ jej: 说缺点 很明显的是要写很多东西 一样是工厂类别 11/22 18:33
39F:→ jej: 有 lambda 和没有lambda就明显差很多 11/22 18:33
40F:→ netburst: 推楼上 11/22 20:37
41F:推 wulouise: Lambda某种程度对易读性的确有提高 11/22 20:52
42F:→ askaleroux: 没什麽缺点 11/23 01:40
43F:→ ssccg: 缺点就是要多写一些东西啊,写不对compiler还不会让你过 11/23 10:34
44F:→ ssccg: 像generic有时候你就知道是对的,但是type inference过不了 11/23 10:36
45F:推 lturtsamuel: 但也有时候是你以为你对了 11/23 10:48
46F:推 rodion: 缺点就是静态本身阿 静态代表细节的强迫确定 但这与软体 11/23 11:56
47F:→ rodion: 发展往更高度抽象化的目标背道而驰 11/23 11:57
48F:→ rodion: 所以静态语言的产品相对安全稳固 但对於开发本身来说 就得 11/23 11:59
49F:→ rodion: 接受一个较为"吹毛求疵"(当然这也有好的一面)的体验 11/23 12:00
50F:→ meowyih: 你一面说用来用去就那几个类型,一面又说写到後面会忘记 11/23 12:21
51F:→ meowyih: 类型是甚麽,听起来不觉得怪怪的吗? 不是数字就是文字, 11/23 12:22
52F:→ meowyih: 不是单一变数就是阵列,忘记也太夸张了 XD 11/23 12:22
53F:→ newhandfun: 动静态跟强弱型态要分开来,也有静态弱型态的语言.... 11/23 15:11
54F:→ newhandfun: .. 11/23 15:11
55F:推 typepeter: 与其讲强弱型态 感觉没泛型才可怕 其他还好 11/23 18:53
56F:推 Dodoroiscute: https://imgur.com/6pZfGXp 11/23 20:17
57F:推 billy8407: Python 也可以标注型态了 11/23 21:15
58F:→ billy8407: 更何况是动态语言,注名清础对自己debug也好,动静态 11/23 21:19
59F:→ billy8407: 其实到还好 11/23 21:19
60F:推 satanbaby: 没有缺点 11/24 03:05
61F:→ superpandal: 静态语言加上物件要动态就是要考虑型别错误阿 有问题 11/24 06:56
62F:→ superpandal: 吗 XD 当然人很重要 11/24 06:56
63F:→ JasperChang: 缺点就是比动态好太多 11/24 21:28
64F:推 mepowerlmay: 分享到fb 大家一起轮啦 11/30 00:42







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:e-shopping站内搜寻

TOP