Re: [请益] 大家是怎么学新语言的?

楼主: wulouise (在线上!=在电脑前)   2022-05-28 19:51:20
我觉得如果你是想做自我精进,这边提供一个方向
## 选跟你不熟的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年开发的语言
作者: NciscalA   2022-05-28 20:19:00
推APL跟BQN,不过APL是 1962 年由 ken Iverson 开始设计的,他也因此拿了Turing award。另外还有J、Q跟K都是array programming language。BQN 的线上 REPL https://mlochbaum.github.io/BQN/try.html然后介绍 APL 一定要秀 game of life 啊https://www.youtube.com/watch?v=a9xAKttWgP4
作者: waterwalk (心碎无声)   2022-05-29 00:55:00
最近爬文爬到一个很奇耙的语言 brainfuck如果太闲想学也可以 但我看完只觉得网络用得太多
作者: er230059 (CQH)   2022-05-29 01:09:00
brainfuck蛮适合拿来练习写complier的
作者: CoNsTaR ((const *))   2022-05-29 03:28:00
fortran 是 functional,SQL 是 declarative?你真的知道你自己在说什么吗???
作者: gozule (好冷啊~~)   2022-05-29 11:09:00
有程式经验可以试试rust,生命周期的概念很有趣
作者: DrTech (竹科管理处网军研发人员)   2022-05-29 12:56:00
原文应该没写过functional 就来嘴了。另外 programming paradigm 现在早就不用语言来分了。许多语言都有多种paradigm。物件导向的做法C#, java,也不叫做 procedure,叫做 structured。用语言来分 programming paradigm,现在2022年都不适用了。
作者: waterwalk (心碎无声)   2022-05-29 13:59:00
各位前辈 像C++ 可以模拟物件导向的语言 该怎么分类呢?
作者: CoNsTaR ((const *))   2022-05-29 23:54:00
C++ 算 multi paradigm,但写 C++ 重点根本也不在 paradigm 所以算什么其实根本没差
作者: botnet (天龙人)   2022-05-30 10:37:00
感谢回复
作者: leolarrel (真.粽子无双)   2022-05-30 10:47:00
原po我们不分类的,.我们只有鄙视链(没跟你开玩笑
作者: CoNsTaR ((const *))   2022-05-30 22:25:00
和鄙视链有关系?你说 fortran 是 functional,SQL 是 declarative 就像有人问你鸟和鱼长怎样你回答蝴蝶是鸟,海马是鱼一样海马(SQL)的确是鱼(declarative),但一般的鱼根本不长那样,蝴蝶(fortran)也根本不是鸟(functional),你引用的 wiki 也直接说了它就是 imperative,唯一能和 functional 沾上边的也只有它的 pure function,到底从哪里看出来的鄙视链?推文完全没有任何人提到哪个 paradigm 是 superior 哪个是 inferior,到底哪里来的鄙视链?
作者: waterwalk (心碎无声)   2022-05-31 23:44:00
感谢C大回应
作者: CoNsTaR ((const *))   2022-06-02 23:35:00
declarative 最大宗就是 functional,functional 还比较多人用的最大宗就是 ML 家族如果要 declarative 和 functional 到极致可以去写 Agda,Coq 或 Idris2 之类的在这些语言里面任何一个 term 都是 declarative 和 functional 的,包含 types如果想要试试 declarative 的话,要找有支援 gadt 的 pure functional languages,否则 types 不知道是从哪来的 function 也不一定 declarative,如果只是想要试试看 functional 的话 JavaScript 支援的东西就够你玩了如果不想要 Agda, idris 那么深,也不想要 JavaScript那么随便,那其实就去玩一般大家推荐的 fp 语就好了啊
楼主: wulouise (在线上!=在电脑前)   2022-06-05 15:38:00
感谢C大补充<O>

Links booklink

Contact Us: admin [ a t ] ucptt.com