Re: [討論] 請大家聊聊靜態語言的缺點

作者: csfgsj (切割對半)   2020-11-23 09:50:31
※ 引述《fshfsh (魚~*)》之銘言:
: 繼上個系列串
: 我想問問大家認為靜態型別的缺點是什麼呢?
: 本人寫Java也寫JS,最近也在碰Python
: 我自己寫Java,一開始覺得宣告比較麻煩,需要思考這個變數是什麼型別
: (其實說實在,Java的變數最常使用也就幾個,我正常刷Leetcode除非特殊情況否則很少會想不出要用什麼型別的變數)
: 優點是很明顯的,一旦後面的型別錯了,IDE直接跳錯,也不給編譯
這個問題實在是匪夷所思
以認知科學的觀點看,當然是靜態型別優於動態型別呀!
就像offer文在討論薪水,在那邊 N 來 N 去
在許多重要性質不確定的情況下,很多東西是很難精確的下判斷的
不過如果貴圈的專注層次不在這裡,不在乎,那也就無所謂
就像你們也可以不在乎,要不要少用全域變數、靜態變數、Goto等 是一樣的道理
動態型別,應該只是配合缺乏電腦底層語言知識的人
(JAVA人不爽,修改原文)
(應該只是讓學JAVA這種連指標都沒有,無關電腦底層知識語言的人)
一個方便的權宜作法吧! 目的是為了配合它們的智商
(以這種智商來寫程式其實是很驚險的,不知道語言開發單位,為何要墮落至此)
現在連動態型別是優,靜態型別是缺點,這種說法都出來了
人有多大膽、地有多大產,說不定以後連牛頓定律都可以超越了
作者: hegemon (hegemon)   2020-11-23 10:15:00
笑死,動態型別用最兇的是蛇蛇跟Js吧Java是到jdk後面幾個版本才支援動態好嗎?
作者: alihue (wanda wanda)   2020-11-23 10:17:00
java 哪裡支援動態...java var 那只是語法糖,但實際上完全是靜態好嗎
作者: hegemon (hegemon)   2020-11-23 10:24:00
很多人吃這個語法糖吃得很開心,認為是進步的象徵,笑死
作者: SuperCry (極度哭燥)   2020-11-23 11:11:00
牛頓早就被超越了
作者: kiv9137 (AgN)   2020-11-23 11:11:00
蛇 => python
作者: mirror0227 (鏡子)   2020-11-23 11:20:00
好啦我先
作者: maik060 (^.< 啾咪 ~)   2020-11-23 11:23:00
上半部講的很關鍵, 下半部又嗆, 只能推了 XDD
作者: ab4daa (nooooooooooooooooooo)   2020-11-23 12:31:00
戰啦
作者: strlen (strlen)   2020-11-23 13:32:00
下一篇 為了配合你們智商才發明出自然程式語言 不然我們都寫組語長大的下下一篇 配合你們才出組語 我們都直接看機器碼喔對阿 設計螺絲釘的比建築師的智商還高癢喔 來幫我抓抓
作者: casd82 (28dsac)   2020-11-23 20:26:00
java的var是type inference 不是 dynamically-typed動態靜態本來就各有所長戰這個很無聊
作者: hduek153 (專業打醬油)   2020-11-23 21:52:00
看到中間就笑了 誰支援一下工程師鄙視鍊
作者: snow0112 (小雪)   2020-11-24 00:39:00
牛頓定律早就被認為是過時了吧
作者: superpandal   2020-11-24 07:12:00
以認知來講 型別並不會讓你更容易看的懂 命名才是offer的舉例就兩件事情 怎麼會那些判斷因素與型別可以類比呢
作者: CoNsTaR ((const *))   2020-11-24 10:30:00
如果你有 first class types,你就會學到“構造”(types)和“功能”(calc)是等價的,在本質上沒有區別只是一般的語言強迫把它們斷裂成 type 和實作兩個東西,規定某些地方只能寫 type,其他地方只能寫 value 而已不懂在吵為什麼要 typecheck 的人怎麼不去吵為什麼需要編譯器或直譯器要證明你的 type 是正確的就是 typecheck,要證明你的實作是正確的,就是看能不能編譯成執行檔(編譯式),或是能不能跑起來(直譯式)啊
作者: strlen (strlen)   2020-11-25 11:10:00
扯智商的在跟人家講理性討論 笑死
作者: superpandal   2020-11-25 18:43:00
你構造內還是得看命名阿 基本型別你不看命名有什麼快速的認知 已經結網成功能怎麼會變成一種單純的屬性

Links booklink

Contact Us: admin [ a t ] ucptt.com