Re: [請益] 比物件導向更先進的程式設計思想?
※ 引述《ripple0129 (perry tsai)》之銘言:
: 也不是說轉換能馬上換掉的啊
: 真要說馬上能換就換掉的
: 我第一個就先推Javascript
: 問題就是換不掉啊
JavaScript 是一個基於原型(Prototype-based)的程式語言
在本質上很難將它歸類為程序導向語言,或是物件導向語言
類別:
JavaScript 中沒有類別(Class)的概念,但是有物件(object)的概念
而這個物件概念的物件,則是以GUI的 Widget為主
Widget 具有屬性及操作(事件反應)函式,兩者綁在Widget上是合乎操作的抽象習慣的
封裝:
JavaScript 中的物件沒有封裝的概念
繼承:
JavaScript 的物件沒有繼承(Inheritance)的特性
多形:
JavaScript 的物件沒有多型(Polymorphism)的概念
命名空間:
JavaScript 沒有命名空間的概念
以上這些典型的OOP亂源都沒有了,JavaScript寫出來的Code
自然也就不會像一般的OOP那樣臭
雖然有人說,還是可以用JavaScript寫出有OOP味的程式
但基本上沒有什麼人這樣做,真的這樣做,Code也是一團亂
--
有可能,但有更多的例子解釋為何是亂源嗎?
如果不排斥看英文 網路上資料很多啦! Ex. 搜尋 "anti object oriented programming"
很有趣的觀點, 的確以前沒注意過,不過較像c++語法的問題
OOP的觀念本身沒問題
Bjarne Stroustrup (C++ 創始者) 這老傢伙說C過時了
https://www.youtube.com/watch?v=KlPC3O1DVcg
看看底下的留言者,如何圍剿他
說亂源太超過了,就是不同設計法各有優缺點而已,強制
OOP 的語言確實造成了一些麻煩,但放開一些限制,引入
其他設計法的好處,截長補短,OOP本身還是很有價值
javascript 的玩法一樣生出了一堆討人厭的鬼東西
封裝的思想很好,代碼復用原則上是對的
JS的亂不是paradigm的問題,是一堆莫名奇妙設計不良
的東西還轉化成了知識,譬如說hoisting,this。這樣
的設計有好處就算了問題是根本沒有,不如噴錯出來給
我修正。
有訓練過的工程師也不會用到hoisting
全班考太爛,教授將分數開根號乘以十的概念
JS可OOP可FP 反正怎麼寫都會動 輸出是什麼就不知道了
老實說前端的東西 有需要搞得這麼複雜嗎?
client端也有複雜的
有技術價值的東西,放在明碼上,不是一下子就被切走了嗎?
我覺得樓主要去看看ES6之後了 你說的JavaScript是很久之前的
用狗哥查JavaScript封裝 繼承 多型 會有東西喔
多看點書
PO文的內容就是從書上來的
如果真的對物件導向很不滿,怎麼會連用自己的話說出來都辦不
到?只會叫別人 google,你自己的想法在哪裡?
請參考前面的發文,我已經寫很多了。 提供額外的參考,這樣也不行。就是要找碴乎
而且 js的定位並非全然都是前端喔 這樣說NodeJs支持者會哭
至於程式有大便味 就是有那種喜歡寫奇門遁甲if else的人
就是看誰衰 誰承受奇門遁甲阿 誰吃屎阿
不過回歸這話題 有沒有比oo先進 這很難說
但本肥很喜歡祖克柏 和比爾蓋茲的想法
覺得現行的語言太麻煩 自己幹出來一套語言
本肥覺得這才是這系列文最終想要的結果
前端語言要自幹,還要看瀏覽器買不買單,沒那麼大的本事 後端我用C就可以了,Web Server 還可以自己改(httpd) 不過現在沒有靠 Web 營生,所以沒有這個煩惱。 做純 Web 太血汗,好吃懶做的人早跑了
JS的封裝繼承多型也只是語法糖 本質還是Prototype-base啊
用你的關鍵字查詢 看到一個論點是OOP的共享狀態是雷區
無論這個共享狀態是全域變數 或是依賴注入的封裝依賴
但我好奇 類似這種全域變數 比如說連線池 是一定要的吧
如果不依賴這個共享的連線池 是要每次都重建?
fp的語言 會怎麼使用連線池呢? 閉包? 跟封裝差不多吧
還是說 完全不使用連線池?
不是很確定你問的問題是什麼? 回了怕變成雞同鴨講
JS本身就是垃圾語言 還好意思批評其他性質
什麼不推 推JS這個垃圾 我越來越覺得你在反串
JS沒有class 還在新版特別做了一個語法糖 你來說說為何
ECMA為何要舔OOP的懶趴好了 XDDD
因為市場需求,商人只管滿足需求,而不管有這種需求的人是不是獃子
樓上不要講ES6了啦 老骨頭根本跟不上時代了還活在過去
至少是美好的過去
樓上這圖.....XD
然後阿 就本質來講啦 所有的程式包括C 本來就都是語法糖阿
阿不然你要回去看組語或機器碼喔?XDDDDDDD
這篇言論的確像15年前的人講出來的 「前端不用這麼複雜
」、「JS沒有OOP」這些都不是現代JS語言應用實務上的狀
況
表示未來的 JavaScript code 要開始 Spaghetti 化了 殘念
實作是prototype base是一回事 class跟extend都出來
這麼久了不用當它空氣吧
不把它當空氣,就要開始寫 Spaghetti Code了
我看過前端寫REACT用一堆 if else 來控制畫面顯示
看到只覺得 wtf
ES6嘎?
你什麼時候產生了沒有OOP就不會有Spaghetti Code的錯覺XD
我沒有這樣說過呀! 是你誤會了
這篇看起來是久沒接觸前端的人憑著信仰發的文
稍有要求的公司早就都上ts了, 也不會用JS的奇怪特性
看一下這個網站,JavaScript 跟 TypeScript 的 Rank
https://www.tiobe.com/tiobe-index/https://reurl.cc/avMnOY
這篇文章說: There are no plans to support TypeScript natively in the browsers. Chrome did some experiment, but later cancelled support. (目前沒有任何的瀏覽器計畫對 TypeScript 提供天生的支援(不用加外掛)) (Chrome 曾經作過一些測試,後來取消了對它的支援) 「稍有要求的公司早就都上ts了」<-- 這是你的信仰,還是你在作夢
不要在那邊偷渡概念...瀏覽器不支援是另一個議題
來自同一篇文章 This is particularly important to note if you’re still in the prototyping phase. If so, don’t waste your time with TypeScript. JavaScript is so much more flexible. (不要浪費時間在 TypeScript 上面)
三大前端框架Angular本來就ts-based
越來越離譜了
另外兩個也都往ts靠攏, ts近年的趨勢網路上一堆文章
中型以上的frontend專案還用JS這種垃圾叫做自找麻煩
感覺就是微軟的大外宣
那既然都會義大利麵 用不用OOP有差嗎 關鍵不就在人?
這是機率的問題,用OO的人,90%都會製造糞code 造飛機~ 造飛機~ 來到青草地~ 造糞機~ 造糞機~ 就是O.O.P.~
反正不合你意就是大外宣 就是炒作 就是阿共仔的陰毛
阿共的陰毛不清楚啦,MS的陰毛全世界都知道
你看文章都不看上下文的嗎...
if you’re still in the prototyping phase.
不用OO,那句話有什麼問題
該文作者看起來就是ts派的
建議你把整篇文章仔細看一遍,它裡面還提到 Javascript is more flexible. ~~~ If Typescript is Windows, Javascript is Linux. I tried to refactor some of my hobby projects to TypeScript but it did not worth the effort.
熊熊發現這位不就是之前大戰OOP的大師嗎XD
js 是 prototype-based OO language 吧
他的好朋友還有 Lua 和 Self ?
您高興就好
JS 跟 TS 的發言真的是原始人....XD
所以你很先進?要不要掏出來看看,不要只會說別人的雞雞小
計畫什麼時候進桶啊?
建議你去當版主,把所有看不順眼的都桶一桶
※ 編輯: csfgsj (218.32.249.24 臺灣), 10/20/2020 10:18:49你有數據顯示寫OOP的比較容易寫出糞code?
我倒覺得根本差不多
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
在討論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的程式 甚至還看過很愛嘴別人的主管3
幾個迷思 很多人會講C沒有OOP 實際上C有 OOP是一種paradigm 本質上還是工程師的抽象化能力 有OOP思想的人去寫C 就會有OOP的味道 腦袋裝義大利麵的寫C++還是Java C# Swift 出來都是義大利麵5
近 : 幾十年來,從來沒有比物件導向實現更先進的程式設計實現在新程式語言中全面取代物 件 : 導向思想。 : 上面是某程式語言教學書看到的
79
[心得] 軟體考古系列:JSON 的故事專門講軟體開發故事的 Podcast 節目 CoRecursive 最近訪問了 JSON 之父 — Douglas Crockford(以下簡稱 Doug),說他是怎麼想出 JSON 這個現在大家都在用的資 料格式,以及他是怎麼推廣它的。 我覺得這段歷史很有趣,就順手整理一下,翻譯成中文,希望可以娛樂到一些人 :) 本文也同時刊載在11
[問卦] 工程師應該精通幾種程式語言?如題 程式語言這麼多種 基本的 Java C++ 算會用的9
Re: [問卦] 自學C跟C++推薦哪個教材這問題...如果不是大一計算機程式教授要特別選一個配合長期發展的語言, 那麼以一般人來說,要先考慮的是你想做什麼事情 確認了你想做什麼事情之後,去問你認識的在做那些事情的人他們用什麼程式語言, 然後從那個程式語言開始學一個段落。接著就可以開始做你想做的事情了 Java Python C C++ 這四個要選一個當起點當然是 C 最好。9
[問卦] 台灣怎麼沒人戰javascript?台灣宅宅最喜歡戰別人用什麼程式語言了 現在好像都是戰python 但javascript這個難用的語言,怎麼沒什麼人戰? 哪個平行宇宙是不用javascript來web dev的,想去。 --9
[問卦] JavaScript怎麼那麼鳥?最近剛學JavaScript,真覺得有夠鳥 JS社群也很鳥,充滿沒有編程概念、沒有計算機概念、沒有離散數學概念的developer 最鳥的是,整個社群都沉醉在micropackage無法自拔。 就連判斷數字奇偶,很多人也不願意寫: return n % 2 !== 08
[問卦] typescript是啥?馬的 軟體工程的課就好好用個什麼C++比較親民的語言 用個javascript還是typescript 我一輩子也沒打過的語言來講 有人能一句總結typescript是啥嗎? ----- Sent from JPTT on my iPhone1
[問卦] 為什麼作業系統不用javascript寫初學者問個蠢問題 作業系統為什麼不用javascript或typescript寫 初學語言的時候 不是說什麼語言不重要,只差在語法上嗎? 而window Linux 為什麼不用js寫5
Re: [請益] 轉職但無法入行,另一方面也是求職文。講難聽點, 你的技能沒有足以應付的工作, 也看不出潛力, 自然沒公司想用你。 ※ 引述《unendless314 (Sonata)》之銘言:3
Re: [問卦] 寫web程式的都怎麼再讓自己進步呢?JavaScript 的東西一直在變 其實是追不完的 有時候框架原開發者沒繼續維護 或是出現不相容的大改版 使用者就跟著一起沉船