Re: [閒聊] 結論是C#比Java厲害嗎

作者: arrenwu (鍵盤的戰鬼)   2023-12-20 10:21:49
※ 引述《arrenwu (最是清楚哇她咩)》之銘言:
: 而如果追求更方便、同時短短幾行就能引出很大效果的程式語言,
: 那從Python入門也行。這個對程式麻瓜最友善
: 缺點就是使用者對於電腦處理整數、小數點、字串的方式,
: 以及記憶體管理會很沒有概念。
: 有人可能覺得這些計概會教,我個人覺得是...
: 這些東西只有摸了才會知道在幹嘛,讀過計概就只有「反正底下就是01010101」
:
: 推 phoenix286: 就算不清楚電腦處理資料型態及記憶體管理的方式 12/20 08:33
: → phoenix286: 這對使用者會有什麼影響嗎? 12/20 08:33
整數簡單,會出現問題通常是浮點數
作者: SangoGO (隱世的外來人Lv.1)   2023-12-20 10:22:00
只好出動邏輯大師javascript了
作者: smart0eddie (smart0eddie)   2023-12-20 10:28:00
js不好嗎
作者: Ericz7000 (Ericz7000nolan)   2023-12-20 10:29:00
大大都用什麼
作者: JustBecauseU (ki)   2023-12-20 10:30:00
js 1=='1' 嘻嘻
作者: msbdhdfceb (ゾン)   2023-12-20 10:31:00
C#有decimal可以用,不會出現0.3那個例子的問題,如可你很在意十進位精度時可使用(金融計算時尤其重要
作者: madrac (madrac)   2023-12-20 10:32:00
我覺得浮點數是另個單獨的問題啦
作者: ccpz (OoOoOo)   2023-12-20 10:32:00
js 0=="0", 0==[] 都是 true, 但是 "0"==[] 會是 false
作者: madrac (madrac)   2023-12-20 10:33:00
我通常都是教人: 沒必要的話就全部用整數記資料
作者: s7503228 (情報屋)   2023-12-20 10:33:00
js爛死了幹
作者: ccpz (OoOoOo)   2023-12-20 10:33:00
NaN==NaN 也是 false
作者: devilkool (對貓毛過敏的貓控)   2023-12-20 10:33:00
我還看過全部用字串記的= =
作者: SangoGO (隱世的外來人Lv.1)   2023-12-20 10:36:00
因為js是用在前台的,戰場不同
作者: usoko (time to face reality)   2023-12-20 10:38:00
js真的是邏輯大師 py算什麼不過這年頭IDE都會跳warning告訴你memory leak
作者: s7503228 (情報屋)   2023-12-20 10:40:00
我也常用所以知道問題 不過還好現在我只搞後端 前端不用弄了 基本上可以跳過 JS只適合搞一些簡單的東西 再多都要套件去弄
作者: msbdhdfceb (ゾン)   2023-12-20 10:40:00
動態型別語言都會有很多魔法 JS只是裡面巫力特別高的
作者: rabbithouse (智乃的歐尼醬)   2023-12-20 10:40:00
傳址跟傳值搞得懂的話 C++用起來會有人機一體的感覺很舒服
作者: s7503228 (情報屋)   2023-12-20 10:41:00
現在寧願值都在後端處理完在丟到前端做簡單處理就好 JS本身能不用就不用==
作者: SangoGO (隱世的外來人Lv.1)   2023-12-20 10:41:00
越方便就越不清楚...,畢竟是js,一個var包山包海
作者: usoko (time to face reality)   2023-12-20 10:41:00
以算力來說 複雜的事情本來就該在後端做完
作者: bpk (隱之忍者)   2023-12-20 10:42:00
作者: usoko (time to face reality)   2023-12-20 10:42:00
這年頭type safe對軟體開發很重要 py其實不能亂寫經典js meme
作者: madrac (madrac)   2023-12-20 10:45:00
我這邊 C++ 趨勢都是沒在寫 macro 了, 太難維護
作者: zyxx (321)   2023-12-20 10:46:00
只有var是幾年前的事了 現在有let const
作者: Issarc0721 (蕭瑟風月)   2023-12-20 10:46:00
js真的是很多奇葩的玩法可以搞人XD
作者: bpk (隱之忍者)   2023-12-20 10:48:00
js在瀏覽器按F12就可以用console測一些指令
作者: thelittleone (thelittleone)   2023-12-20 10:49:00
這個不是基本之一嗎?不管學Python Java都會遇到寫JavaScript 就自求多福,自己不搞不表示同事不搞
作者: ccaao311 (ccaao)   2023-12-20 10:52:00
補另個點,R跟matlab一樣不會改動到前者的array
作者: inte629l   2023-12-20 10:54:00
python記得有參照機制吧
作者: mikuyoyo (拍拍)   2023-12-20 10:56:00
值本來就是越後面處理越好吧,js 用途就是網頁框架都用他,又沒人在用別的語言
作者: lay10521 (小伊達)   2023-12-20 10:58:00
原來拍森也會這樣==
作者: entaroadun (entaroadun)   2023-12-20 11:00:00
學過其他語言再看js會覺得這是啥小XD
作者: kirimaru73 (霧丸)   2023-12-20 11:05:00
這邊可以測試一下用浮點數玩弄電腦https://bit.ly/41sFKvp0.1 0.2 0.3 0.4 0.6 0.7 0.8 0.9 都是不準的
作者: herbleng (herb)   2023-12-20 11:07:00
那個浮點數的問題其實c也會有,畢竟電腦處理小數的方式都是2的負次方在做
作者: kirimaru73 (霧丸)   2023-12-20 11:07:00
但是0.5 0.25 0.75 1.5 2.125 等等就會是準的所以不會有人開0.25 + 0.5 != 0.75的玩笑浮點數就是效率>>精確度 各語言也都有精確度>>效率的資料型態,算錢的時候如果需要就會改用那些64bit浮點數雖然算一次看起來好像是準的,但你連算100次還是會大爆炸
作者: dosiris (希望大家開心)   2023-12-20 11:10:00
都2023了 浮點問題還沒克服 笑鼠
作者: kirimaru73 (霧丸)   2023-12-20 11:13:00
你可以寫出完全沒有浮點問題的程式,然後如果是遊戲引擎的話FPS保守比競爭者少了三倍左右那你是要克服浮點問題還是老老實實賣遊戲不過如果是計算無人機去冥王星探測一圈這種應用,我就不知道會採用哪種策略了,這個貪效率可能真的會出事
作者: broian   2023-12-20 11:16:00
我只想知道為什麼要一直出不同的程式語言
作者: lightdogs   2023-12-20 11:18:00
浮點問題的確很麻煩 能用int 就用int 判斷式能用str就用str 純粹數字有時候就是會搞人這就要去問各家廠商了 不管硬體軟體 很多廠商就是喜歡自創自己的語言 然後87%跟ja python c++很類似
作者: kirimaru73 (霧丸)   2023-12-20 11:21:00
最簡單的例子 顯示卡又看不懂C++ 你想要他高效率地做牛做馬,你就要幫他創造他能懂的語言
作者: Suleika (Suleika)   2023-12-20 11:24:00
新語言的發展通常跟解決效能還有特化某領域有關,語言跟產業有關,產業跟錢有關
作者: kirimaru73 (霧丸)   2023-12-20 11:27:00
近代的發展已經開始自創天生願意做牛做馬的卡(已經不叫顯示卡了),畢竟人類的慾望無窮無盡,顯示卡表示我就一介算螢幕畫面的,你們怎麼要求越來越多
作者: sarafciel (Cattuz)   2023-12-20 11:29:00
沒到一直出吧 主流語言裡最年輕的rust也有8年了XD不過近期是有些人打算弄點新東西幹掉C++就是
作者: kirimaru73 (霧丸)   2023-12-20 11:31:00
湊數量的話可以請esoteric language出來開趴
作者: broian   2023-12-20 11:32:00
感謝解答!
作者: hollen9 (好冷酒)   2023-12-20 11:47:00
現在最有機會取代 C++ 的不就是 Rust 嗎Linux內核, 微軟Windows系統元件都有相關新聞可以根絕人為開發疏失 造成記憶體洩漏
作者: tsubasawolfy (悠久の翼)   2023-12-20 11:52:00
wsl: memory leak 叫我?
作者: hollen9 (好冷酒)   2023-12-20 11:52:00
更不要講還有防禦性寫程式 故意埋地雷甚至開後門的不要相信任何東西
作者: kirimaru73 (霧丸)   2023-12-20 11:54:00
這牽涉到效率問題,C++允許你直接插腦控制記憶體內容有時候就是真的要這樣才能逼出極限的運算效率當然手一滑就leak到天邊了,不過你需要效率時就是需要「絕對不會memory leak」且 「效率永遠發揮到極限」的程式語言,如果真的存在,我也想要去跪舔啊
作者: hollen9 (好冷酒)   2023-12-20 11:56:00
Rust之所以會討論到取代 C++ 就是沒有犧牲自由調度空間吧
作者: Suleika (Suleika)   2023-12-20 12:01:00
扯一堆不如看人家報告為啥用rust做kernel module比較實在
作者: as80110680   2023-12-20 12:35:00
C++你想人機一體,先去搞懂左值右值再說
作者: spfy (spfy)   2023-12-20 12:36:00
防禦性程式碼到底是不是從中國開始的阿 超虎爛欸
作者: nthank (不謝)   2023-12-20 13:06:00
C++複雜是它的缺點也是優點 光是保留字就有60幾個 相比C只有30幾個 語法多元實際平常會用的語法可能只有20% 如果只有自己寫倒還好 最怕的是你旁邊那個老哥平常用的20%跟你用的20%是空集合
作者: smallreader (小讀者)   2023-12-20 13:29:00
浮點數rounding不是很基本的嗎
作者: henry4204aaa (羽の觴)   2023-12-20 14:41:00
之前沒用deepcopy de到天荒地老
作者: ejnfu ((-. .-)b)   2023-12-20 15:18:00
C++比Java難多了 lvalue rvalue reference, universal reference先搞懂再說..

Links booklink

Contact Us: admin [ a t ] ucptt.com