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/cn.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