W作者wulouise (在線上!=在電腦前)
看板Soft_Job
標題Re: [請益] 大家是怎麼學新語言的?
時間Sat May 28 19:51:20 2022
我覺得如果你是想做自我精進,這邊提供一個方向
## 選跟你不熟的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://webptt.com/m.aspx?n=bbs/Soft_Job/M.1653738685.A.4E6.html
※ 編輯: wulouise (61.231.132.191 臺灣), 05/28/2022 19:54:58
1F:推 NciscalA: 推APL跟BQN,不過APL是 1962 年由 ken Iverson 開始設 05/28 20:19
感謝 更正一下時間 我剛剛看錯XD
2F:→ NciscalA: 計的,他也因此拿了Turing award。另外還有J、Q跟K都是 05/28 20:19
3F:→ NciscalA: array programming language。BQN 的線上 REPL https: 05/28 20:19
4F:→ NciscalA: //mlochbaum.github.io/BQN/try.html 05/28 20:19
5F:→ NciscalA: 然後介紹 APL 一定要秀 game of life 啊 05/28 20:22
※ 編輯: wulouise (61.231.132.191 臺灣), 05/28/2022 22:18:21
7F:→ waterwalk: 最近爬文爬到一個很奇耙的語言 brainfuck 05/29 00:55
8F:→ waterwalk: 如果太閒想學也可以 但我看完只覺得網路用得太多 05/29 00:55
9F:推 er230059: brainfuck蠻適合拿來練習寫complier的 05/29 01:09
10F:噓 CoNsTaR: fortran 是 functional,SQL 是 declarative? 05/29 03:28
11F:→ 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
12F:推 gozule: 有程式經驗可以試試rust,生命週期的概念很有趣 05/29 11:09
13F:→ DrTech: 原文應該沒寫過functional 就來嘴了。 05/29 12:56
14F:→ DrTech: 另外 programming paradigm 現在早就不用語言來分了。許多 05/29 12:58
15F:→ DrTech: 語言都有多種paradigm。 05/29 12:58
16F:→ DrTech: 物件導向的做法C#, java,也不叫做 procedure,叫做 struc 05/29 13:00
17F:→ DrTech: tured。 05/29 13:00
18F:→ DrTech: 用語言來分 programming paradigm,現在2022年都不適用了 05/29 13:01
19F:→ DrTech: 。 05/29 13:01
20F:→ waterwalk: 各位前輩 像C++ 可以模擬物件導向的語言 該怎麼分類呢? 05/29 13:59
21F:推 CoNsTaR: C++ 算 multi paradigm,但寫 C++ 重點根本也不在 paradi 05/29 23:54
22F:→ CoNsTaR: gm 所以算什麼其實根本沒差 05/29 23:54
23F:→ botnet: 感謝回覆 05/30 10:37
24F:→ leolarrel: 原po我們不分類的,.我們只有鄙視鏈(沒跟你開玩笑 05/30 10:47
深有感觸
其實我原本只是想從語言一開始的paradigm來看...
※ 編輯: wulouise (61.231.132.191 臺灣), 05/30/2022 21:48:14
25F:噓 CoNsTaR: 和鄙視鏈有關係?你說 fortran 是 functional,SQL 是 de 05/30 22:25
26F:→ CoNsTaR: clarative 就像有人問你鳥和魚長怎樣你回答蝴蝶是鳥,海 05/30 22:25
27F:→ CoNsTaR: 馬是魚一樣 05/30 22:25
28F:→ CoNsTaR: 海馬(SQL)的確是魚(declarative),但一般的魚根本不 05/30 22:26
29F:→ CoNsTaR: 長那樣,蝴蝶(fortran)也根本不是鳥(functional),你 05/30 22:26
30F:→ CoNsTaR: 引用的 wiki 也直接說了它就是 imperative,唯一能和 fun 05/30 22:26
31F:→ CoNsTaR: ctional 沾上邊的也只有它的 pure function,到底從哪裡 05/30 22:26
32F:→ CoNsTaR: 看出來的鄙視鏈? 05/30 22:26
33F:噓 CoNsTaR: 推文完全沒有任何人提到哪個 paradigm 是 superior 哪個 05/30 22:38
34F:→ CoNsTaR: 是 inferior,到底哪裡來的鄙視鏈? 05/30 22:38
所以我分類錯了,已經把例子移除
有空可以幫我舉幾個例子嗎?
※ 編輯: wulouise (61.231.128.229 臺灣), 05/31/2022 13:30:09
35F:→ waterwalk: 感謝C大回應 05/31 23:44
36F:推 CoNsTaR: declarative 最大宗就是 functional,functional 還比較 06/02 23:35
37F:→ CoNsTaR: 多人用的最大宗就是 ML 家族 06/02 23:35
38F:→ CoNsTaR: 如果要 declarative 和 functional 到極致可以去寫 Agda, 06/02 23:35
39F:→ CoNsTaR: Coq 或 Idris2 之類的 06/02 23:35
40F:→ CoNsTaR: 在這些語言裡面任何一個 term 都是 declarative 和 funct 06/02 23:35
41F:→ CoNsTaR: ional 的,包含 types 06/02 23:35
42F:→ CoNsTaR: 如果想要試試 declarative 的話,要找有支援 gadt 的 pur 06/02 23:35
43F:→ CoNsTaR: e functional languages,否則 types 不知道是從哪來的 f 06/02 23:35
44F:→ CoNsTaR: unction 也不一定 declarative,如果只是想要試試看 func 06/02 23:35
45F:→ CoNsTaR: tional 的話 JavaScript 支援的東西就夠你玩了 06/02 23:35
46F:→ CoNsTaR: 如果不想要 Agda, idris 那麼深,也不想要 JavaScript 06/02 23:38
47F:→ CoNsTaR: 那麼隨便,那其實就去玩一般大家推薦的 fp 語就好了啊 06/02 23:38
48F:→ wulouise: 感謝C大補充<O> 06/05 15:38