顯示廣告
隱藏 ✕
※ 本文為 tom50512 轉寄自 ptt.cc 更新時間: 2019-06-05 17:34:59
看板 C_Chat
作者 seeghost945 (見鬼噢)
標題 Re: [閒聊] 1%的抽卡率抽100次機率是63.4%?
時間 Tue Jun  4 11:17:22 2019


※ 引述《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 (臺灣)
※ 文章代碼(AID): #1SzUB8YE (C_Chat)
※ 文章網址: https://www.ptt.cc/bbs/C_Chat/M.1559618248.A.88E.html
l22573729: 我也是從c開始學1F 06/04 11:20
hedgehogs: 快推免得被說看不懂2F 06/04 11:23
kaj1983: 我是從QB開始學...3F 06/04 11:24
aleezible: 喔喔,對對對,跟我想得差不多4F 06/04 11:24
jackwula9211: 我那時候大家都學C++啊,其實還是滿好用的啦5F 06/04 11:25
aikotoba: 其實我也是這麼想的6F 06/04 11:26
arrenwu: 其實我覺得第一個學C挺怪的就是7F 06/04 11:29
js850604: 完了我只用過MATLAB8F 06/04 11:29
arrenwu: 打錯,我是要說第一個語言學C++挺怪的9F 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++的語法和方法太繁複了,做什麼10F 06/04 11:31
Giornno: 都要一套流程
arrenwu: static-typed 語言寫起來就很累啊12F 06/04 11:32
arrenwu: C/C++ 更麻煩的是沒有 garbage collection
bbkingck: 大一上學校教c++根本害人14F 06/04 11:34
arrenwu: 不過現在 MATLAB 做得到的事情Python幾乎都可以做了吧?15F 06/04 11:35
roger840410: 我之前大學資工三個班 其他兩班學c++我們學c16F 06/04 11:36
rofellosx: 第一個學C怪在哪?頂多就沒python豐富 支援一堆..17F 06/04 11:36
arrenwu: 第一個學C很ok,是學C++很怪18F 06/04 11:36
CorkiN: 很多工學院大一也都教C++19F 06/04 11:37
CorkiN: 但感覺不是很適合...
arrenwu: 我知道啊 因為我們當初也是教C++ 課本就螞蟻 對吧?21F 06/04 11:37
Giornno: c->c++->others22F 06/04 11:38
seaEPC: 語言好不好用看用在哪,殺雞用牛刀怪刀不好用是很奇怪的事23F 06/04 11:38
Giornno: c算很簡單的,c++導入物件概念,再來是其他24F 06/04 11:39
Xinlong: 真的是要看用在什麼地方 如果你是寫driver跟寫app用的語25F 06/04 11:41
Xinlong: 言本來就不會一樣
twosheep0603: 先學c/c++可以方便銜接計算機概論的硬體知識27F 06/04 11:42
arrenwu: 我之所以提C比C++做為第一個語言較佳就是因為硬體的關聯28F 06/04 11:43
arrenwu: 我不太懂為什麼教C++的一開始就 cout 和 << ,這兩者涉及
arrenwu: 了class 和 operator overloading 的概念
arrenwu: 而且很多教授直接噴 string class 出來存字串
arrenwu: 這反而會妨礙學生理解字串的處理
arrenwu: 但是在 C 裡面你就只有 char[]
Anzar: arrenwu有沒有北七如我也看的懂得說法啊 ....34F 06/04 11:45
arrenwu: 簡單的說就是C++的教學一開始常常使用高級咒文,但C會從35F 06/04 11:45
arrenwu: 初級元素魔法開始

CorkiN: 樓上把c++primer前面幾章讀一下就會大概知道a大在說啥37F 06/04 11:46
Xinlong: c++跟c的關係 用比較簡單的說法就是c++多了物件概念38F 06/04 11:46
rofellosx: 過時的高級咒文...    理解物件我認為要學java..39F 06/04 11:47
Xinlong: c比c++的東西少 當然比較好學(X40F 06/04 11:47
arrenwu: 所以你在用C的魔法時,雖然看起來好像不太俐落,但你很了41F 06/04 11:47
arrenwu: 解你在幹什麼

以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算簡單易懂43F 06/04 11:48
arrenwu: C++是高級魔法師把複雜魔法簡化給你用,但你其實只看得到44F 06/04 11:48
※ 編輯: seeghost945 (60.251.182.68 臺灣), 06/04/2019 12:01:12
arrenwu: 效果跟某些初級魔法很像,但實際上哪裡不同你搞不清楚45F 06/04 11:48
Anzar: 你這例子真是淺顯易懂,感恩~46F 06/04 11:48
CorkiN: a大好神==47F 06/04 11:49
eastnoon: 我先推才不會讓人覺得我看不懂48F 06/04 11:49
CorkiN: 神比喻49F 06/04 11:49
Anzar: Cork要求的也太困難了啦 grgrgr50F 06/04 11:49
arrenwu: 因為我在學C之前我從來沒搞懂C++到底怎麼弄字串的51F 06/04 11:49
fragmentwing: fortran跟C到底哪個快啊 之前看到有人說90在現代也52F 06/04 11:50
fragmentwing: 還是很快
Xinlong: 換CPU比較快(X54F 06/04 11:50
arrenwu: 而Java跟C++這兩大高階魔法系統有一個很類似的哲理,但有55F 06/04 11:51


forsakesheep: 這篇給我的感想就是程式設計師=魔法師56F 06/04 11:51
見習魔法師報到


arrenwu: 一個很大的不同是,C++的魔法放久了會對你精神造成負擔,57F 06/04 11:51
rofellosx: 換硬體比較快+158F 06/04 11:51
arrenwu: 然後那個負擔你要自己排除;Java的魔法則是構築式裡面會59F 06/04 11:51
arrenwu: 自己慢慢讓它消失
fragmentwing: 之前學fortran字串理解也還行,畢竟宣告要len61F 06/04 11:52
fragmentwing: fortran像是在打文章,宣告用integer,dimension,all
fragmentwing: ocatable之類,通通沒有縮寫
Giornno: java有很多東西幫你做好了,摳他就可以了64F 06/04 11:53
Anzar: 奇怪,印象中有看到Java要消失不支援的新聞65F 06/04 11:53
Giornno: 只是從c跳到java會不習慣,所以接c++比較妥當66F 06/04 11:54
rofellosx: c跳c++只會混亂吧..67F 06/04 11:55
arrenwu: 是不習慣標準函式庫太強太威猛嗎XD68F 06/04 11:55
CorkiN: 這串釣到一堆神人==69F 06/04 11:56
Giornno: c接c++不習慣你是開玩笑,同一個媽生的程式語言70F 06/04 11:56

fragmentwing: 對了感謝鼓勵71F 06/04 11:57
我一直認為學程式就是為了用程式解決生活上的問題
為了解決問題而去學習程式,就能維持對寫程式的興趣
如果這份熱情可以一直延續到成為工作,那就更棒了


dieorrun: 高階語言邏輯都差不多 跳來跳去很快的 玩單晶片才痛苦72F 06/04 11:58
arrenwu: 應該說,你到Java不習慣的東西,在C++也會不習慣73F 06/04 11:58
arrenwu: Java只是從syntax上面直接強迫你在精神上進入OOP的世界
Giornno: 當然啊,高階的語言大家的電腦都看得懂,特別用一種機器75F 06/04 11:59
Giornno: 就要用它的機器語言
arrenwu: 但是在怎麼破爛的機器 現在應該都有 c compiler吧77F 06/04 12:00
jonathan793: c++跟c差很多好嗎? 你才在開玩笑78F 06/04 12:00
Stat14: 我覺得學數學比較有用KAPPA79F 06/04 12:01
arrenwu: 我覺得他應該是想要說 C code 放到 C++ 不會出現error啦80F 06/04 12:01
fragmentwing: 從fortran往C開始學超不適應81F 06/04 12:01
fragmentwing: 一堆東西會撞到
fragmentwing: 比方說C的continue是fortran的cycle
fragmentwing: 然後fortran自己有另一個代表不做事的continue,常用
fragmentwing: 來跟goto搭配,然後fortran的goto是用行代碼(據說有
fragmentwing: 不少資管唸四年還不知道行代碼是什麼呢),C是用標籤
fragmentwing: 搭配goto
Ikaros1110: c到c++直接回不去88F 06/04 12:01
arrenwu: 我倒是從來沒學過Fortran 這語言現在很多人用嗎?89F 06/04 12:01
arrenwu: goto在非底層語言上算是一種忌諱了吧XD
rofellosx: C跳C++會混亂是 你會下意識用C的概念去學  問題是物件91F 06/04 12:02

xdavidchen1: c_chat(X) C++chat(O)92F 06/04 12:03
其實也是C Chat(?)


rofellosx: 完全是另一個世界  很多C的概念根本不適用 加上語法像93F 06/04 12:03
devilkool: fortran有的老傳產還在用94F 06/04 12:03
fragmentwing: 第二不適應的是% C是mod fortran是要把資料型態modu95F 06/04 12:04
fragmentwing: le內的東西拿出來用才會% 然後在C這功能好像是用.?
fragmentwing: 不過C的module似乎很少用,畢竟class比較方便的樣子
fragmentwing: 最不適應的是 fortran的函式是call by reference C
fragmentwing: 是 call by value搭配address
fragmentwing: 靠 講到fortran那天導聚教授問怎麼會用這個,教授自

NerVGear: 學C很合適吧 指標那邊也帶你學硬體101F 06/04 12:06
我一開始學C陣列一知半解
一直到了學到指標才感覺打通任督二脈,搞懂了記憶體邏輯


fragmentwing: 己是學C,我也覺得系上為甚麼要教這個……我們原本102F 06/04 12:06
fragmentwing: 要學python的說
fragmentwing: 指標和指標與陣列的一些關係,我花了一個半小時才弄
fragmentwing: 懂
NerVGear: 但是這學期上swift完全不知道在幹嘛==106F 06/04 12:08
※ 編輯: seeghost945 (60.251.182.68 臺灣), 06/04/2019 12:18:19
jeffy84123: 各位討論這麼多,結果你們到底是在討論c++ 幾?107F 06/04 12:09
fragmentwing: C的goto已經有放限制器只能作用在同一block內了108F 06/04 12:09
fragmentwing: 你知道,fortran的goto是可以從第十行跳到倒數三行
fragmentwing: 的嗎 所以fortran的goto真的是太過強大的東西,沒寫
fragmentwing: 註解會讓交接的人很頭痛
Giornno: 指標和參考是讓你懂,c所用的都是最基礎的觀念,python就112F 06/04 12:12
Giornno: 沒想得這麼麻煩,我要用陣列要傳參數當然是要它的值啊,
Giornno: 我還特地送地址過去幹嘛,我到你家門口告訴你地址到我家
Giornno: 取貨,幹嘛不順便送給你咧
NerVGear: 用指標是讓你跟副程式溝通的好ㄇ==116F 06/04 12:13
fragmentwing: 沒 陣列是傳址的117F 06/04 12:13
fragmentwing: 因為整個傳過去會太慢
Giornno: 我說學校教你基礎概念當然用最基礎的c啊119F 06/04 12:14
fragmentwing: 比如你傳一個a[] 其實是傳a[0]的位址過去120F 06/04 12:15
fragmentwing: 這在取址運算子&上很明顯

NerVGear: 那應該學組語 真 底層122F 06/04 12:16
我們系上也有教組語阿,只是實務上比較少用到
大二暑假沒事做去報名參加了資安研習營,裡面在交反編譯理論和簡易運用
那些講師才是真D大神,年紀輕輕就是反編譯工程高手
我只聽得懂理論...

fragmentwing: 所以scanf對char[]是不用&的123F 06/04 12:16
Giornno: 不在c上面告訴你不然在哪邊告訴你124F 06/04 12:16
xsdferty035: 我以為我在C洽原來是軟體版125F 06/04 12:18
其實我比較想要討論程式寫隨機程序的XD
不過這應該更小眾

NerVGear: 不過python速度太慢惹 演算法測資都測不過QQ126F 06/04 12:19
jeffy84123: 不同情況適合不同語言寫,根本沒什麼好比的127F 06/04 12:19
arrenwu: 演算法測資測不過怪Python慢好像不太對吧128F 06/04 12:20
NerVGear: 速度超時啊129F 06/04 12:22
NerVGear: 應該說時間超時
arrenwu: @Giornno Python的 List 是傳地址沒錯喔131F 06/04 12:22
NerVGear: 測資是對的 執行時間太長132F 06/04 12:22
不是Python慢,是你能給Python的資訊太少了,他要去猜你給他了什麼

※ 編輯: seeghost945 (60.251.182.68 臺灣), 06/04/2019 12:30:22
arrenwu: 是MATLAB傳才是整個 deep copy133F 06/04 12:23
arrenwu: 一般時間超時是時間複雜度不一樣了吧?
NerVGear: 時間複雜度一樣啊 但用python跑就比較慢啊135F 06/04 12:24
arrenwu: 挖 你那測資也太..嚴苛了吧136F 06/04 12:24
NerVGear: 你用C寫大概少一半以上的時間吧137F 06/04 12:24
NerVGear: 用C是要搞定輸入很麻煩 python簡單很多但就太慢
換個方向想 Python就是多花了一點點時間再幫你判斷處理輸入呀~


Giornno: 什麼,我誤解了這麼久嗎139F 06/04 12:26
NerVGear: 之前忘了在學哪個演算法python就要跑0.26秒 但標準0.25140F 06/04 12:26
jeffy84123: 這很正常吧 程式設計理念不一樣141F 06/04 12:26
arrenwu: 你現在去run: x = [1,2,3] -> y=x142F 06/04 12:26
arrenwu: 然後改 y[0],你會發現x的內容也會被改道
dryadl88908: 不懂怪在哪,會一個就會全部了,重點在培養寫程式的144F 06/04 12:30
dryadl88908: 思考方式,只是不同語言程式的語法不同而已
還有要清楚知道正在使用的程式優勢在哪

學會很多程式就像拿到很多不同的螺絲起子
你要知道哪個螺絲起子適合轉哪種螺絲


sleepybaby: C_Chat 又變C討論板了(為什麼要說又呢146F 06/04 12:31
jeffy84123: 演算法跟資料結構搞好比用哪個語言重要147F 06/04 12:33
Giornno: 沒錯啊,如果總是寫出複雜度平方以上的演算法,用再快的148F 06/04 12:34
Giornno: 語言也沒救
※ 編輯: seeghost945 (60.251.182.68 臺灣), 06/04/2019 12:43:41
blazewings: 我直上C+++結果現在學R、Python、java時有障礙...150F 06/04 12:38
g5637128: 推151F 06/04 12:41
jeffy84123: 你是學c++幾?152F 06/04 12:41
ttPttPtt: 現在都2019了,還有人在C+++==153F 06/04 12:46
arrenwu: 其實你就想,很多人跑模擬還在用MATLAB,所以其實速度上154F 06/04 12:48
arrenwu: 大家不見得會追求到那麼極致
kaj1983: 個人經驗有障礙的通常不是語言差異156F 06/04 12:48
kaj1983: 遇過幾個文組的沒學過c、c++還是寫得有聲有色
kaj1983: 研究所才開始學寫程式的人也不少
rofellosx: 最好是學一個就全部都會 ..工具方法都不太一樣..159F 06/04 12:50
NerVGear: matlab速度很快吧==160F 06/04 12:55
NerVGear: 算矩陣誰比他快的
geroge0820: 應該是說學會一個 其他就觸類旁通 很快就會了162F 06/04 12:56
ykes60513: Python速度慢 語法又很寬鬆 還是很多人用啊163F 06/04 12:58
rofellosx: 寬鬆?164F 06/04 13:18
kzlivetune: 對啊我以前也這樣說可是沒人認同165F 06/04 13:23
as80110680: 語言確實有很多共同觀念,例如基本的迴圈遞迴演算法166F 06/04 13:33
as80110680: ,但多的是不共通的語言特性,記憶體分配、指標、ref
as80110680: erence,不要以為像reference很容易,光是c++的左值
as80110680: 右值就搞死你了,我到現在都不敢說我多會c++
super502: 以美國公司面試都要現場寫code來說 你說你要以python來170F 06/04 13:35
super502: 接受測試是會被工程師瞧不起的 反而資料結構跟演算法學
super502: 好來 公司看到你特別的地方會直接給你錢請你去總公司面
super502: 試
arrenwu: 用Python寫code會被瞧不起? 現在還有這問題喔?174F 06/04 13:36
arrenwu: 我知道面試好像比較偏愛Java沒錯
a2334436: 優文176F 06/04 13:38
greatloser: 目前大三資工,後悔小時候沒多接觸程式,現在很痛苦177F 06/04 13:48
不用怕啦,還有很多大學畢業才開始學寫程式的,還不是都在業界打滾,不要妄自菲薄
有熱情維持coding習慣比較重要

arrenwu: 別怕啊 這一兩個學期你降會很習慣了178F 06/04 13:49
as80110680: 我大二才從文組轉到資工,有興趣很快就會習慣了179F 06/04 13:55
archer646: 我一下寫c一下寫verilog 就快死了180F 06/04 14:04
banana1: 國中的時候摸過C,隔了十幾年年沒碰程式,之後看python還181F 06/04 14:05
banana1: 是很容易上手
Litfal: 想寫程式練功心態是對的啦,但這問題真的不用迴圈來算183F 06/04 14:17
Litfal: 用上機率統計和常態分佈的概念,迴圈可以省起來
kaltu: 除了要接著學資料結構和組合語言的資工系學生之外,母語都185F 06/04 14:26
kaltu: 沒有必要選C
kaltu: C的learning curve太反人類,母語腔調又很難擺脫,用他當母
kaltu: 語荼毒過的人腦袋直接上了思想僵化+9的DEBUFF
kaltu: 要理解其他paradigm難度直線往上跳
kaltu: 一堆人拿著C++、JVM Python照著C的convention在寫
kaltu: 把C library字典對換成C++ equivalent就當自己在寫C++,連t
kaltu: emplate都不會用
kaltu: C++自己就算不用C style的for(int i … ),我覺得Iterator
kaltu: 比較潮,不不通通來給我用range-based for
kaltu:
kaltu: 開個static public Main()從頭到尾call static method,什
kaltu: 麼是OO?什麼是design pattern?
kaltu: DP我知道啊 我高中ZeroJudge就在用的Dynamic Programming那
kaltu: 個嘛
kaltu: 然後跟你說「啊每個語言都一樣,會C就會寫C++/Java/…,你
kaltu: 看會動啊!」
kaltu:
kaltu: 每種語言都有他們自己特殊的味道
kaltu: 那種覺得語言沒差都一樣,通通照著自己那一套寫的人,寫出
kaltu: 來的東西其他人合作起來有多臭自己都聞不出來
kaltu: 舉個例子,要寫Python就算沒辦法寫得夠Pythonic,至少code
kaltu: style給我去把PEP8讀過一遍再來,私人專案沒關係,要公開之
kaltu: 前先sanitize一下不要臭到別人
kaltu: 也不是說寫C的就不臭,去翻一下GNU standard library人家是
kaltu: 用怎麼樣的慣例在寫C的,不要自己惡搞
kaltu:
kaltu: 能把虛擬碼換成某種語言跑起來,不代表你會那種語言,大家
kaltu: 都有的功能不重要,重點是你有沒有弄懂為什麼這個語言存在
kaltu: 的核心feature和什麼才是他的特色。
kaltu: 嫌Python慢之前,如果你知道Cython在幹嘛,知道Python為什
kaltu: 麼又稱glue language,你就會用C來寫core然後Python寫wrapp
kaltu: er的方式來Pythonic地實作你的演算法然後再接駁給其他系統
kaltu: Python的設計目的是減少人類的開發時間和各種重要元件之間
kaltu: 的串接overhead、作為複雜系統的前端語言,例如深度學習引
kaltu: 擎不約而同選用Python作為前端,C/CUDA作為後端一樣
chean1020: 結果這一串沒有經典引戰笑話XDDD,我以為是有人引戰說221F 06/04 14:32
chean1020: 了什麼xxx是世界上最好的語言才這麼多推
laechan: 看來專家很多,想問一下,為啥學校教的跟業界要的落差很大223F 06/04 14:45
我是念中後段的國立大學
這邊的環境是學生程式能力參差不齊,更嚴重的是有很多學生只想混畢業
大一入學前都不會寫程式,下課回家除了作業也不會想要多練習程式

熱情沒練習程式能力當然無法進步,學生都原地踏步,能教的就不多

系上的規畫上,到了大三選修課才開始在課堂上學做專案
但說白了也只是不到千行的小專案
一堂課也才18周,還要上課教課程內容

以資料庫這堂課舉例,學關連式資料庫、SQL語法就花了約8~9周
期中考完上述後,才開始寫專案,每周課堂做專案報告

再來教授也不一定會跟業界有互動,當然就不知道現在業界流行的內容
有些教授更只顧著自己研究室的案子
畢竟申請研究經費還是比教育理念重要阿XD


greatloser: 要引戰的話先從tab還是4格空白開始聊吧224F 06/04 14:47
greatloser: 再來聊IDE背景顏色要深色還淺色
arrenwu: 我支持IDE背景要深色226F 06/04 14:56
zybaster: 應該說學c容易習慣從下往上堆的思考,而c++,java..etc227F 06/04 14:58
zybaster: 通常是由上往下長的思路去設計的,沒切換過來撞牆是必
zybaster: 然的
shuncheng: 我都用tab 打C用深色 Matlab用淺色 Latex深淺看心情230F 06/04 14:59
rofellosx: 因為學校不會教你實作...要自行摸索231F 06/04 15:09
rofellosx: 再來C++的教科書很爛
cayalst: 從C開始之後學java 現在學python輕鬆多233F 06/04 15:15
※ 編輯: seeghost945 (60.251.182.68 臺灣), 06/04/2019 15:55:44
arrenwu: 其實1堂課18周還滿久的啦XD234F 06/04 15:57
sarsman: Code_Chat235F 06/04 16:17
an94mod0: 現在好像戰不了Vim或Sublime了?236F 06/04 16:40
tonyhsie: 其實我是完全不會推薦一般人去寫C  不如去寫C#237F 06/04 22:46
tonyhsie: 上手容易度跟內建的API豐富程度差很多
tonyhsie: 數字還好 字串處理的話 C#是給你車開 C是要自己打造輪子
tonyhsie: 如果程式只是業餘興趣 花大把時間學C是比較沒必要
kaltu: C#只是把method第一個字母改大寫的Java而已(戰241F 06/05 01:59
tonyhsie: Java 也可以  不過我覺得 C# IDE 強大太多了 XD242F 06/05 02:22

--
※ 看板: ACG 文章推薦值: 0 目前人氣: 0 累積人氣: 506 
分享網址: 複製 已複製
r)回覆 e)編輯 d)刪除 M)收藏 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇