• 4

物件導向的語言是主流,C語言也是主流的程式語言嗎?

因為Linux是使用c語言開發的~~

Android , iOS , Meego , WebOS ...底層通通都是Linux

所以....


所以c語言不是因為物件導向所以才成為主流~~是因為Linux

archos wrote:
因為Linux是使用...(恕刪)


Windows底層不是c??
請賜教
小薇: 大家安安!
OO是一種思維
C 是系統語言
兩種無衝突

程式最重要的事情是把工作做好
因此在不同的工作環境下就會有不同的要求

像是各種加解密程式, 驅動程式, 不常變動的模組及函式庫等等, 用C寫"通常"會比較快, 也比較少需要常常改動, 往往寫好沒瑕疵就可以用很久不用再改

而物件導向可以視為結構化程式開發的改良
例如說, 以前我們有一些資料, 還有一些針對這些資料的處理動作
作法就是把重複的動作變成函式, 把資料變成參數傳遞
有了物件導向後, 就可以將資料與動作綁定在一起, 讓邏輯更清晰, 程式更簡潔
當需要共用程式碼的時候, 除了以往的函式庫, 還多了繼承的功能可以選用

關於物件導向不是三兩句可以說完
但很多人都將物件導向與傳統的結構化程式開發對立起來, 這是錯誤的
物件導向是在結構化程式開發的基礎上, 針對各種難以解決的麻煩問題而提出的更進一步解決方案
所以, 當你的工作環境沒有這些麻煩問題時, 不使用物件導向也沒什麼大不了的
反而這種情況你硬要套物件導向去設計, 真是一點好處也沒有

一點小心得分享, 若有誤還請不吝指正
bluesystem wrote:
有用物件導向, 程式就會比較快? 比較穩? 甚至講個實際遇到的狀況, 有比較好維護?
不見得啊~~~
事前規劃沒做好, 文件沒做好, 全面物件導向化的程式,反而更難維護. 一心要耍技術
, 包裝一大堆, code寫到後面連自己回頭都看的不是很懂的人很多...
沒有弄通物件導向(C++)怎麼用比較好,效能搞到比純C或有限使用物件導向功能的
C++程式慢很多的也不少. (詳情請參考Effective C++ 及 More Effective C++兩本書)
程式的目的在解決問題, 能解決問題是程式的基本要求, 有用, 少bug, 程式易讀好維護,
就是好程式. 裏面有沒有耍什麼奇技淫巧真的不重要...

嚴重同意,接手的程式裡最多有套了18層的Function、Sub,一進去就出不來了...
到後來連效能也排在易懂易維護後面,接手的人維護不了等於是一堆亂碼罷了
dorkas wrote:
OO是一種思維
C 是系統語言
兩種無衝突

正解
六或日晨台中中正露營區或136或中興大學半馬再半馬
在embedded system中, C語言是必要的。
C語言有著程式碼精簡、執行速度快的主因,
很多OS也都是用C語言來開發就可以看出其重要性。

─━☆笨蛋☆〃 wrote:
在embedded ...(恕刪)

"在embedded system中, C語言是必要的"<===這可不一定喔,誠如上面的前輩提到,現在的C編譯器多多少少都會藏一些程式碼,而且編譯出來的執行檔也不一定最佳化,所以很多embedded system其實還混雜了相當程度的組合語言,當然C語言對維護的方便,跟開發的除錯上有相當程度的好處

曉薇薇 wrote:
Windows底層不...(恕刪)


windows是c++
在無法開花結果的地方努力,就是執著;在可以開花結果的地方努力,就是堅持。
感謝大家的說明
讓我了解了更多的資訊
不少韌體就是用純C寫的,所以你說為什麼C語言還能生存呢? (當然,能用組合語言寫更好)

sjcmankimo wrote:
物件導向只是一種觀念跟寫法, 跟什麼程式語言沒有絕對的
我用 C# / C++ , 但我也可以不要用物件導向啊

C#本身就是物件導向的語言,任何一個變數都是物件,由不得你說要不要用...
  • 4
內文搜尋
X
評分
評分
複製連結
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?