Re: [請益] 比物件導向更先進的程式設計思想?
※ 引述《dharma (達)》之銘言:
: 現在很多新出來的程式語言,(如Swift),從本質上說,都是物件導向語法,這是因為近: 幾十年來,從來沒有比物件導向實現更先進的程式設計實現在新程式語言中全面取代物件: 導向思想。
: 上面是某程式語言教學書看到的
: 他說的符合實情現況嗎?
幾個迷思
很多人會講C沒有OOP 實際上C有
OOP是一種paradigm 本質上還是工程師的抽象化能力
有OOP思想的人去寫C 就會有OOP的味道
腦袋裝義大利麵的寫C++還是Java C# Swift 出來都是義大利麵
語言提供的是對型別系統的規範
工程師再用型別去約束別人或提供某種承諾
就算是用主打FP(functional programming)的程式語言 LISP
還是有人可以自己打造出整個型別系統(方言)
區別只是在於每個語言的強弱項不同
其次業界選擇語言通常是因為現有的專案與人力資源
而不是因為哪個語言比較 ── 用原PO的說法 ── "先進"
--
※ PTT 留言評論
2
我個人主觀且偏見的覺得 OOP 不是聖杯,它只能管理一些些的複雜度,它雖好用但又沒那麼好用,它可以很容易跟其他技術結合在一起,所以起手式走oop 不見得不好,但也不用太過度期待用了能上天堂之類的 oop 就只是個工具,就像 solid 是個 guide(我也喜歡 solid,但現實世界總是不那麼美好),更別說是板上常見的 design pattern,我相信我們能從這些東西上面是可以學到一些東西,但也不用過度美化 如果真的要把程式寫好,我覺得練習寫能大量組合,無狀態,可驗證,又可高度抽象化的producedure,stateless,pipeline,wishful thinking programming 的方式會比較好,我反倒覺得這個聖杯存在很久了,只是很少人注意到 ----- Sent from JPTT on my Asus ASUS_I01WD.3
喜歡換一個思考模式嗎?歡迎進入 FP 1. compose 是 FP 語言中的基石 (O) 2. stateless FP 語言原則上沒變數概念,等號兩邊是等價的 (O) 3. 可驗證/高度抽象化,FP 的 type system 往往比 oo 系列的表達力更強 (O) ---6
OOP沒什麼不好啊 沒有OOP我們廣大的碼農們怎麼活下去 沒有OOP現在的軟體能發展成這樣嗎 每樣工具在其時代背景都有它的貢獻 沒有工具是完美的啊5
JavaScript 是一個基於原型(Prototype-based)的程式語言 在本質上很難將它歸類為程序導向語言,或是物件導向語言 類別: JavaScript 中沒有類別(Class)的概念,但是有物件(object)的概念 而這個物件概念的物件,則是以GUI的 Widget為主5
在討論oop fp 或任何概念之前 需要討論的是你的使用情境(context) 沒有context就只是在討論信仰 一開始沒有討論context,所以後面討論一定是到處互打,大家都覺得自己對 所以回這篇文的時候麻煩先描述想討論的contextX
國外反OOP的人不在少數 OOP 是萬惡之源 OOP is the Root of All Evil - Jeff Ward OOP 是爛東西8
物件導向其實是很偉大的發明 不知道酸民有沒有注意到--- 建築的預鑄工法, 其實也是物件導向 先把牆, 梁柱預鑄好, 搬到工地組合起來就好 所以現在蓋房子都超快的8
阿 是不是什麼王X歸來、邁向X手之路、拉近和X神之路、最強入門邁向X手之路之類的書?還是有附插畫的那種? 或者某些業者或教學單位新花樣, 賦予新名詞之類的,例如: 後X情時代、XG製造、智X製造、X捷開發、X石開發、X布開發、X端工程師、X個月轉職、X經驗工程師。 我覺得我地圖砲開太大XD,「完全取代」根本比不上「相容舊版」來的有用,薪水也不會比較多。9
依照目前看CodeReview 大部分人寫程式的方式 其實都披著OOP的皮 寫不是OOP的程式 甚至還看過很愛嘴別人的主管5
近 : 幾十年來,從來沒有比物件導向實現更先進的程式設計實現在新程式語言中全面取代物 件 : 導向思想。 : 上面是某程式語言教學書看到的
28
[問卦] 第二個程式語言該學什麼?如題 小弟嵌入式工程師拉 學的第一個語言就是C 可是開始工作後才發現 幾乎都沒在動鍵盤 看扣99% 寫扣1%16
[請益] 比物件導向更先進的程式設計思想?現在很多新出來的程式語言,(如Swift),從本質上說,都是物件導向語法,這是因為近 幾十年來,從來沒有比物件導向實現更先進的程式設計實現在新程式語言中全面取代物件 導向思想。 上面是某程式語言教學書看到的 他說的符合實情現況嗎?9
Re: [問卦] 自學C跟C++推薦哪個教材這問題...如果不是大一計算機程式教授要特別選一個配合長期發展的語言, 那麼以一般人來說,要先考慮的是你想做什麼事情 確認了你想做什麼事情之後,去問你認識的在做那些事情的人他們用什麼程式語言, 然後從那個程式語言開始學一個段落。接著就可以開始做你想做的事情了 Java Python C C++ 這四個要選一個當起點當然是 C 最好。6
[心得] 2020-3-10 每日新聞#每日新聞 # 2020-3-10 每日新聞 # FB: # 2020年如何使用Jupyter Notebooks (第1部分:數據科學前景)2
Re: [請益] 大家是怎麼學新語言的?我覺得如果你是想做自我精進,這邊提供一個方向 ## 選跟你不熟的programming paradigm語言 Paradigm的中文叫做範式 可是我看不懂中文... 不知道的可以看以下wiki