精華區beta C_and_CPP 關於我們 聯絡資訊
※ [本文轉錄自 wtchen 信箱] 作者: strong0716 (讓我教你宅字怎麼寫) 看板: C_and_CPP 標題: [閒聊] 新手常問的問題 選哪個IDE ? 時間: Thu Oct 6 23:04:10 2016 其實只是想來閒聊一下 曾幾何時,我也是一個C++ 新手 現在覺得已經是個老手了 用C++開發Windows介面程式、封包傳輸協議、影像辨識、多媒體串流、 甚至是單晶片韌體、即時作業系統...等 (本文的主題還是聚焦在 Windows 環境下 IDE 選擇好了 ) 很多新手都會問,選哪個IDE好? 這也是我幾年前的疑問~~ 公司前輩大多使用 Borland C++ 6 ,以現在來看,這是個已經過時很久的產品 因此公司有部份大哥,叫我放棄使用這個,改用其他主流的IDE 如 MFC 、.Net 、 QT 之類的 後來我選擇了 MFC 來鑽研,發現他的學習曲線實在太高... 搞了老半天,我又退縮回到使用 BCB6 ,結果發現非常親民使用...就一直用下去 一段時間後,開始覺得 BCB6 不太好用, 當內建元件沒有你要的功能時、VC庫無法 for BCB時...等狀況 就不知道該怎麼辦了 後來在 PTT 爬到一篇好文 [RAD Tool 無罪論] http://disp.cc/b/38-13Ew 看完這篇文章,我豁然開朗︰沒有最強的工具,只有最強的人 後來開始鑽研 Windows API (這當中也在鑽研 DirectShow 的 Filter 開發技術 ) 當我走火入魔的鑽研完 這些東西之後,再回去看超級複雜的 MFC .... 我居然看得懂了!! 也可以用他來設計程式了!! 但如果要我選 IDE ,我還是選 BCB6 ,因為我用他開發介面速度 跟 MFC 速度來比 還是 BCB6 要快的多(而且是壓倒性勝利的快) 此時才體會到 上述分享的那篇文章 的意義 IDE 只是你的一個工具,每個 IDE 都有他的特色,而每個人喜歡的特色 都不太一樣 C/C++語法、作業系統 API 才是你的內功,而 IDE 就像你的劍一樣 就像金庸小說的獨孤求敗一樣,當你內功夠強時,你不用劍 都可以超強 如果此時又有一把適合你的武器時,你就強上之強 (而目前我覺得最適合我的武器 還是 BCB6) 雖然這是一個在現在來看,已經過時的產品,但說真的,我用它幾乎沒有做不到的事 當然這當中也要配合一些外部的庫,庫不能for BCB,就用MFC把他打包給 BCB 就好了.. 一樣可用... -------------------------------------------------------------------- (ps.) 其實會上來打這篇文章,是因為昨天被一個博士一直叫我換QT,搞的我很煩, 所以當下很火說了一句... 如果你用QT寫程式,比我用BCB6寫的還要好,還要強,我就換 我甚至在BCB寫的庫,在單晶片系統上都可以無痛移植,你還要我換沙小? -------------------------------------------------------------------- 然後...最後想跟新手說︰ 選哪個IDE好,這個問題永遠都會存在,都會有人問 我只能說,學校用的 DEV C++ 、CodeBlock 那類東西,實在不適合開發GUI 至於GUI工具,有太多套可以用... BCB可以快速上手,可以讓新手在短時間內很有成就感 MFC的學習曲線很高,不過你想學好Windows API,這是一個練功的好機會 不過到頭來,還是自己要學好C/C++的應用方法, 這些只能透過不斷的實戰寫Code,來提昇自己的層次~ 指標、回調函數、繼承、封裝、樣板、重載、設計模式,這些只能透過實戰經驗去堆 所以,還是自己把功練好最實在... --------------------------------------------------------------------- 最後有個問題我想請問一下用QT的人? QT最多人推廣的特色應該就是 跨平台 扣除只使用基本庫(不依賴作業系統)的程式碼外 我的經驗是寫Windows程式,到最後一定會用到很多 Windows 原生的 API (尤其是寫介面特效,一定會用到 HWND 的事件相關函數吧) 在這種情況下,還有辦法跨平台嗎? 希望上述問題有人能替我解答 也謝謝您觀看這篇 純粹心情抒發的文章 -- 20330 6/17 - □ (本文已被吃掉) 幹!這梗有毒...救命~~ 20331 6/17 - □ (本文已被吃掉) 〒 〒 20332 1 6/17 - □ (本文已被吃掉) ▼▼▼▼ 20333 XX 6/17 - 囧 (哈哈拎北有毒) \▲▲▲▲\ = ●20334 1 6/17 - □ (本文已被吃掉) 20335 6/17 - □ (本文已被吃掉) 口卡口卡嘗百草ψArmour -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.223.251.233 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1475766259.A.C74.html strong0716:轉錄至看板 Soft_Job 10/06 23:16
Caesar08: 我覺得你不知道甚麼是IDE 10/06 23:18
stupid0319: MFC也就是幾個DLL檔,怎麼會IDE呢 10/06 23:22
a27417332: 到底為什麼會冒出MFC OAO 10/06 23:24
testPtt: 怎不用新的還在用BCB6 10/06 23:25
diabloevagto: 你真的知道什麼是 ide 嗎? 10/06 23:27
strong0716: 好吧,MFC應該是屬於VS的一種專案類型 10/06 23:27
strong0716: 只是我習慣把VS的桌面程式說成MFC,不好意思 10/06 23:28
Schottky: 說 MFC 是 library 或 framework 比較符合 10/06 23:29
Schottky: 我覺得用 DEV C++ + Windows API 沒什麼不好啊 10/06 23:30
strong0716: 怎麼縮網址貼文,會被檔阿 @@ 算了... 10/06 23:34
Schottky: 請用 goo.gl 縮網址,不要用 ppt.cc 10/06 23:34
strong0716: 樓上,謝謝 goo.gl/BYPVIY 10/06 23:36
Caesar08: 說的好像VS只有MFC能開發GUI一樣。麻煩先搞懂GUI跟IDE 10/06 23:39
strong0716: 不好意思,理論上只要會API都可以寫GUI,只是難易問題 10/06 23:43
strong0716: 或許我上文把MFC都換成VS會好些,習慣問題,請不要鞭 10/06 23:47
EdisonX: 新手選用程式語言基本上沒得選,教授要什麼學什麼 ; 10/06 23:51
EdisonX: Team 慣用用什麼就用什麼 , IDE 也差不多這樣 . Linux 10/06 23:52
EdisonX: 的話還比較有可議空間。 10/06 23:52
EdisonX: 會特別想學某套 IDE/程式語言,大概就只有二種情況 : 10/06 23:53
EdisonX: 接手的 Code 就是那套;Platform有特殊性,如xcode + obj-C 10/06 23:54
LiloHuang: 自從 Borland 被買走後 C++ Builder 進步很多 10/07 00:35
LiloHuang: https://goo.gl/Acr9YC 這年頭都追求跨平台的開發 10/07 00:36
LiloHuang: BCB6 的編譯器沒有支援 C++11 也是一大缺點之一 10/07 00:39
LiloHuang: 開個 OpenGL 視窗自己畫,介面特效也是很能跨平台 XD 10/07 00:46
bluesoul: Qt的跨平台是介面相同,提供不同平台的lib讓你連結 10/07 01:02
Bencrie: 人家搞不好有 License & support 考量啊 10/07 01:05
Bencrie: 用 Qt 還被 BCB6 user 嗆還真倒楣 XD 10/07 01:05
Bencrie: 發文時間如果是 2006 會比較合理 10/07 01:12
chuegou: 是說 你寫的庫能無痛移植mcu 10/07 01:47
chuegou: 感覺是rtos的功勞...不是ide吧? 10/07 01:47
james732: 好奇你有用研究BCB的精神去研究QT嗎?還是直接排斥它XD 10/07 05:08
tinlans: MFC, .NET Framework, Qt 並非 IDE 10/07 06:41
tinlans: 你這位老手也該好好進修一下了 10/07 06:41
windows2k: QT, MFC, .Net算Framework, 跟IDE扯不上邊啊 10/07 07:34
Clangpp: 你這樣叫老手有點不及格... 要再多充實自己一下... 10/07 09:12
descent: 有試過 embarcadero xe 系列嗎?新版的 bcb 10/07 09:27
MasterChang: 老手還在糾結IDE.....老手哩.... 10/07 09:27
descent: 我下載了試用版, 找回當年使用 bcb 的感動 10/07 09:29
descent: 不過我現在改用 qt 了, 一直期待 bcb + qt 的組合 10/07 09:30
strong0716: 算了,我也不想說啥了,ㄎㄎ 10/07 09:56
flyfoxy: 大概有看懂原po想表達的,但準確來說是framework的學習 10/07 10:10
flyfoxy: 曲線不同 10/07 10:10
flyfoxy: 原po說的都是在Windows上進行開發和運行,如果同要一份co 10/07 10:13
flyfoxy: de在Linux上也可以跑,QT應該是最方便的選擇 10/07 10:13
strong0716: 那說我是進階初學者好了,請各位前輩不要一直鞭我, 10/07 10:15
strong0716: 我碰c到現在也不過三年多時間,請多多包涵 10/07 10:15
strong0716: 還有回一下樓上,xe我用不習慣XD 10/07 10:20
strong0716: 還有我原本想找時間研究一下QT的,只是現在被那博士搞 10/07 10:24
strong0716: 的很反感 10/07 10:24
uranusjr: 選 MFC 那邊就誤入歧途了, 如果你當時選 .NET 或 Qt 後 10/07 11:06
uranusjr: 面大概就是從此過著幸福快樂的生活, 不會有後面那串 10/07 11:07
descent: 其實要看你自己的需求, 我想寫 gui 程式, 勢必得挑一套 10/07 11:21
descent: framework, 而我會希望寫一次可以在很多平台上用, 10/07 11:22
descent: qt 是個好選擇。如果你只專注在 windows 上, 也不一定 10/07 11:23
descent: 要用 qt。 10/07 11:23
steve1012: Windows 下寫c#不是蠻快樂的嗎xD 10/07 13:52
steve1012: 沒c++11實在不太好 10/07 13:53
Sidney0503: ide/framework 你不想說啥? 我也不想說啥 10/07 19:08
tinlans: Qt 有個好處是有 layout 元件,雖然我忘了 BCB 有沒有。 10/07 19:58
tinlans: 以前早期的一些工具要把每個元件拉得超精準 XD 10/07 19:59
FrozenMoment: MFC和IDE搞錯了吧…VS好不好用也跟 MFC 沾不上邊吧 10/07 22:09
EdisonX: 想跳 tone 問下, QT 可跨平台處理 unicode 嗎? 10/07 22:35
EdisonX: 目前 MFC 處理 unicode 的方法我覺得挺漂亮的 10/07 22:36
yoco: ...........救命 10/07 23:10
yoco: C++ 版的小夥伴們,大家好,好久不見 ^______^ 10/07 23:11
yoco: 最近大夥都成熟、穩重多了 ^^ 10/07 23:11
snow3804: 以前用過BCB6,周遭的朋友都學MFC,想不到還有人在推崇他 10/07 23:42
snow3804: 很快讓我寫出一些小東西,學習曲線也沒MFC那麼難 10/07 23:43
snow3804: 後來C++多了很多新的標準,反而讓我裹足不前 10/07 23:45
uranusjr: @EdisonX Qt 是自己做了一個字串 class (QString) 處理 10/07 23:51
uranusjr: 實作法是 UTF-16, 不是最好, 但我覺得算是排在中上 10/07 23:53
EdisonX: @uranusjr , 謝謝回覆 , 看來它也會是下個選擇了 :D 10/08 02:20
ronin728: Qt 超方便啊,還自帶 Webkit...XD 10/08 03:30
kyfish: 通篇大意:我好棒棒我有實戰經驗罵了個宣傳QT的博士好爽雙 10/08 08:14
pttworld:   10/08 10:21
Sirctal: 正妹工程師回來惹!!! 10/08 11:35
ken1325: 大家還真客氣 10/08 11:54
qscgy4: 原來一個可以跨平台的c code是跟ide有關阿…我也是醉ㄖ 10/08 14:07
Sirctal: 老手... 一個不肯學習新技術的人自稱自己老手真的是... 10/08 14:49
※ Last modified: 10/08/2016 14:49:14 ※ 發信站: 批踢踢實業坊(ptt.cc) ※ 轉錄者: wtchen (90.41.170.137), 10/08/2016 16:17:24