duangsuse::Echo
716 subscribers
4.25K photos
130 videos
583 files
6.47K links
import this:
美而不丑、明而不暗、短而不凡、长而不乱,扁平不宽,读而后码,行之天下,勿托地上天国。
异常勿吞,难过勿过,叹一真理。效率是很重要,盲目最是低效。
简明是可靠的先验,不是可靠的祭品。
知其变,守其恒,为天下式;穷其变,知不穷,得地上势。知变守恒却穷变知新,我认真理,我不认真。

技术相干订阅~
另外有 throws 闲杂频道 @dsuset
转载频道 @dsusep
极小可能会有批评zf的消息 如有不适可退出
suse小站(面向运气编程): https://WOJS.org/#/
Download Telegram
想想这本书已经是很久以前读的了。
它的内容已经想不起来了,但是行文特点还是记忆犹新。
还好这本书还没有中译版的,不然又成了中西文化杂交的产物了,不伦不类。
其实,读了不少原版书以后,就慢慢感觉到了一种套路。
中文书,偏重实用,讲述某个先进的工具如何使用。
原版书(American),偏重思考和总结。
这可能是对世界的态度不同所致,各有利弊。
择其善者而从之,其不善者而改之。
科学方法,是从国外传进来了,理解他们的思维习惯很有必要。
观察,假设,预测,检验,重复,科学和工作无不沿着这一套路进行。
本书简化了这个流程,全书采用问答=>定理的方式进行。
就像一本薄薄的Q&A手册似的。
本书在难度上属于入门级,并没有介绍scheme一些难以理解的特性。
比如continuation和macro。
所以,任何喜欢学习的人,无论基础怎样只要足够耐心都可以读完。
但这并不是说它是简单的,你一定知道易学和简单完全是两码事。
学会用递归解决问题,是学习scheme的第一步,也是学习函数式编程的第一步。
个人以为,这是一个把某个问题转换为更小规模问题的过程。
而其他语言中,人们倾向于直接思考问题的迭代解决思路。
其实,从更高的角度来说,递归像是在归约问题,迭代像是在从头开始。
所以,用递归提供解决思路,然后再转换为迭代实现,是很好的一种思考方法。
另外,介绍scheme语言特性的书真的很少,因为人们只是把scheme当做工具来使用。
更有一些人认为scheme没有语法。
怎么说呢,scheme相当于曲别针,虽然简单,但是内涵丰富,是智慧的结晶。
你不觉得曲别针是天才之作吗?
好吧,你还是学习“大型”语言吧。
#life 不看不知道... 現在 @ice1000 居然已經去國外留學了,學的是 CS 🌚..... 我等草民...
有哪些计算机的事实,没有一定计算机知识的人不会相信? - Belleve的回答 - 知乎
https://www.zhihu.com/question/288115796/answer/471726222


在屏幕上写字比贴图复杂得多
家长总是无端相信微信谣言怎么办? - 六百八十寺的回答 - 知乎
https://www.zhihu.com/question/31725601/answer/139596574
#China #life #Haha
程序员面试遇到过哪些奇葩的问题? - MrRoach的回答 - 知乎
https://www.zhihu.com/question/280042449/answer/430332267

数年前电话面试某A开头的互联网公司,题目是这样的:给出两个链表表示的大整数,高位存在前面,求用另一个链表表示两个整数的和。

我提出第一个方法,被否决,对方的原因是:你读了两遍链表,我们公司都是要处理Billion级别的数据的,你不能读两遍。

提出第二个方法,否决,原因是不能修改输入数据。第三个方法,否决,原因是不能开额外存储。

我实在没辙了,我都恨不得给他数学证明为啥不行了。忍着问了一句您能给个hint么实在是不会了。对面说,你能不能考虑一下递归?能不能考虑一下递归?

递归?。。。。。。递你妈归啊,我当时一怒直接怼回去了,不行。“为啥不行啊?”“你说的要处理billion级数据啊,你家栈能有billion级深度么?你不让开额外空间,栈空间就不是额外空间了?”对面沉默了十秒,说,你能不能假设就三五个数据啊?我就是想让你写个递归。。。。

作者:MrRoach
This media is not supported in your browser
VIEW IN TELEGRAM
#Julia #PL #recommended

一个简单的Julia教程(一) - 罗秀哲的文章 - 知乎
https://zhuanlan.zhihu.com/p/41802723


https://zhuanlan.zhihu.com/p/41816890

簡單]的 Julia 程序設計語言入門
#PL #backend

在python程序中调用cpp的库创建的线程是否受制于GIL? - 依云的回答 - 知乎
https://www.zhihu.com/question/27245271/answer/462975593

因为python的多线程,其实不是真的多线程,它会通过GIL来控制线程,导致不管有多少个核,其实在同一时间只有一个线程在跑。错的。Python 的多线程是真的多线程,只不过在任意时刻,它们中只有一个线程能够取得 GIL 从而被允许执行 Python 代码。其它线程要么等着,要么干别的和 Python 无关的事情(比如等待系统 I/O,或者算点什么东西)。那如果是通过CPP扩展创建出来的线程,可以摆脱这个限制么?很简单,不访问 Python 的数据和方法,就和 GIL 没任何关系。如果需要访问 Python,还是需要先取得 GIL。我不明白很简单的道理,为什么你们就是不肯理解一下,非要各种传谣造谣呢?GIL 是为了保护 Python 数据不被并发访问破坏,所以当你不访问 Python 的数据的时候自然就可以释放(或者不取得)GIL。反过来,如果需要访问 Python 的数据,就一定要取得 GIL 再访问。PyObject 等不是线程安全的。多线程访问任何非线程安全的数据都需要先取得对应的锁。Python 所有的 PyObject 什么的都共享一个锁,它就叫 GIL。

作者:依云
http://thelittletyper.com/

我現在才知道福里得曼寫了那麼多本书....(The Little .* 系列)

Scheme 系列还出了三本
定理证明也有
现在又要写这一本
#recommended #PL

在一 pastebin 站上找到一人总结的 Scheme 学习链接列表

schemes-links-list
https://zhuanlan.zhihu.com/p/38399566
#C++ #backend

我们发现test2对应的汇编代码和test1对应的汇编代码完全相同,这说明C++编译器在编译程序的时候将指针和引用编译成了完全一样的机器码。所以C++中的引用只是C++对指针操作的一个“语法糖”,在底层实现时C++编译器实现这两种操作的方法完全相同。
https://zhuanlan.zhihu.com/p/37861062

周翀
喜欢作者的语言,篇幅不大信息量大,对我这种爱走神的人来说很重要。内容也不错。只可惜如今互联网太有钱了,java程序员好吃香…

Root lee (作者) 回复周翀
嗯嗯,感觉Java随便学学工作机会都会有很多,C++又难又不好找工作。