Re: [問題] 我對C語言的認知是不是有問題?
※ 引述《CClai5566 (我也來56)》之銘言:
: 問題(Question):
: 我是個正在邊念書邊學C語言的學生
: (理工科系 要計算一些很大的東西)
這裡冒昧一問:理工什麼科系?
這和你的研究選擇什麼程式語言有很大關係。
< 刪光光 >
: 是不是其實C語言大概就是指有for if while fopen等等這些東西可以玩而已?
有哪個程式語言沒有 for if while fopen ?
連簡單的 script language (vbs, power shell, batch) 都有
另外真的很少人單純只學 C 語言,windows 系統下可以去摸摸 Win32 API,
它出書的話大概會比牛津+劍橋字典還厚。
< 刪光光 >
: 而要變的話要往函式庫去研究去走?!
: 就是C語言真正強大是在其他函式庫
其實你說的也沒錯,但很多人用 C 語言,只是拿來學一些 domain 知識而已,
如影像處理,如果是上很理論的課程,應是不會用任何 library,直接用 C 語言硬刻;
如數值分析,是有人用 matlab 來上課,不過用 C 的人又更多。
仔細想一個問題,明明有 OpenCV,為什麼這些很理論課程不直接拿 OpenCV 來做;
明明有 matlab ,為什麼還要用 C 學數值分析,
還要人工砍一學期以後連自己都不會用的程式碼?
說實在話,我覺得有些 library 調用需要蠻深厚的 domain know how,
有 domain know how 之後你有能力開發一堆 library,
但這些事情已經有人做過了,你只需要基於別人開發好的基石,
去做其他更值得研究的事,不是嗎?
< 刪光光 >
: 程式語言學齡大概1年半左右
: 沒受過正規程式語言教育 只靠翻書跟自己找資料而已 謝謝
< 刪光光 >
------
避開筆戰的可能。
理工有很多類組,只要是在寫演算法的八九不離十是在用 C;
工工寫程式也是八九不離十是在用 C;甚至你會了其他八百種程式語言,
唯獨不會 C/C++ , 但教授卻要求一定要用 C ,為什麼?
早期 paper 研究裡面比較多人在實作的高階程式語言有兩種: C, Fortran,
而近期尤其是 C 更多,工工較新的教授有轉戰 C# 趨勢,
但只要是扯到演算法的幾乎會探討兩個主題:
得到的解好不好、解出來的時間夠不夠快,這些都是比較出來的。
和誰比較?當然是和之前已經用 C 語言寫過、發表過的那些文章,
我認為這是學術界不少人還在用 C 的原因「之一」。
扣除掉學術問題,如果你只是要快速解決你的問題,
其實你有許多更好的選擇,一堆 script language 都很優秀,
如 vbs, autoit ( 國內可能較少人在談 autoit , 但它真的是很優秀的 script ) 等,
甚至 C 語言刻了五、六十行,其他的 script language 不到十行就完成。
我舉個小例,你知道 C 語言存下桌面 成 bmp 圖檔需要幾行嗎?
幾行可能還不是重點,你知道完成這個,背後需要多少 know how 嗎?
沒關係,我們來看 windows 底下是怎麼完成的 http://ppt.cc/Xpmk
這還不包含 png, jpg 等格式。我們再來看 autoit script language 是怎麼完成的
#include <ScreenCapture.au3>
AutoItSetOption ( "TrayIconHide", 1)
_ScreenCapture_Capture(@DesktopDir & "x.png") ; 存png
_ScreenCapture_Capture(@DesktopDir & "x.bmp") ; 存bmp
_ScreenCapture_Capture(@DesktopDir & "x.jpg") ; 存jpg
差很多對吧?
選用什麼程式語言這真的不一定,
工作領域、開發環境、問題規模、官方支援、
團隊慣用、歷史包袱、語言特性、現有函式庫、
擴充性、維護性、速度 ... etc 等,
但可以確定的是,學會一種具 OO 特性 + 有指標 的程式語言 ,
之後跳其他高階程式語言真的不是難處。
真正的問題往往不是寫程式、不會用 library,而是 domain know how 不知道 ,
我認為在學校較有價值學習的反而是這些才是。
人人都會寫程式,但並不是人人都可以當工程師,
差別在哪?我覺得就是 domain know how,它是專業的象徵…
--
我知道 ~ 但別說出來 ,
說出來讓人感到特別難過...
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 180.177.76.161
推
03/23 00:58, , 1F
03/23 00:58, 1F
→
03/23 05:51, , 2F
03/23 05:51, 2F
→
03/23 05:56, , 3F
03/23 05:56, 3F
→
03/23 05:57, , 4F
03/23 05:57, 4F
推
03/23 13:54, , 5F
03/23 13:54, 5F
→
03/23 13:56, , 6F
03/23 13:56, 6F
→
03/23 13:57, , 7F
03/23 13:57, 7F
→
03/23 13:58, , 8F
03/23 13:58, 8F
→
03/23 22:33, , 9F
03/23 22:33, 9F
推
03/24 12:08, , 10F
03/24 12:08, 10F
→
03/24 16:46, , 11F
03/24 16:46, 11F
→
03/24 21:41, , 12F
03/24 21:41, 12F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 5 篇):