看板 C_Chat 關於我們 聯絡資訊
※ 引述《fragmentwing (片翼碎夢)》之銘言: : https://imgur.com/fs1T6T9
: 獻醜 : 原本想說要用log去算,發現超不準,只好直接算了 : 怕超過2*32次,就用10次和0.1的機率去算了 : 至少一次的機率==一次+兩次+...+N(抽的總次數)次 : 以下程式碼,才正式學C不到10天,請鞭小力點 : #include<stdio.h> : #include<math.h> : int cntnis(int a,int b){ : int top=1,bottom=1; : for(int i=1;i<=b;i++){ : top*=(a-i+1); : bottom*=i; : } : int compute=top/bottom; : return compute; : } : double multi(double have,int havet,int nohavet){ : double result=pow(have,havet)*pow((1.0-have),nohavet); : return result; : } : int main(){ : int times,cntn,i; : double haveis,mulh,probability,expectation=0; : times=10; : haveis=0.1; : for(i=1;i<=times;i++){ : cntn=cntnis(times,i); : mulh=multi(haveis,i,times-i); : probability=cntn*mulh; : printf("抽 %d 次中,抽中 %d 張的機率= %lf\n",times,i,probability); : expectation+=probability*i; : } : printf("抽 %d 次,機率 %.3lf 期望值為: %lf",times,haveis,expectation); : return 0; : } 看到原PO說剛學C就想拿來運用,想要鼓勵一下原PO, 這才是學程式的精神,學了就是有需要就要想到它,把它要拿出來用 有一些人認為C太低階,程式碼太長,用Python或Matlab打起來比較簡單 在這個案例上是沒錯啦,畢竟只是跑10次迴圈而已 但如果是跑上萬次、甚至是百萬次的話,我就建議用C了 我大學念資工時,有一堂課叫做 隨機程序 專門就是再學如何寫有效率的程式去模擬隨機環境,統計十萬百萬次後,比較是否符合數學上計算的機率 例如: 撲克牌抽三張都是紅心,模擬百萬次的成功次數 有三個袋子,裡面各有紅白三顆球,A袋摸一顆球放B袋,B袋摸一顆放C袋,最後C袋摸出紅球,模擬百萬次的成功次數 諸如此類的各種機率問題,都可以用程式去模擬十萬、百萬、甚至千萬次 這種迴圈都是要跑很久的,就比較需要可以碰觸到低階的C去寫程式 可以break迴圈就break,盡可能的減少不必要的過程 Matlab就很適合跑一些很難去寫的數學式演算法,因為都建好函數了 Laplace阿、Fourier都可以直接呼叫 可以畫圖也是一大優勢 我上面用C跑完的百萬次隨機模擬結果,也可以丟到Matlab去跑分布圖 讚讚 再來Matlab是以矩陣做運算的,也很適合去跑圖像分析圖像處理 當初實驗室學長也有在用Matlab做人臉分析處理的,不過我沒有涉獵就不贅述了 Python是我目前看過最好學的程式了 直覺符合人類語言、程式短易讀易改、主流多數人都會用 我自己就google自學Python玩過網路爬蟲wikia文本處理機器人聊天機器人 總結來說 C 適合新手打基礎、或是寫需要大量運算需要增加效率時使用 Matlab 適合數學計算、數位圖像處理 Python 適合快速寫簡單程式、或是開發一些應用 以原原PO的漫畫中例子,我們就可以以C做模擬: SSR機率1%,抽100次中,如果有中SSR就算成功,模擬百萬次,成功幾次 以數學理論上就是1-99%^100,這就可以直接在Matlab或是Python上做 在來比較最後的數值是否相似,以兩種不同的路來驗證最終結果沒問題 以上小弟淺見,還望各路大神鞭小力點 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.251.182.68 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/C_Chat/M.1559618248.A.88E.html
l22573729: 我也是從c開始學 06/04 11:20
hedgehogs: 快推免得被說看不懂 06/04 11:23
kaj1983: 我是從QB開始學... 06/04 11:24
aleezible: 喔喔,對對對,跟我想得差不多 06/04 11:24
jackwula9211: 我那時候大家都學C++啊,其實還是滿好用的啦 06/04 11:25
aikotoba: 其實我也是這麼想的 06/04 11:26
arrenwu: 其實我覺得第一個學C挺怪的就是 06/04 11:29
js850604: 完了我只用過MATLAB 06/04 11:29
arrenwu: 打錯,我是要說第一個語言學C++挺怪的 06/04 11:29
會說學C/C++打基礎,是因為比較低階,新人可以學習電腦程式的邏輯思考方式 我們系上大一程式設計課 上學期是先教Python,對於程式完全沒學過的人比較好上手 下學期才開始教C/C++,把程式邏輯基礎打好 不過我高三學測完就先翻書自學C了 :P ※ 編輯: seeghost945 (60.251.182.68 臺灣), 06/04/2019 11:36:54
Giornno: python真的很不錯,c和c++的語法和方法太繁複了,做什麼 06/04 11:31
Giornno: 都要一套流程 06/04 11:31
arrenwu: static-typed 語言寫起來就很累啊 06/04 11:32
arrenwu: C/C++ 更麻煩的是沒有 garbage collection 06/04 11:33
bbkingck: 大一上學校教c++根本害人 06/04 11:34
arrenwu: 不過現在 MATLAB 做得到的事情Python幾乎都可以做了吧? 06/04 11:35
roger840410: 我之前大學資工三個班 其他兩班學c++我們學c 06/04 11:36
rofellosx: 第一個學C怪在哪?頂多就沒python豐富 支援一堆.. 06/04 11:36
arrenwu: 第一個學C很ok,是學C++很怪 06/04 11:36
CorkiN: 很多工學院大一也都教C++ 06/04 11:37
CorkiN: 但感覺不是很適合... 06/04 11:37
arrenwu: 我知道啊 因為我們當初也是教C++ 課本就螞蟻 對吧? 06/04 11:37
Giornno: c->c++->others 06/04 11:38
seaEPC: 語言好不好用看用在哪,殺雞用牛刀怪刀不好用是很奇怪的事 06/04 11:38
Giornno: c算很簡單的,c++導入物件概念,再來是其他 06/04 11:39
Xinlong: 真的是要看用在什麼地方 如果你是寫driver跟寫app用的語 06/04 11:41
Xinlong: 言本來就不會一樣 06/04 11:42
twosheep0603: 先學c/c++可以方便銜接計算機概論的硬體知識 06/04 11:42
arrenwu: 我之所以提C比C++做為第一個語言較佳就是因為硬體的關聯 06/04 11:43
arrenwu: 我不太懂為什麼教C++的一開始就 cout 和 << ,這兩者涉及 06/04 11:44
arrenwu: 了class 和 operator overloading 的概念 06/04 11:44
arrenwu: 而且很多教授直接噴 string class 出來存字串 06/04 11:44
arrenwu: 這反而會妨礙學生理解字串的處理 06/04 11:44
arrenwu: 但是在 C 裡面你就只有 char[] 06/04 11:45
Anzar: arrenwu有沒有北七如我也看的懂得說法啊 .... 06/04 11:45
arrenwu: 簡單的說就是C++的教學一開始常常使用高級咒文,但C會從 06/04 11:45
arrenwu: 初級元素魔法開始 06/04 11:46
CorkiN: 樓上把c++primer前面幾章讀一下就會大概知道a大在說啥 06/04 11:46
Xinlong: c++跟c的關係 用比較簡單的說法就是c++多了物件概念 06/04 11:46
rofellosx: 過時的高級咒文... 理解物件我認為要學java.. 06/04 11:47
Xinlong: c比c++的東西少 當然比較好學(X 06/04 11:47
arrenwu: 所以你在用C的魔法時,雖然看起來好像不太俐落,但你很了 06/04 11:47
arrenwu: 解你在幹什麼 06/04 11:47
以cout和<<的例子來說 int a, b; printf("%d, %d", a, b); 這樣我們可以知道只會印出兩個數字 std::cout<<a<<b; 可以一直<<下去,但對新手而言根本不知道程式實際上到底做了什麼,只知道這樣會吐出兩個數字 更別說當 int a; char b[10]; string c; std::cout<< a << b << c; 不同型態都可以直接透過<<輸出 優點是寫起來簡單 缺點是新手根本不知道原理 用魔法來看就是 都打算從頭學魔法了,不先學火元素控制原理 直接唱人家發明好,可以直接噴火的魔法 而且還可以火水風元素都適用
laechan: 用c寫一些數學算式還沒那麼不堪啦,純文字下c算簡單易懂 06/04 11:48
arrenwu: C++是高級魔法師把複雜魔法簡化給你用,但你其實只看得到 06/04 11:48
※ 編輯: seeghost945 (60.251.182.68 臺灣), 06/04/2019 12:01:12
arrenwu: 效果跟某些初級魔法很像,但實際上哪裡不同你搞不清楚 06/04 11:48
Anzar: 你這例子真是淺顯易懂,感恩~ 06/04 11:48
CorkiN: a大好神== 06/04 11:49
eastnoon: 我先推才不會讓人覺得我看不懂 06/04 11:49
CorkiN: 神比喻 06/04 11:49
Anzar: Cork要求的也太困難了啦 grgrgr 06/04 11:49
arrenwu: 因為我在學C之前我從來沒搞懂C++到底怎麼弄字串的 06/04 11:49
fragmentwing: fortran跟C到底哪個快啊 之前看到有人說90在現代也 06/04 11:50
fragmentwing: 還是很快 06/04 11:50
Xinlong: 換CPU比較快(X 06/04 11:50
arrenwu: 而Java跟C++這兩大高階魔法系統有一個很類似的哲理,但有 06/04 11:51
forsakesheep: 這篇給我的感想就是程式設計師=魔法師 06/04 11:51
見習魔法師報到
arrenwu: 一個很大的不同是,C++的魔法放久了會對你精神造成負擔, 06/04 11:51
rofellosx: 換硬體比較快+1 06/04 11:51
arrenwu: 然後那個負擔你要自己排除;Java的魔法則是構築式裡面會 06/04 11:51
arrenwu: 自己慢慢讓它消失 06/04 11:52
fragmentwing: 之前學fortran字串理解也還行,畢竟宣告要len 06/04 11:52
fragmentwing: fortran像是在打文章,宣告用integer,dimension,all 06/04 11:52
fragmentwing: ocatable之類,通通沒有縮寫 06/04 11:52
Giornno: java有很多東西幫你做好了,摳他就可以了 06/04 11:53
Anzar: 奇怪,印象中有看到Java要消失不支援的新聞 06/04 11:53
Giornno: 只是從c跳到java會不習慣,所以接c++比較妥當 06/04 11:54
rofellosx: c跳c++只會混亂吧.. 06/04 11:55
arrenwu: 是不習慣標準函式庫太強太威猛嗎XD 06/04 11:55
CorkiN: 這串釣到一堆神人== 06/04 11:56
Giornno: c接c++不習慣你是開玩笑,同一個媽生的程式語言 06/04 11:56
fragmentwing: 對了感謝鼓勵 06/04 11:57
我一直認為學程式就是為了用程式解決生活上的問題 為了解決問題而去學習程式,就能維持對寫程式的興趣 如果這份熱情可以一直延續到成為工作,那就更棒了
dieorrun: 高階語言邏輯都差不多 跳來跳去很快的 玩單晶片才痛苦 06/04 11:58
arrenwu: 應該說,你到Java不習慣的東西,在C++也會不習慣 06/04 11:58
arrenwu: Java只是從syntax上面直接強迫你在精神上進入OOP的世界 06/04 11:59
Giornno: 當然啊,高階的語言大家的電腦都看得懂,特別用一種機器 06/04 11:59
Giornno: 就要用它的機器語言 06/04 11:59
arrenwu: 但是在怎麼破爛的機器 現在應該都有 c compiler吧 06/04 12:00
jonathan793: c++跟c差很多好嗎? 你才在開玩笑 06/04 12:00
Stat14: 我覺得學數學比較有用KAPPA 06/04 12:01
arrenwu: 我覺得他應該是想要說 C code 放到 C++ 不會出現error啦 06/04 12:01
fragmentwing: 從fortran往C開始學超不適應 06/04 12:01
fragmentwing: 一堆東西會撞到 06/04 12:01
fragmentwing: 比方說C的continue是fortran的cycle 06/04 12:01
fragmentwing: 然後fortran自己有另一個代表不做事的continue,常用 06/04 12:01
fragmentwing: 來跟goto搭配,然後fortran的goto是用行代碼(據說有 06/04 12:01
fragmentwing: 不少資管唸四年還不知道行代碼是什麼呢),C是用標籤 06/04 12:01
fragmentwing: 搭配goto 06/04 12:01
Ikaros1110: c到c++直接回不去 06/04 12:01
arrenwu: 我倒是從來沒學過Fortran 這語言現在很多人用嗎? 06/04 12:01
arrenwu: goto在非底層語言上算是一種忌諱了吧XD 06/04 12:02
rofellosx: C跳C++會混亂是 你會下意識用C的概念去學 問題是物件 06/04 12:02
xdavidchen1: c_chat(X) C++chat(O) 06/04 12:03
其實也是C Chat(?)
rofellosx: 完全是另一個世界 很多C的概念根本不適用 加上語法像 06/04 12:03
devilkool: fortran有的老傳產還在用 06/04 12:03
fragmentwing: 第二不適應的是% C是mod fortran是要把資料型態modu 06/04 12:04
fragmentwing: le內的東西拿出來用才會% 然後在C這功能好像是用.? 06/04 12:04
fragmentwing: 不過C的module似乎很少用,畢竟class比較方便的樣子 06/04 12:04
fragmentwing: 最不適應的是 fortran的函式是call by reference C 06/04 12:04
fragmentwing: 是 call by value搭配address 06/04 12:04
fragmentwing: 靠 講到fortran那天導聚教授問怎麼會用這個,教授自 06/04 12:06
NerVGear: 學C很合適吧 指標那邊也帶你學硬體 06/04 12:06
我一開始學C陣列一知半解 一直到了學到指標才感覺打通任督二脈,搞懂了記憶體邏輯
fragmentwing: 己是學C,我也覺得系上為甚麼要教這個……我們原本 06/04 12:06
fragmentwing: 要學python的說 06/04 12:06
fragmentwing: 指標和指標與陣列的一些關係,我花了一個半小時才弄 06/04 12:07
fragmentwing: 懂 06/04 12:07
NerVGear: 但是這學期上swift完全不知道在幹嘛== 06/04 12:08
※ 編輯: seeghost945 (60.251.182.68 臺灣), 06/04/2019 12:18:19
jeffy84123: 各位討論這麼多,結果你們到底是在討論c++ 幾? 06/04 12:09
fragmentwing: C的goto已經有放限制器只能作用在同一block內了 06/04 12:09
fragmentwing: 你知道,fortran的goto是可以從第十行跳到倒數三行 06/04 12:09
fragmentwing: 的嗎 所以fortran的goto真的是太過強大的東西,沒寫 06/04 12:09
fragmentwing: 註解會讓交接的人很頭痛 06/04 12:09
Giornno: 指標和參考是讓你懂,c所用的都是最基礎的觀念,python就 06/04 12:12
Giornno: 沒想得這麼麻煩,我要用陣列要傳參數當然是要它的值啊, 06/04 12:12
Giornno: 我還特地送地址過去幹嘛,我到你家門口告訴你地址到我家 06/04 12:12
Giornno: 取貨,幹嘛不順便送給你咧 06/04 12:12
NerVGear: 用指標是讓你跟副程式溝通的好ㄇ== 06/04 12:13
fragmentwing: 沒 陣列是傳址的 06/04 12:13
fragmentwing: 因為整個傳過去會太慢 06/04 12:14
Giornno: 我說學校教你基礎概念當然用最基礎的c啊 06/04 12:14
fragmentwing: 比如你傳一個a[] 其實是傳a[0]的位址過去 06/04 12:15
fragmentwing: 這在取址運算子&上很明顯 06/04 12:15
NerVGear: 那應該學組語 真 底層 06/04 12:16
我們系上也有教組語阿,只是實務上比較少用到 大二暑假沒事做去報名參加了資安研習營,裡面在交反編譯理論和簡易運用 那些講師才是真D大神,年紀輕輕就是反編譯工程高手 我只聽得懂理論...
fragmentwing: 所以scanf對char[]是不用&的 06/04 12:16
Giornno: 不在c上面告訴你不然在哪邊告訴你 06/04 12:16
xsdferty035: 我以為我在C洽原來是軟體版 06/04 12:18
其實我比較想要討論程式寫隨機程序的XD 不過這應該更小眾
NerVGear: 不過python速度太慢惹 演算法測資都測不過QQ 06/04 12:19
jeffy84123: 不同情況適合不同語言寫,根本沒什麼好比的 06/04 12:19
arrenwu: 演算法測資測不過怪Python慢好像不太對吧 06/04 12:20
NerVGear: 速度超時啊 06/04 12:22
NerVGear: 應該說時間超時 06/04 12:22
arrenwu: @Giornno Python的 List 是傳地址沒錯喔 06/04 12:22
NerVGear: 測資是對的 執行時間太長 06/04 12:22
不是Python慢,是你能給Python的資訊太少了,他要去猜你給他了什麼 ※ 編輯: seeghost945 (60.251.182.68 臺灣), 06/04/2019 12:30:22
arrenwu: 是MATLAB傳才是整個 deep copy 06/04 12:23
arrenwu: 一般時間超時是時間複雜度不一樣了吧? 06/04 12:23
NerVGear: 時間複雜度一樣啊 但用python跑就比較慢啊 06/04 12:24
arrenwu: 挖 你那測資也太..嚴苛了吧 06/04 12:24
NerVGear: 你用C寫大概少一半以上的時間吧 06/04 12:24
NerVGear: 用C是要搞定輸入很麻煩 python簡單很多但就太慢 06/04 12:25
換個方向想 Python就是多花了一點點時間再幫你判斷處理輸入呀~
Giornno: 什麼,我誤解了這麼久嗎 06/04 12:26
NerVGear: 之前忘了在學哪個演算法python就要跑0.26秒 但標準0.25 06/04 12:26
jeffy84123: 這很正常吧 程式設計理念不一樣 06/04 12:26
arrenwu: 你現在去run: x = [1,2,3] -> y=x 06/04 12:26
arrenwu: 然後改 y[0],你會發現x的內容也會被改道 06/04 12:27
dryadl88908: 不懂怪在哪,會一個就會全部了,重點在培養寫程式的 06/04 12:30
dryadl88908: 思考方式,只是不同語言程式的語法不同而已 06/04 12:30
還有要清楚知道正在使用的程式優勢在哪 學會很多程式就像拿到很多不同的螺絲起子 你要知道哪個螺絲起子適合轉哪種螺絲
sleepybaby: C_Chat 又變C討論板了(為什麼要說又呢 06/04 12:31
jeffy84123: 演算法跟資料結構搞好比用哪個語言重要 06/04 12:33
Giornno: 沒錯啊,如果總是寫出複雜度平方以上的演算法,用再快的 06/04 12:34
Giornno: 語言也沒救 06/04 12:34
※ 編輯: seeghost945 (60.251.182.68 臺灣), 06/04/2019 12:43:41
blazewings: 我直上C+++結果現在學R、Python、java時有障礙... 06/04 12:38
g5637128: 推 06/04 12:41
jeffy84123: 你是學c++幾? 06/04 12:41
ttPttPtt: 現在都2019了,還有人在C+++== 06/04 12:46
arrenwu: 其實你就想,很多人跑模擬還在用MATLAB,所以其實速度上 06/04 12:48
arrenwu: 大家不見得會追求到那麼極致 06/04 12:48
kaj1983: 個人經驗有障礙的通常不是語言差異 06/04 12:48
kaj1983: 遇過幾個文組的沒學過c、c++還是寫得有聲有色 06/04 12:49
kaj1983: 研究所才開始學寫程式的人也不少 06/04 12:50
rofellosx: 最好是學一個就全部都會 ..工具方法都不太一樣.. 06/04 12:50
NerVGear: matlab速度很快吧== 06/04 12:55
NerVGear: 算矩陣誰比他快的 06/04 12:55
geroge0820: 應該是說學會一個 其他就觸類旁通 很快就會了 06/04 12:56
ykes60513: Python速度慢 語法又很寬鬆 還是很多人用啊 06/04 12:58
rofellosx: 寬鬆? 06/04 13:18
kzlivetune: 對啊我以前也這樣說可是沒人認同 06/04 13:23
as80110680: 語言確實有很多共同觀念,例如基本的迴圈遞迴演算法 06/04 13:33
as80110680: ,但多的是不共通的語言特性,記憶體分配、指標、ref 06/04 13:33
as80110680: erence,不要以為像reference很容易,光是c++的左值 06/04 13:33
as80110680: 右值就搞死你了,我到現在都不敢說我多會c++ 06/04 13:33
super502: 以美國公司面試都要現場寫code來說 你說你要以python來 06/04 13:35
super502: 接受測試是會被工程師瞧不起的 反而資料結構跟演算法學 06/04 13:35
super502: 好來 公司看到你特別的地方會直接給你錢請你去總公司面 06/04 13:35
super502: 試 06/04 13:35
arrenwu: 用Python寫code會被瞧不起? 現在還有這問題喔? 06/04 13:36
arrenwu: 我知道面試好像比較偏愛Java沒錯 06/04 13:36
a2334436: 優文 06/04 13:38
greatloser: 目前大三資工,後悔小時候沒多接觸程式,現在很痛苦 06/04 13:48
不用怕啦,還有很多大學畢業才開始學寫程式的,還不是都在業界打滾,不要妄自菲薄 有熱情維持coding習慣比較重要
arrenwu: 別怕啊 這一兩個學期你降會很習慣了 06/04 13:49
as80110680: 我大二才從文組轉到資工,有興趣很快就會習慣了 06/04 13:55
archer646: 我一下寫c一下寫verilog 就快死了 06/04 14:04
banana1: 國中的時候摸過C,隔了十幾年年沒碰程式,之後看python還 06/04 14:05
banana1: 是很容易上手 06/04 14:05
Litfal: 想寫程式練功心態是對的啦,但這問題真的不用迴圈來算 06/04 14:17
Litfal: 用上機率統計和常態分佈的概念,迴圈可以省起來 06/04 14:20
kaltu: 除了要接著學資料結構和組合語言的資工系學生之外,母語都 06/04 14:26
kaltu: 沒有必要選C 06/04 14:27
kaltu: C的learning curve太反人類,母語腔調又很難擺脫,用他當母 06/04 14:27
kaltu: 語荼毒過的人腦袋直接上了思想僵化+9的DEBUFF 06/04 14:27
kaltu: 要理解其他paradigm難度直線往上跳 06/04 14:27
kaltu: 一堆人拿著C++、JVM Python照著C的convention在寫 06/04 14:27
kaltu: 把C library字典對換成C++ equivalent就當自己在寫C++,連t 06/04 14:27
kaltu: emplate都不會用 06/04 14:27
kaltu: C++自己就算不用C style的for(int i … ),我覺得Iterator 06/04 14:27
kaltu: 比較潮,不不通通來給我用range-based for 06/04 14:27
kaltu: 06/04 14:27
kaltu: 開個static public Main()從頭到尾call static method,什 06/04 14:27
kaltu: 麼是OO?什麼是design pattern? 06/04 14:27
kaltu: DP我知道啊 我高中ZeroJudge就在用的Dynamic Programming那 06/04 14:27
kaltu: 個嘛 06/04 14:27
kaltu: 然後跟你說「啊每個語言都一樣,會C就會寫C++/Java/…,你 06/04 14:27
kaltu: 看會動啊!」 06/04 14:27
kaltu: 06/04 14:27
kaltu: 每種語言都有他們自己特殊的味道 06/04 14:27
kaltu: 那種覺得語言沒差都一樣,通通照著自己那一套寫的人,寫出 06/04 14:27
kaltu: 來的東西其他人合作起來有多臭自己都聞不出來 06/04 14:27
kaltu: 舉個例子,要寫Python就算沒辦法寫得夠Pythonic,至少code 06/04 14:27
kaltu: style給我去把PEP8讀過一遍再來,私人專案沒關係,要公開之 06/04 14:27
kaltu: 前先sanitize一下不要臭到別人 06/04 14:27
kaltu: 也不是說寫C的就不臭,去翻一下GNU standard library人家是 06/04 14:27
kaltu: 用怎麼樣的慣例在寫C的,不要自己惡搞 06/04 14:27
kaltu: 06/04 14:27
kaltu: 能把虛擬碼換成某種語言跑起來,不代表你會那種語言,大家 06/04 14:27
kaltu: 都有的功能不重要,重點是你有沒有弄懂為什麼這個語言存在 06/04 14:27
kaltu: 的核心feature和什麼才是他的特色。 06/04 14:27
kaltu: 嫌Python慢之前,如果你知道Cython在幹嘛,知道Python為什 06/04 14:27
kaltu: 麼又稱glue language,你就會用C來寫core然後Python寫wrapp 06/04 14:27
kaltu: er的方式來Pythonic地實作你的演算法然後再接駁給其他系統 06/04 14:27
kaltu: Python的設計目的是減少人類的開發時間和各種重要元件之間 06/04 14:27
kaltu: 的串接overhead、作為複雜系統的前端語言,例如深度學習引 06/04 14:27
kaltu: 擎不約而同選用Python作為前端,C/CUDA作為後端一樣 06/04 14:27
chean1020: 結果這一串沒有經典引戰笑話XDDD,我以為是有人引戰說 06/04 14:32
chean1020: 了什麼xxx是世界上最好的語言才這麼多推 06/04 14:32
laechan: 看來專家很多,想問一下,為啥學校教的跟業界要的落差很大 06/04 14:45
我是念中後段的國立大學 這邊的環境是學生程式能力參差不齊,更嚴重的是有很多學生只想混畢業 大一入學前都不會寫程式,下課回家除了作業也不會想要多練習程式 熱情沒練習程式能力當然無法進步,學生都原地踏步,能教的就不多 系上的規畫上,到了大三選修課才開始在課堂上學做專案 但說白了也只是不到千行的小專案 一堂課也才18周,還要上課教課程內容 以資料庫這堂課舉例,學關連式資料庫、SQL語法就花了約8~9周 期中考完上述後,才開始寫專案,每周課堂做專案報告 再來教授也不一定會跟業界有互動,當然就不知道現在業界流行的內容 有些教授更只顧著自己研究室的案子 畢竟申請研究經費還是比教育理念重要阿XD
greatloser: 要引戰的話先從tab還是4格空白開始聊吧 06/04 14:47
greatloser: 再來聊IDE背景顏色要深色還淺色 06/04 14:47
arrenwu: 我支持IDE背景要深色 06/04 14:56
zybaster: 應該說學c容易習慣從下往上堆的思考,而c++,java..etc 06/04 14:58
zybaster: 通常是由上往下長的思路去設計的,沒切換過來撞牆是必 06/04 14:58
zybaster: 然的 06/04 14:58
shuncheng: 我都用tab 打C用深色 Matlab用淺色 Latex深淺看心情 06/04 14:59
rofellosx: 因為學校不會教你實作...要自行摸索 06/04 15:09
rofellosx: 再來C++的教科書很爛 06/04 15:10
cayalst: 從C開始之後學java 現在學python輕鬆多 06/04 15:15
※ 編輯: seeghost945 (60.251.182.68 臺灣), 06/04/2019 15:55:44
arrenwu: 其實1堂課18周還滿久的啦XD 06/04 15:57
sarsman: Code_Chat 06/04 16:17
an94mod0: 現在好像戰不了Vim或Sublime了? 06/04 16:40
tonyhsie: 其實我是完全不會推薦一般人去寫C 不如去寫C# 06/04 22:46
tonyhsie: 上手容易度跟內建的API豐富程度差很多 06/04 22:47
tonyhsie: 數字還好 字串處理的話 C#是給你車開 C是要自己打造輪子 06/04 22:47
tonyhsie: 如果程式只是業餘興趣 花大把時間學C是比較沒必要 06/04 22:48
kaltu: C#只是把method第一個字母改大寫的Java而已(戰 06/05 01:59
tonyhsie: Java 也可以 不過我覺得 C# IDE 強大太多了 XD 06/05 02:22