Re: [討論] 請大家聊聊 JavaScript的缺陷

看板Soft_Job作者 (thai)時間3年前 (2020/11/06 01:21), 3年前編輯推噓0(5548)
留言58則, 18人參與, 3年前最新討論串5/19 (看更多)
小弟介紹自己語言的圖譜。 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語言的缺點。 半桶水響叮噹。 這篇純使用上的心情分享,不代表真的亂寫,要自以為你的自以為,那我也沒空跟你回。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.251.154.235 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1604596909.A.29C.html ※ 編輯: ggttoo44 (111.251.154.235 臺灣), 11/06/2020 02:07:42 ※ 編輯: ggttoo44 (111.251.154.235 臺灣), 11/06/2020 02:09:18

11/06 02:32, 3年前 , 1F
寫業務 GO 用 interface 想噓 後續維護者真雖
11/06 02:32, 1F

11/06 02:32, 3年前 , 2F
我說的是 空介面
11/06 02:32, 2F

11/06 05:20, 3年前 , 3F
用 any 是很無奈 type system 表達能力不夠強不能描述你
11/06 05:20, 3F

11/06 05:20, 3年前 , 4F
想寫的 type,只好用 any 來說明無法表達好嗎...
11/06 05:20, 4F

11/06 05:20, 3年前 , 5F
突破限制????
11/06 05:20, 5F

11/06 06:44, 3年前 , 6F
看到這篇就知道javascript鬆散和無知了。
11/06 06:44, 6F

11/06 06:45, 3年前 , 7F
Any情況怎麼發生有想過嗎?是ts沒建立字典檔還是你do
11/06 06:45, 7F

11/06 06:45, 3年前 , 8F
main 沒清楚再寫程式
11/06 06:45, 8F

11/06 06:55, 3年前 , 9F
不爽就用orm可以減少你浪費生命
11/06 06:55, 9F

11/06 07:28, 3年前 , 10F
寫技術需求的 lib 空介面 無法避免, lib 我覺很難寫
11/06 07:28, 10F

11/06 07:29, 3年前 , 11F
寫業務類型 還用 ANY 只感覺是在偷懶沒想過 業務行為
11/06 07:29, 11F

11/06 07:32, 3年前 , 12F
同意 JS 精通熟悉運作 比靜態語言難太多
11/06 07:32, 12F

11/06 07:35, 3年前 , 13F
浪費生命的語言交給前端就好了。一堆免洗筷套套framw
11/06 07:35, 13F

11/06 07:35, 3年前 , 14F
ork就以為是大師。
11/06 07:35, 14F

11/06 08:28, 3年前 , 15F
go那邊用interface亂玩有同感www
11/06 08:28, 15F

11/06 08:44, 3年前 , 16F
interface亂玩有demo code嗎 想知道亂玩的意思是甚麼
11/06 08:44, 16F
※ 編輯: ggttoo44 (111.251.154.235 臺灣), 11/06/2020 08:55:57

11/06 09:12, 3年前 , 17F
樓上是問我嗎O.o
11/06 09:12, 17F

11/06 09:15, 3年前 , 18F
我記得當初我只是為了讀取json與用類似json的形式保存
11/06 09:15, 18F

11/06 09:15, 3年前 , 19F
資料所以用interface亂寫一通吧
11/06 09:15, 19F

11/06 09:20, 3年前 , 20F
Playground可以demo 想看看亂玩的長相
11/06 09:20, 20F

11/06 09:24, 3年前 , 21F
三年前前公司的code欸 沒留著惹 囧
11/06 09:24, 21F

11/06 09:33, 3年前 , 22F
不就單純討論缺陷 沒要戰好壞吧0.0
11/06 09:33, 22F

11/06 09:37, 3年前 , 23F
反正想不到就先any了啦 debug定義就好
11/06 09:37, 23F

11/06 09:41, 3年前 , 24F
在寫的時候省下的時間和生命,常常反而花掉之後很多人看的
11/06 09:41, 24F

11/06 09:42, 3年前 , 25F
時候的時間和生命,寫起來很自由說真的聽起來像缺點
11/06 09:42, 25F

11/06 09:44, 3年前 , 26F
不過的確也有適合自由寫速度最重要的場景啦,之後也不用看
11/06 09:44, 26F

11/06 09:44, 3年前 , 27F
我堅持寫網頁一定要用CSS
11/06 09:44, 27F

11/06 10:15, 3年前 , 28F
呃 用呀 css是好東西
11/06 10:15, 28F

11/06 11:19, 3年前 , 29F
如果你沒把握就不要寫一些給人戰的。然後讓人戰你。
11/06 11:19, 29F

11/06 11:19, 3年前 , 30F
你的分享是把any當作理所當然。被戰剛剛好
11/06 11:19, 30F

11/06 11:21, 3年前 , 31F
自以為是就是別人給你不同意見和在擺譜說別人找碴。
11/06 11:21, 31F

11/06 11:21, 3年前 , 32F
你可以證明你的case下用type。我不知道哪家公司在寫d
11/06 11:21, 32F

11/06 11:21, 3年前 , 33F
omain 時code review看到any會給你過?是sa要被抓起
11/06 11:21, 33F

11/06 11:21, 3年前 , 34F
來打ok?
11/06 11:21, 34F

11/06 11:22, 3年前 , 35F

11/06 11:22, 3年前 , 36F
nown-as-top-type/
11/06 11:22, 36F

11/06 11:22, 3年前 , 37F
技術也在更新看看別人取代any作法
11/06 11:22, 37F

11/06 11:22, 3年前 , 38F
unknown
11/06 11:22, 38F

11/06 12:25, 3年前 , 39F
同意前幾樓,敝人認為在能用型態規範的情況下執意用弱
11/06 12:25, 39F

11/06 12:25, 3年前 , 40F
型態只是懶或無知
11/06 12:25, 40F

11/06 12:58, 3年前 , 41F
超討厭ts寫一堆any的人==
11/06 12:58, 41F

11/06 14:47, 3年前 , 42F
原來大家都喜歡strong type
11/06 14:47, 42F

11/06 15:02, 3年前 , 43F
我是不覺得為何用db一定得用物件 db指令也就只是字串
11/06 15:02, 43F

11/06 15:14, 3年前 , 44F
又來這種李姓中壢人,主題就在討論js缺陷,偏偏要
11/06 15:14, 44F

11/06 15:14, 3年前 , 45F
來個語言只是工具,你們吵語言很無聊。哪個人不是
11/06 15:14, 45F

11/06 15:14, 3年前 , 46F
公司要什麼語言寫什麼語言,這麼無聊你別回阿
11/06 15:14, 46F

11/06 15:16, 3年前 , 47F
推 laputaflutin
11/06 15:16, 47F

11/06 15:20, 3年前 , 48F
再來前幾篇內文頂多提到js或編譯成js的語言,最多
11/06 15:20, 48F

11/06 15:20, 3年前 , 49F
也只討論一點wasm跟後端模板,都還算在主題範圍之
11/06 15:20, 49F

11/06 15:20, 3年前 , 50F
內,講 go或java 就真的不知道在幹嘛
11/06 15:20, 50F

11/06 16:20, 3年前 , 51F
曾經用go寫產js的程式碼 抱歉錯頻(誤
11/06 16:20, 51F

11/06 17:31, 3年前 , 52F
推laputaflutin補噓any
11/06 17:31, 52F

11/06 20:04, 3年前 , 53F
邏輯正常的人都會討厭js吧XD
11/06 20:04, 53F

11/07 15:20, 3年前 , 54F
不見得吧,邏輯正常反而不擔心 js 的坑會造成問題
11/07 15:20, 54F

11/07 20:45, 3年前 , 55F
前面有人提到Date超廢 深有同感 moment套件又神肥 後面
11/07 20:45, 55F

11/07 20:45, 3年前 , 56F
出的date-fns之類的套件才比較好一些
11/07 20:45, 56F

11/07 20:49, 3年前 , 57F
雙等號避開不用也沒問題 this也用不到 畢竟不寫OO
11/07 20:49, 57F

11/08 17:05, 3年前 , 58F
js舒服
11/08 17:05, 58F
文章代碼(AID): #1Vf3IjAS (Soft_Job)
討論串 (同標題文章)
文章代碼(AID): #1Vf3IjAS (Soft_Job)