Re: [討論] 請大家聊聊 JavaScript的缺陷
小弟介紹自己語言的圖譜。
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語言的缺點。
半桶水響叮噹。
這篇純使用上的心情分享,不代表真的亂寫,要自以為你的自以為,那我也沒空跟你回。
--
寫業務 GO 用 interface 想噓 後續維護者真雖
我說的是 空介面
用 any 是很無奈 type system 表達能力不夠強不能描述你
想寫的 type,只好用 any 來說明無法表達好嗎...
突破限制????
看到這篇就知道javascript鬆散和無知了。
Any情況怎麼發生有想過嗎?是ts沒建立字典檔還是你do
main 沒清楚再寫程式
不爽就用orm可以減少你浪費生命
寫技術需求的 lib 空介面 無法避免, lib 我覺很難寫
寫業務類型 還用 ANY 只感覺是在偷懶沒想過 業務行為
同意 JS 精通熟悉運作 比靜態語言難太多
浪費生命的語言交給前端就好了。一堆免洗筷套套framw
ork就以為是大師。
go那邊用interface亂玩有同感www
interface亂玩有demo code嗎 想知道亂玩的意思是甚麼
樓上是問我嗎O.o
我記得當初我只是為了讀取json與用類似json的形式保存
資料所以用interface亂寫一通吧
Playground可以demo 想看看亂玩的長相
三年前前公司的code欸 沒留著惹 囧
不就單純討論缺陷 沒要戰好壞吧0.0
反正想不到就先any了啦 debug定義就好
在寫的時候省下的時間和生命,常常反而花掉之後很多人看的
時候的時間和生命,寫起來很自由說真的聽起來像缺點
不過的確也有適合自由寫速度最重要的場景啦,之後也不用看
我堅持寫網頁一定要用CSS
呃 用呀 css是好東西
如果你沒把握就不要寫一些給人戰的。然後讓人戰你。
你的分享是把any當作理所當然。被戰剛剛好
自以為是就是別人給你不同意見和在擺譜說別人找碴。
你可以證明你的case下用type。我不知道哪家公司在寫d
omain 時code review看到any會給你過?是sa要被抓起
來打ok?
nown-as-top-type/
技術也在更新看看別人取代any作法
unknown
同意前幾樓,敝人認為在能用型態規範的情況下執意用弱
型態只是懶或無知
超討厭ts寫一堆any的人==
原來大家都喜歡strong type
我是不覺得為何用db一定得用物件 db指令也就只是字串
又來這種李姓中壢人,主題就在討論js缺陷,偏偏要
來個語言只是工具,你們吵語言很無聊。哪個人不是
公司要什麼語言寫什麼語言,這麼無聊你別回阿
推 laputaflutin
再來前幾篇內文頂多提到js或編譯成js的語言,最多
也只討論一點wasm跟後端模板,都還算在主題範圍之
內,講 go或java 就真的不知道在幹嘛
曾經用go寫產js的程式碼 抱歉錯頻(誤
推laputaflutin補噓any
邏輯正常的人都會討厭js吧XD
不見得吧,邏輯正常反而不擔心 js 的坑會造成問題
前面有人提到Date超廢 深有同感 moment套件又神肥 後面
出的date-fns之類的套件才比較好一些
雙等號避開不用也沒問題 this也用不到 畢竟不寫OO
js舒服
推 寫得很好
3
npm 的問題,我試著安裝了一下 因為說是去年7月遇到的,所以我使用 2020/06/30 發佈的 node 12.18.2 搭配 npm 6.14.5 在只有裝 archiver-utils 的情況下,他很平,可能比我婆軟體還平 archiver-utils 底下沒有 node_modules , readable-stream 底下也沒有34
在開始之前,先說個笑話 ※ 引述《keev (a)》之銘言: : 我會試著反駁 互相交流 然而下面這串推文直接被無視 : 推 vi000246: 還要學打包工具 好麻煩 11/03 00:222
聽到你說 C# 一樣有 js 四捨五入的問題,我驚呆了,你肯定沒有嘗試過,沒關係,我幫 你試過了! 真不知道你的自信哪裡來的 我承認浮點數是個棘手的問題,但是有的語言會謹慎處理,有的語言就是隨便處理,事實X
其實我覺得戰場大家自己拉開的亂七八糟, 我也不過就是逐一回覆, autocomplete 我也說了根本不是語言的重點, 是其他人重視,這樣可以說你們在討論缺陷, 我在討論 autocomplete 我也覺得是有趣。3
你完全搞不清楚狀況喔。 dotnet 的 Math.Round() 預設是 四捨六入(五遇到前面為基數才進位)的設計,也就是 銀行家捨入法,也就是第三個參數為 ToEven 模式,我指定 AwayFromZero 是因為想走四 捨五入。 拔掉這個,走四捨六入也行,dotnet 就是照本宣科來,根本沒有你說的浮點數精確錯誤3
JavaScript 的概數運算確實沒有實作 IEEE 754 的標準, IEEE 754 中,Nearest value rounding 的方法有兩種: 1. Banker's rounding - 取到最接近的「偶數」 2. 取到最遠離 0 的數(效率佳) 但搞不清楚狀況的是對該語言不熟就隨便拿一個 function 來做概數的人,1
其實我上一篇已經有提到 Rounding mode 的選擇是關鍵了了, 然後那個不叫四捨六入...... 另外 tofixed 又誰跟你說他是四捨五入了.... 他是用浮點數的定位表示法(fixed-point notation) 計算的, 詳細實作有點囉嗦, 自己翻論文.8
不太認同, 如果今天的task是計算1加到10000 從紙上開始 1 + 2 + 3...一直算到10000可以解決問題 用等差數列的公式也可以解決問題 寫段code直接寫個function讓function可以支援不同的min, max也同樣能解決問題 這些方法都能解決問題?難道他們都是好方法嗎?17
我想 auto complete 可以算是開發工具的部分 (我猜任何語言理論上都可以有 auto complete,所以和語言本身無關) 而且在這篇沒看到原原 Po 提到,暫不討論 : 而且我還是那句話, 你今天碰到 ts 世界以外的模組, : 你是要怎麼 autocomplete 跟省時間.2
project scan 就是需要時間, 你檔案數多到一個程度, 就是慢. webpack 有那麼多 tooltip 再加速效能, 難道是假的. 說真的, 這段話反過來說也是可以還給你的. 連自己的 type 跟 convention 都掌握不好的, 是有什麼好靠邀的. 另外 js 的 autocomplete,
42
[問卦] C# Java Javasript要先學哪個好?我朋友非本科出身 大學有 "碰" 過一點C語言 現在想花一點時間學一種語言 請問C# Java JS要先學那一種好? 謝謝大家25
Re: [請益]沒有任何的程式基礎,如何自學JAVA先說結論: 語言的部分從 C++ / Java / Python三個挑一個都可以 非本科的話我建議是挑Python 其實多年前我只會建議C++或Java 但不得不承認Python真的是後起之秀(尤其是3.0開始) 拿Python來搞CI/CD根本開掛 重點是他好學 壞處是很多底層的東西你可能會不懂 但無所謂 除非你做底層不然這不一定重要20
Re: [討論] 刷leetcode的語言選擇最近剛好有在指導一些學生練習,可以來回應一下這個問題 一般最常見語言有三個:C, JAVA, Python 也是最容易找到範例 code 的三個語言 各有不同優點,可以看你的狀況選擇 首先,如果未來有一天17
[請益] 資策會入門課程選擇、選技能樹各位前輩好,小弟是27歲的非本科生,最近面臨職業上的一些選擇,有意願想轉換進入程 式領域。已經爬了不少文,自己現在也有在上udemy的python課,然後搭配書本在學。目 前想去修資策會的課程,算是加強練習然後補一下在程式領域的第一條履歷。 但是現在對自己想要哪個位置的職缺的概念還很模糊,對程式的感覺還在形成當中,現在 要馬上選課程方向,不知道該往哪一條技能樹走18
[討論] 請大家聊聊靜態語言的缺點繼上個系列串 我想問問大家認為靜態型別的缺點是什麼呢? 本人寫Java也寫JS,最近也在碰Python 我自己寫Java,一開始覺得宣告比較麻煩,需要思考這個變數是什麼型別 (其實說實在,Java的變數最常使用也就幾個,我正常刷Leetcode除非特殊情況否則很少會想不出要用什麼型別的變數)12
Re: [討論] 寫三元判斷式code review被打槍從 C++ 的角度來說 三元運算子有機會改變 l-value/r-value 的性質,進而破壞最佳化 舉個簡單例子 可以看到用三元運算子的時候,回傳區域變數竟然要 copy 而不是 move 雖然說 Java 沒有這些7
Re: [問卦] 為啥java會在python之前紅JAVA這東西之前真的不知道紅什麼意思的 完全物件導向 使用每個功能 都要宣告物件出來 然後呼叫簡單的內容 也要一串程式碼 又臭又長3
Re: [討論] 請大家聊聊靜態語言的缺點借題發揮一下:static typed for the win 不過還是先切題回答「靜態語言的缺點」: 在大部分常用的靜態語言中,的確可能出現 valid program 不好標注 type 的情況 不過到底有多難標注就完全看是哪個語言跟哪個版本了 -----2
[問題] 想轉職走程式設計對於課程選擇有些迷惘小弟今年 28 歲, 目前從事資訊硬體維護的相關工作, 一直有念頭想轉職走程式設計這塊, 目前有自己做了很多功課, 也知道非本科系要轉程式有多難, 考慮許久還是想嘗試看看。 我知道程式語言只是工具, 重要的是對寫程式的邏輯, 目前選擇了很多人推的 Udemy Python 劉老師的課程入門, 學起來沒什麼大問題, 自己還蠻喜歡 Python 的程式語言, 可惜爬文的結果告訴我, 非本科系想要比較好找工作, 似乎只能從 C# 和 Java上選擇才是最好的, 這點不確定正不正確 最近從104上面搜尋 Python 的職缺似乎快追上 Java 了, 然後拿 C# 和 JAVA 做比較的話 C# 又比較好入門一點, 所以我的認知沒錯的話應該會選擇資策會的 C# 課程, 但是不確定自己的決定正不正確, 或許套用到業界又有不一樣的看法 想詢問版上有經驗的大大們對於以下課程會給予什麼樣的看法呢? 或是有什麼其它課程可以推薦的呢? 非常感謝 !1
Re: [問卦] C# Java Javasript要先學哪個好?這三個怎麼選絕對都不會是java C#吸收很多java的特長 已經屌打java 如果你是想使用jvm 建議學kotlin 那js vs c# 則是要先看你的目的是甚麼 js好處前後端都可以用上 寫前端網頁用js 後端用node.js