精華區beta C_Chat 關於我們 聯絡資訊
這應該分別利用個別語言的優缺點 Python c# java 在我看來都是垃圾 (誤) 都是初學者用的。 最後商業用都是套件。 但這三個選一個作基礎慢慢衍生低階語言才是 應該作的。 Python雖然處理數字比較蠢 但他很靈活 適合爬蟲 機械學習 數字處理。 所以適合在接著去學其他數字圖像處理的套件。 套件也超多 感覺像是個操人 Java則可以 轉c++繼續玩物件導向 或js作全端 或是spring套件 玩database 有三個職業可以轉 C#則可以以轉ut作遊戲 或是c++ c 成為低階的語言師 或是考微軟的證照成為老師。 而這三個 高階語言 其實都很親民。 也就說誰都可以輕易上手 管道也多如山 把他當成初學者用的是很不錯 引述《arrenwu (最是清楚哇她咩)》之銘言: : ※ 引述《arrenwu (最是清楚哇她咩)》之銘言: : : 而如果追求更方便、同時短短幾行就能引出很大效果的程式語言, : : 那從Python入門也行。這個對程式麻瓜最友善 : : 缺點就是使用者對於電腦處理整數、小數點、字串的方式, : : 以及記憶體管理會很沒有概念。 : : 有人可能覺得這些計概會教,我個人覺得是... : : 這些東西只有摸了才會知道在幹嘛,讀過計概就只有「反正底下就是01010101」 : : 推 phoenix286: 就算不清楚電腦處理資料型態及記憶體管理的方式 12/20 0 8: : : → phoenix286: 這對使用者會有什麼影響嗎? 12/20 0 8: : 整數簡單,會出現問題通常是浮點數 : ------ Pytthon 3.9.7 ------ : >> x = 0.1 + 0.2 : >> x - 0.3 == 0.0 : False : 表面上看起來是 "0.1 + 0.2 - 0.3 不等於 0.0"的怪事, : 但實際上是你打進一個浮點數,實際上程式存進去的數值跟人想的不一樣。 : 這必須要知道電腦怎麼處理資料 : 另外關於記憶體管理的部分,我講記憶體管理可能容易造成誤解, : 我想描述的是在 C 裡面 malloc 或 new 算子在記憶體裡面創造物件的機制 : 最終是要了解 pass by reference 和 pass by value 的差異。 : C/C++ 會強迫使用者要理解這差異 : 但是Java以上隱藏了pointer的存在後,這部分就比較模糊 : 這差異的重要性在於... : x = 3; : y = x; # 複製x到y : y = 9; # 現在設定y的數值為9 : x -> 3 : y -> 9 : 非常直覺的結果 : 但換成 numpy 的矩陣: : import numpy as np : A = np.array([[1,2],[3,4]]) : B = A # 複製A到B : B[0,0] = 9 # 改動B的第一個entry為9 : B -> [9,2] : [3,4] : A -> [9,2] <---- 你只有改B,但A也被改動了 : [3,4] : 要理解這個情況,使用者無論如何都要理解pointer的概念 : 啊對了,矩陣那個例子,在MATLAB不成立 : MATLAB 矩陣的等號算子是 deepcopy 嘻嘻 : 不過記憶體管理也確實該要了解啦 : 因為有時候你一個不小心還是會在Python造成memory leak。 : 如果沒有記憶體管理概念的話,你連你的程式可能造成memory leak都不知道 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 27.242.166.100 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/C_Chat/M.1703061394.A.186.html
yamagishi: 提醒一下,C#跟 unity script 寫起來的感覺差很多 12/20 19:23
yamagishi: spring 框架也不是主要拿來玩DB的,要的話請找 doma 或 12/20 19:27
yamagishi: 是 jpa 12/20 19:27