我覺得C++整個語言其實一直在做兩件事情
1.讓靜態語言的C++盡量提供動態的功能
2.讓C++提供資料處理的功能
動態功能:
1.多型:C++利用inheritance + dynamic binding和template達成polymorphism。
2.動態資料:classic C++靠new、linked list,modern C++靠STL container等支援動態資料。
資料處理:
1.classic C++靠資料結構那些方式,如array,linked list,tree...。
2.modern C++靠STL的container。
以上是C++花了很大的力氣跟篇幅盡量完成動態和資料處理的功能。
為什麼VFP從來沒有這些問題呢?
1.VFP是動態語言,所以天生就是多型,根本不需用額外的機制達成多型。
2.動態資料方面,VFP內建資料庫引擎,所以動態資料用資料庫解決即可,這也是我以前寫VFP時,幾乎沒用過array,都是用cursor去寫,此時可用SQL處理,若SQL真的寫不出來,還有xBase去處理。
3.資料處理方面,由於VFP內建資料庫引擎,用資料庫處理就好,又內建SQL和xBase語言,所以就算不用資料結構那些東西,也一樣可以處理資料,甚至更好用。
這也是為什麼我以前寫VFP好幾年,也沒遇到什麼寫不出來或不好寫的地方,