mostly:functional 谢幕与片尾曲

The future is already here – it's just not evenly distributed.
未来早就来临了,然而它并不是平均分布的。

威廉·吉布森, 经济学人, Dec 4, 2003

Any sufficiently advanced technology is indistinguishable from magic.
任何足够先进的科技,与魔法无异。

亚瑟·克拉克, Profiles of the future, 1973


再一些喃喃自语

一开始是想写一篇「体验什麽叫似乎开始了解 Monad 的感觉」的系列文章,所以终点在最初就已经设定好了。然而就如前言所说,为了有趣一点,把它包装成故事的形式。想要传达的事情是的确有地方是在这种维度上抽象思考的,而一旦接触并习惯了这样思考,那麽写程序这件事在做法上可以不再只是琐碎的操作,而是会开启许多有趣的可能,而这件事并不限於在哪个语言上。

但在不同的语境里,搬出一整群陌生的词汇,让大家奔逃的机率远高於帮助沟通的机率(是的我就是在说那些 library 作者),当然也生出很多误解的机率。另外所做出来的东西,从什麽地方开始, 已经变成不是依着语言的天性去加强,而是开始与其博斗抗争,也是个不太容易拿捏的点。

那麽试着让一些有兴趣的人,在比较自然的语境里,慢慢的体会这些术语的背景与意涵是什麽吧,我是这麽想的。

然而随着故事发展,情节似乎长出了自己的意志拉着我走。我在阳台上看风景,忽然脑海浮现一个城市崩落、主角伸手想拉对方的景象。而其结果就是你读到的这些。

中段之後开始程序码开始爆冲,故事情节却极度拖沓无趣,实在是时间所限加上能力不足,希望能有机会再构思补齐。

没有讲到觉得相当可惜的主题还很多,不过旅程嘛,就是这麽一回事,就继续慢慢往下走吧。(谁不是呢)


这整篇其实最想讲的就这个

能在三十天生出这些东西来,需要感谢的人有非常多。

首先要感谢的是穆信成老师,以及在 FLOLAC 及 Functional Thursday 认识的大家。我对 Haskell 兴趣的启蒙与持续都是来自於这里,还有岚达之眼这个词是 Cindy Wang 发明的 XD。

再来是 José Valim 及 Dave Thomas。José 发展了 Elixir 语言而 Dave 洗脑我开始学。希望能再有机会请他们来台湾参加活动。

感谢 Elixir.tw 的夥伴们:Jake、Mickey、Pastleo,还有曾经来参加过的朋友们,谢谢你们!

感谢我目前任职的晓数码。这是个有着很棒的夥伴们的很棒的公司~

也感谢我之前参与过的每家公司,都教会了我许多许多的事。特别值得一提的,是 PCuSER 电脑人的铉哥与钟毅。许多文字与编辑的概念都是跟他们学来练来的。

感谢不会写程序还愿意抽出时间帮我读小说的朋友王瑄瑄及心华。也非常在社群媒体及留言上给我建议、提点与 debug 的朋友们,特别是发了无数 facebook pr 的 @叶板,讨论走向与建议的 @_cybai 及介绍了非常多珍贵资讯的 Jeremy Lu(@thecat)。

感谢我的娇妻与孩子。没有你们的各种体贴,以及一起渡过磨合的愉快的每一天,不会有这样的故事。


当然,还有一路读到这里的你。谢谢你的时间,希望你有在其中得到一些乐趣。


广告时间

应该会找时间慢慢的把故事修得更完整一些,而更新的部份也许会放在我个人的部落格: https://taian.su 上。要跟这里的 https://chart.googleapis.com/chart?cht=tx&chl=%5CLaTeX 机制博斗相当的…嗯…费力。

FLOLAC 下一次讲程序设计的主题,会是 2022 年了。对 Haskell 与数学有兴趣的人也欢迎追踪他们的 fb 社团。当然也欢迎加入每个月有活动的 functional thursday(虽然仍因疫情暂停中)。

Elixir.tw 近期内(就是 10/20 下周二!)将开始一系列针对初学者的线上教学谈话与录影。欢迎追踪 fb 的 Elixir.tw 社团了解详情。

如果对文章有任何意见,或想看的主题或故事,诚挚的欢迎留言拍打,或是透过 twitter / 社群告知。

再次感谢。Happy hacking!




後日

「所以後来,你有去看过那个长了很多有弧线的东西的群岛了吗?」

「还有那个让 Elixir 之城能够容错的监顾者之树呢?」

「神领 Haskell 里,还有很多很棒的打卡点喔。像是 Lens、Reader、IO Monad、Monad transformer...」

「现在的你,当面对程序的时候,开始看到一些之前看不见的东西了吗?」

「怎麽把这些技巧,用到平常写的程序上呢…」


<<:  mostly:functional 终章:Monad 的实体

>>:  如何设计自己的 RxJS Operators

Day-27 游戏主机全员到齐、一同聚集於客厅

到昨天为止、已将序文中的列表包含全部主机的项目都写完一轮了、今天要来做的、就是来把主机全部接到电视上...

[WMX3] 3.Creating and Closing Devices

主要的功能就是开启/关闭 WMX3Engline.exe 使用方法 using WMX3ApiCLR...

[Day29] Maker making IoT完赛心得与一些後续的期待!

完赛结语 今天是我们团队首次参加30天铁人赛的完赛日,老套路了,首先要感谢每个对本系列文章订阅与观看...

Countdown Clock

[Day28] Countdown Clock 倒数计时器 let countdown; const...

DAY27 CNN(卷积神经网路 续一)

昨天介绍完CNN卷积神经网路,今天要来研究CNN卷积神经网路正向传播程序: 首先先决定资料集大小: ...