看板 Soft_Job 關於我們 聯絡資訊
我覺得如果你是想做自我精進,這邊提供一個方向 ## 選跟你不熟的programming paradigm語言 Paradigm的中文叫做範式 可是我看不懂中文... 不知道的可以看以下wiki https://en.wikipedia.org/wiki/Programming_paradigm https://www.freecodecamp.org/news/an-introduction-to-programming-paradigms/ 懶得看文章也沒關係 下面就是懶人包 簡單講 你看看下面這幾種你精通那一項 然後選另一項 Procedural, OOP, Declaratvie, Functional 不同的paradigm各有優缺點,學會之後在架構層級你會知道什麼時候該使用哪種paradigm ## 個人推薦 然後個人私心推薦一個非常酷 應該沒什麼人知道的程式語言 APL & BQN APL是一個用筆就可以寫的程式語言 全名叫做 A Programming Language Try it on online compier: https://tryapl.org/ 他是一種array-oriented programming langauge 嘗試用符號表達各種矩陣操作 符號太多沒辦法在bbs上貼出來,建議點過去看看 想想pyhton要寫十行的東西,APL可能一行就寫完,真的是潮爆... 我是說等你學完五六十個符號之後 BQN則是對APL嘗試做一些改進 畢竟APL也是1962年開發的語言 -- 等等,我是不知道妳是看了什麼神槍手的故事,可是為什麼要拿我當靶 (′Д‵) 什麼!是黃忠和后羿的故事?他們拿的不是銃,是弓! 長門,妳手上拿著蘋果跟繩子是作什麼?今天晚餐不是關東煮是烤乳豬嗎? 連爸爸都沒弄痛過我,可不可以不要綁這麼緊,好歹鬆一點讓我有空間逃吧,古泉。 好,我認了,要射就射吧,可是請聽一下在我死前的最後一個願望。 不 要 拿 霰 彈 來.....噗滋(腦漿聲) 摘自「阿虛的最後一餐」 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.231.132.191 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1653738685.A.4E6.html ※ 編輯: wulouise (61.231.132.191 臺灣), 05/28/2022 19:54:58
NciscalA: 推APL跟BQN,不過APL是 1962 年由 ken Iverson 開始設 05/28 20:19
感謝 更正一下時間 我剛剛看錯XD
NciscalA: 計的,他也因此拿了Turing award。另外還有J、Q跟K都是 05/28 20:19
NciscalA: array programming language。BQN 的線上 REPL https: 05/28 20:19
NciscalA: //mlochbaum.github.io/BQN/try.html 05/28 20:19
NciscalA: 然後介紹 APL 一定要秀 game of life 啊 05/28 20:22
※ 編輯: wulouise (61.231.132.191 臺灣), 05/28/2022 22:18:21
waterwalk: 最近爬文爬到一個很奇耙的語言 brainfuck 05/29 00:55
waterwalk: 如果太閒想學也可以 但我看完只覺得網路用得太多 05/29 00:55
er230059: brainfuck蠻適合拿來練習寫complier的 05/29 01:09
CoNsTaR: fortran 是 functional,SQL 是 declarative? 05/29 03:28
CoNsTaR: 你真的知道你自己在說什麼嗎??? 05/29 03:28
我是參照wiki https://en.wikipedia.org/wiki/Declarative_programming wiki定義下domain specific的SQL也是被放在declarative下面 https://en.wikipedia.org/wiki/Functional_programming Fortran95也被放在functional programming底下 mordern fortran的確有OOP 但我對fortran不熟 如果你有更有建設性的意見歡迎推文或回文討論 ※ 編輯: wulouise (61.231.132.191 臺灣), 05/29/2022 09:42:44
gozule: 有程式經驗可以試試rust,生命週期的概念很有趣 05/29 11:09
DrTech: 原文應該沒寫過functional 就來嘴了。 05/29 12:56
DrTech: 另外 programming paradigm 現在早就不用語言來分了。許多 05/29 12:58
DrTech: 語言都有多種paradigm。 05/29 12:58
DrTech: 物件導向的做法C#, java,也不叫做 procedure,叫做 struc 05/29 13:00
DrTech: tured。 05/29 13:00
DrTech: 用語言來分 programming paradigm,現在2022年都不適用了 05/29 13:01
DrTech: 。 05/29 13:01
waterwalk: 各位前輩 像C++ 可以模擬物件導向的語言 該怎麼分類呢? 05/29 13:59
CoNsTaR: C++ 算 multi paradigm,但寫 C++ 重點根本也不在 paradi 05/29 23:54
CoNsTaR: gm 所以算什麼其實根本沒差 05/29 23:54
botnet: 感謝回覆 05/30 10:37
leolarrel: 原po我們不分類的,.我們只有鄙視鏈(沒跟你開玩笑 05/30 10:47
深有感觸 其實我原本只是想從語言一開始的paradigm來看... ※ 編輯: wulouise (61.231.132.191 臺灣), 05/30/2022 21:48:14
CoNsTaR: 和鄙視鏈有關係?你說 fortran 是 functional,SQL 是 de 05/30 22:25
CoNsTaR: clarative 就像有人問你鳥和魚長怎樣你回答蝴蝶是鳥,海 05/30 22:25
CoNsTaR: 馬是魚一樣 05/30 22:25
CoNsTaR: 海馬(SQL)的確是魚(declarative),但一般的魚根本不 05/30 22:26
CoNsTaR: 長那樣,蝴蝶(fortran)也根本不是鳥(functional),你 05/30 22:26
CoNsTaR: 引用的 wiki 也直接說了它就是 imperative,唯一能和 fun 05/30 22:26
CoNsTaR: ctional 沾上邊的也只有它的 pure function,到底從哪裡 05/30 22:26
CoNsTaR: 看出來的鄙視鏈? 05/30 22:26
CoNsTaR: 推文完全沒有任何人提到哪個 paradigm 是 superior 哪個 05/30 22:38
CoNsTaR: 是 inferior,到底哪裡來的鄙視鏈? 05/30 22:38
所以我分類錯了,已經把例子移除 有空可以幫我舉幾個例子嗎? ※ 編輯: wulouise (61.231.128.229 臺灣), 05/31/2022 13:30:09
waterwalk: 感謝C大回應 05/31 23:44
CoNsTaR: declarative 最大宗就是 functional,functional 還比較 06/02 23:35
CoNsTaR: 多人用的最大宗就是 ML 家族 06/02 23:35
CoNsTaR: 如果要 declarative 和 functional 到極致可以去寫 Agda, 06/02 23:35
CoNsTaR: Coq 或 Idris2 之類的 06/02 23:35
CoNsTaR: 在這些語言裡面任何一個 term 都是 declarative 和 funct 06/02 23:35
CoNsTaR: ional 的,包含 types 06/02 23:35
CoNsTaR: 如果想要試試 declarative 的話,要找有支援 gadt 的 pur 06/02 23:35
CoNsTaR: e functional languages,否則 types 不知道是從哪來的 f 06/02 23:35
CoNsTaR: unction 也不一定 declarative,如果只是想要試試看 func 06/02 23:35
CoNsTaR: tional 的話 JavaScript 支援的東西就夠你玩了 06/02 23:35
CoNsTaR: 如果不想要 Agda, idris 那麼深,也不想要 JavaScript 06/02 23:38
CoNsTaR: 那麼隨便,那其實就去玩一般大家推薦的 fp 語就好了啊 06/02 23:38
wulouise: 感謝C大補充<O> 06/05 15:38