--
[m [1;32m※ 來源:‧蛋捲廣場 bbs.tku.edu.tw‧[FROM: 163.13.127.152] [m
嗯..自己去想就知了! cc :)
--
淡江資管WWW-BBS http://wwwbbs.im.tku.edu.tw
--
[m [1;37m※ 來源:‧蛋捲廣場 bbs.tku.edu.tw‧[FROM: 163.13.200.193] [m
大家都知道學VC++要了解MFC,學BCB要學VCL.甚至了解越多越好!包括訊息傳遞架構,類別階
層,各個類別的詳細用法,或是Windows API,NT Service, DDK....等等.以上的每一項都需
要花很多時間去熟悉.更別說是STL,OOP或是OOA/D, UML, Design pattern..?
我想許多在第一線的Programmer或是初學的同學,恐怕不會有這麼多的時間或基礎去鑽研
以上其中一種進階技術.我曾經看過許多人,書是一本一本的買,但是問題是一天比一天多,而
專案是越做越慢!這就像以前我在軍中時剛換悍馬(Hammer)車,如果對著那些只懂一般
汽/柴油引擎的修護兵告訴他們要了解新渦輪引擎的架構以及其設計原理才可以修理悍馬車
一樣,教這些由其師口耳相傳或是主要聽同行傳播或是用try-error來累積知識的技術人員,
而且用日文才能聽懂是什麼零件,教他們自行K新引擎,新車型的架構與原理.似乎有點強人
所難.所以上述建議是不錯,但實行起來困難重重,容易讓人敬而遠之.
我認為如果你要在短時間就能用VC或BCB開發程式,首先當然要有C/C++語言的基礎,如果
根本就沒摸過或是寫過,那當然你可能要做另外的打算了!不是K一下C++語言,就是跟老闆
說用別的工具比較實際.接下來要看一看VC或BCB有關如使用工具以及如何開始第一個專案
,如果你不想看原文,可以到坊間找一找中文譯本(VC6就有)或是與粗淺入門相關的入門書.
之後請不要忘了一定一定要看看工具所附範例程式,因為這是第一手資料,坊間不就有著名
的作者整本書就只是在剖析工具中的範例程式嗎?這表示書中所附的程式是你最好的學習來
源,甚至你的專案或是作業就直接可在上面找到答案.當然有些範例太過深奧,那就先跳過,
也可以找一本以範例為主的書籍來熟悉工具與技巧.另外碰到問題先找On-line Help,我知
道看Help比較吃力,可是一定要養成習慣.然後再找書來參考,我常看到有許多人的問題在
On-line Help就找得到了.當然,天下沒有白吃的午餐,要熟悉一套開發環境當然要花時間.
但是還是要循序漸進,而不是還不會走就想飛!也不要急病亂投醫,雖然案子很趕,但仍然
還是要按走就班,不要看不懂就隨便亂抄書上範例,須知書上範例有些是錯的.
等到有了一定的基礎後,才視需要學習那些深入的主題,千萬不要貪多,因為那會拉壞肚子.
當然,案子還是很趕,作業還是要交,可是你還是要循序漸進,如果真沒有時間,也要與老闆,
老師溝通.一定要保持自己的學習節奏.
拉拉雜雜寫了一大堆,主要是因為看了很多初學者老想一步登天,卻不願從頭做起.根據我的
經驗,多看On-line Help 與研究範例並不見得就會比一天到晚上網問問題或看一些進階不
太容易消化的主題所學的少,學得慢.相反地,還能享受天天有成就的歡愉!
--
* Origin: ★ 交通大學資訊科學系 BBS ★ <bbs.cis.nctu.edu.tw: 140.113.23.3>
嗯..沒錯 !!
對 Framework 多一點的了解 , 才能讓你在 design 時不會沒有
頭緒 !!
--
[m [1;35m※ 來源:‧蛋捲廣場 bbs.tku.edu.tw‧[FROM: 140.92.71.119] [m
我之所以那樣說是為消除初學者對VC的恐懼感,其實不管是那一種語言或工具,若不
花時間和精神去學習都很難有好的成果的。
不過話又說回來,如果只是要寫有一些控制元件的視窗應用程式,而程式只在某一
些控制元件或事件被觸發時才被呼叫(就像大部分的VB使用者所做的事),那麼VB
VC,BCB,Delphi是沒什麼太大的差異的。(條件是你願意學VC的CFormView、AppWizard
、ClassWizard)
我想學VC的人愈來愈少,就是因為有一些人一直說VC的學習門檻太高,又要會這個
又要會那個,才能學。這樣把初學者都嚇跑了,實在沒有什麼好處。不如讓他們知
道用VC寫一些簡單的應用,就像使用VB一樣容易。等他們對VC的操作介面熟悉了,
對VC寫視窗程式也不再害怕了,再深入探討MFC的Framework,這樣才是對大家都好
的方式。您說是嗎?
所以我建議初學者若底子不夠穩,千萬不要以侯先生的深入淺出MFC做為入門的第
一本書(我就是這樣入門的,不過我覺得並不妥),最好以詳細介紹AppWizard、
ClassWizard 的書入門,等寫一些簡單應用已毫無困難之後,再以侯先生的書做為
加強實力的參考書,才是循序漸進的好方式。
--
[m [1;33m※ 來源:‧蛋捲廣場 bbs.tku.edu.tw‧[FROM: 163.13.127.152] [m
詳細介紹AppWizard<--這種書寫起來沒幾頁吧...
大部份MFC的書為了凸顯wizard便利,簡單,故都強調SDK多難,甚至有些書連基本的
類別庫使用方法都不教.從wizard入門的除非自己對programming肯下功夫,否則就
只會按幾個按鈕,照著書上說在特定框框內填入自己的程式罷了,根本學不到什麼..
wizard應該是給已經很有經驗的設計者,為了簡短程式發展時間而設的.
常看到一些直接使用wizard的人連程式進入點在哪都不知道,隨便幾個按鈕
就有列印,開檔,help,version,printer preview,print等功能,感覺非常容易,但是
稍微一深入,如用個API,或者是使用類別成員函式,就一個頭兩個大,因為不知道參數
該傳入什麼,也不知道handle是什麼,就算handle已經被包在class的成員內,也不知
道怎麼找出該成員(找出來也不會用),換句話說,只要wizard沒提供的就不會.
如果從基礎開始,如SDK,不用熟悉OOP就可以學得很好,只是程式碼稍微多一些罷了,
但是每行程式都很簡單,很清楚,先有個概念就好了,不必再去鑽研sdk的技巧,然後
再去學習MFC,owl.畢竟許多技巧都被MFC,builder,owl等作成一個個class,相當好用.
另外從owl,MFC開始著手,用久了就會產生一些疑問,此時在回過頭參閱SDK的作法,一
樣能學得不錯.但一個沒有程式背景的人,叫他從wizard著手,只會更加困難.
...... 純個人意見
--
Ξ Origin: 中正大學寂寞芳心小站 <bbs.ccu.edu.tw> [FROM: 140.123.121.71]
: 大部份MFC的書為了凸顯wizard便利,簡單,故都強調SDK多難,甚至有些書連基本的
: 類別庫使用方法都不教.從wizard入門的除非自己對programming肯下功夫,否則就
: 只會按幾個按鈕,照著書上說在特定框框內填入自己的程式罷了,根本學不到什麼..
: wizard應該是給已經很有經驗的設計者,為了簡短程式發展時間而設的.
其實大家還不都是這樣學會VB、Delphi、BCB的,所以這樣也沒什麼不好。先會一些基
本的方法,再學複雜的部分,是學東西的基本原則。再者,我想Wizard不應該只是給已
經很有經驗的設計者的,它是老少皆宜的。
: 常看到一些直接使用wizard的人連程式進入點在哪都不知道,隨便幾個按鈕
: 就有列印,開檔,help,version,printer preview,print等功能,感覺非常容易,但是
: 稍微一深入,如用個API,或者是使用類別成員函式,就一個頭兩個大,因為不知道參數
: 該傳入什麼,也不知道handle是什麼,就算handle已經被包在class的成員內,也不知
: 道怎麼找出該成員(找出來也不會用),換句話說,只要wizard沒提供的就不會.
: 如果從基礎開始,如SDK,不用熟悉OOP就可以學得很好,只是程式碼稍微多一些罷了,
: 但是每行程式都很簡單,很清楚,先有個概念就好了,不必再去鑽研sdk的技巧,然後
: 再去學習MFC,owl.畢竟許多技巧都被MFC,builder,owl等作成一個個class,相當好用.
: 另外從owl,MFC開始著手,用久了就會產生一些疑問,此時在回過頭參閱SDK的作法,一
: 樣能學得不錯.但一個沒有程式背景的人,叫他從wizard著手,只會更加困難.
: ...... 純個人意見
我想我再重複一次,學會CFormView、AppWizard、ClassWizard是VC入門的好途徑,雖
它不是唯一的方法,但是一個輕鬆入門的方法。當然,要精通VC不是只要會這三個東
就好了,但是如果連這三個東西也不會,那就不能說自己的VC功力不錯。
--
[m [1;34m※ 來源:‧蛋捲廣場 bbs.tku.edu.tw‧[FROM: 163.13.127.152] [m
其實妳只要熟練WIN32 API,用SDK寫程式的速度
也跟VB,DELPHI一樣,這更不容易相信,
但這是真的。
--
※ Origin: 程式設計樂園 ◆ From: tsa14.thu.edu.tw
我以前用SDK寫程式...
大部份都將基本的那幾段...COPY過來COPY過去...
刪刪剪剪...或是增加一些新東東..
不過要熟練API...唉..我的腦子...
--
I hear and I forget,I see and I remember,I do and I understand..
Just do it..
Michael Liang emailto:lmi...@ms7.url.com.tw
telephone:+886-07-XXX-XXX
insteresting:computer programming&studying...
[m※ 來源:‧ [1;34;47m成大工科忘情小築 [0m bbs.es.ncku.edu.tw‧[FROM: h253.s147.ts32.] [m [40m
看了侯先生的內部運作原理後,再參考:
碁峰有一本林俊杰出的VC 5.0 視窗程式經典
or
Addison Wisely的MFC programming寫的蠻不錯的!
(可惜沒錢買,光是看它的目錄就流口水了..)
(其實還有幾本國內寫的.. 蠻不錯的)
配合起來看.. 效果蠻好的..當然啦..C++底子要夠硬..不然會學的很不扎實.
:)
僅供參考..因為每個人的學習路線都不一樣 :)
--
[m [1;32m※ 來源:‧蛋捲廣場 bbs.tku.edu.tw‧[FROM: 163.13.200.32] [m
--
[m [1;37m※ 來源:‧蛋捲廣場 bbs.tku.edu.tw‧[FROM: 163.13.127.152] [m
也跟VB,DELPHI一樣,這更不容易相信,
> : 但這是真的。
> 若這對你是真的,那麼你的功力定是高深,那我也欽佩。
>
> --
> [m [1;37m※ 來源:‧蛋捲廣場 bbs.tku.edu.tw‧[FROM: 163.13.127.152] [m
若要開發一程式速度應該是,BCB>MFC>SDK吧
打死我也不相信這是真的。
[m [1;37m※ 來源:‧北科大電子 DORAMI bbs.en.ntut.edu.tw‧[FROM: ppp7216.cc.ntut.edu.] [m
不過不管怎麼說,所謂VC++的功力,仍然是要靠自己的領悟而定.看的書再多,如果
不去實際體會,也不用在實務上,終究是不踏實.
--
唯有真情才是可貴的
我倒覺得有可能……一個真正有用的程式,花最多時間的地方應該不是介面
的設計,而是程式的架構、解題方法與偵錯。BCB 做一個空白表單不用寫一
行程式,SDK卻要寫幾百行,可是對於一個以 BCB 做也需要幾萬行的程式而
言,SDK頂多多出個幾千行,而且還是到處 copy 來 copy 去的,所花的時
間多不了多少,再者 BCB 這類 RAD 工具多多少少都有一些奇怪的問題,搞
不好用 SDK 寫省下的 debug 時間還更多……
不過別想叫我用 SDK 寫,我不是怕難,而是怕「煩」,簡直煩死人了……
--
**************
把悲和喜寫一篇永恆的古典
滄桑一生再短暫也無怨
--
※ Origin: 楓橋驛站<bbs.cs.nthu.edu.tw> ◆ From: DORM-fw.isu.edu.tw
我覺得適合各人的學習過程應該都不一樣, 程式設計原本就不是一蹴可及的,
那是經驗累積出來的, 當你寫了更多的程式, 需要解決更麻煩的問題時,你的
經驗以及分析能力, 設計能力也會隨之增加. 有人說過:"訓練, 訓練, 訓練,
唯有訓練才能成就巨匠", 真正想要寫好程式的第一個方法就是不斷寫程式.
第二個方法就是不斷吸收各種知識, 像我原本不是科班出身的, 但是我對此
很有興趣, 在自學中不斷成長, 由assembly->C->C++, assembly與c在學的時
候,因為我求快所以學的不是很精通, 大約熟悉了該語言之後, 並沒有寫什麼大程式,
就去學更新的一種語言. 為什麼? 因為我不是科班出身的, 只有自己努力了.
但基本上我的一些基礎概念都把握住了, 在往後的學習過程中有很大的幫助.
有人可能覺得很奇怪, 為什麼我先學assembly, 一般人不都是由高階而低階的嗎,
可是我卻是由低階而高階, 所以我前面說適合每個人的學習過程都不一樣,
我比較喜歡將事情的細節都要了解到相當程度, 然後整體上就能予一以貫之. 所
以當我清楚了低階的一切觀念之後, 再學其他語言就無往而不利了. 剩下來的就是
時間與經驗的問題了.
當然不同的語言的概念對於老手來講是一道門檻, 如oo的觀念. 但是對我來說,
由於我學不同的語言的時間很短, 沒有什麼大型實作經驗, 最後我是安定在c++的
語言之下. 所以oo的觀念對我這種幾乎是新手的人來說很快的就吸收進去了, 雖然
是說很快就吸收了, 但是真正的了解還是要靠經驗.
其實各種不同的程式發展工具也是一樣, 有人用vc用的怡然自得, 也有人用bcb用
的嚇嚇叫, 其實只要能完成想要的目的都是好的. 我說的目的不只是包括程式需求
更包括開發時間, 然而bcb的確可能造成使用者只懂得使用rad, 而不懂更進一步的
程式設計, 但是如果這樣就可以滿足user的目標, 那又何嘗不可呢. 如果user還需
要更深入程式設計, 那就再深入就是了. 所以使用者必須把握自己的方向, 目標,
如果作不到, 那當然就.....反觀vc, 它是一種學習過程很艱辛的工具, 你必須了解到
一個相當深度, 才能使用它, 否則那問題真是源源不斷而來.
所以我認為vc是一個較為低階的工具, 如果有時間的話, 照高階而低階的學習過程,
應該具備相當經驗以及基礎知識再去學, 才不會那麼痛苦.
我的學習過程是
Assembly ----------------------> C --------------->C++ -----------
清楚computer運作機制 為C++奠基 進入oo的領域
assembly instruction level 吸收oo的觀念
----> BCB windows progarmming ---> SDK windows programming(OS detail knowledge)
--> VC windows programming ------> BCB windows programming
這是我在語言上的學習過程, 在vc上我只是了解他的oo概念, 不曾使用它作過大程式.
當然除了語言之外, 很有很多需要學的. 我後來有辛能夠進入科班, 其中所學的像
data structure, system program, os, comopiler,
這些東西雖然不見得實用, 但是這些都是基礎功, 有了這些底子, 再學新東西時, 那
不過是觀念上的繼承罷了, 不只這些, 其實cs所學的東西都是相輔相成的, 那些東西
就像一張網, 彼此之間都有相通的觀念, 如果能將網上的通路全部打通, 就能夠融會
貫通了, 這是我的一點感想. 盼望能給一些迷惑的人一點建議.
--
[33;1m雪泥鴻爪 [m
--
※ Origin: 楓橋驛站<bbs.cs.nthu.edu.tw> ◆ From: Freedom.Dorm6.NCTU.edu.tw
:)
我覺得還要加上每個人的目的不一樣.
先不要管初學者要學習的問題.
就以我自己而言,如果我只是要跑一些單純的運算,答案非常的簡單
那麼TC實在是很不錯,輸出不用費心.
如果程式做完還要畫圖,那麼BCB蠻好用的.
有時候輸入界面比較煩瑣,很多的選項,BCB也是很好.
--
[1;32m─ 發信站 : 台灣科大電機 黃金體驗 <bbs.ee.ntust.edu.tw> [140.118.7.40] ────
[0m 原作者戰績 [Login: 413] [Post: 127]
是的, 這是真的, 但只有在撰寫毋需 UI 或不注重使用介面的程式。
以一個兼熟 RAD 及 SDK 工具的程式員來說, 對於核心處理動作的
撰寫速度應該是差不多的; 但對於介面的設計及 tuning, 除非打
十行程式碼的速度能與 drag-drop, 在 object inspector 敲敲按
按的速度一樣, 否則所花的時間必定是 SDK >> RAD。
我有時會寫一些功能簡單, 但注重介面的軟體, 通常花在構思介面
及調整介面元件配色尺寸位置的的時間不比撰寫核心程式所花時間少,
若叫我用 API 來 implement 來介面, 我寧願用 console mode。
我想這只是個人經驗的問題, 小璋兄長於 system programming,
所以比較少與介面搏鬥, 也因此只要一些 API calls 就可以建構出
所需的介面。而我喜由 end-user 角度來設計軟體, 因此介面成了
設計重心之一, SDK/Resource 層級的介面設計方式是滿足不了我的。
--
"Real programmers use C/C++ - Smart developers use Delphi."
E-Mail: ku...@vclxx.com
Contact my homepage at http://www.vclxx.com/~kuan
--
※ Origin: 楓橋驛站<bbs.cs.nthu.edu.tw> ◆ From: dial6-180.Eden.nthu.edu.tw