占坑。
感觉这周的离散作业极其玄学…我只是没有感情的运算机器罢了。
占坑。
感觉这周的离散作业极其玄学…我只是没有感情的运算机器罢了。
不 理 解
3.23日区块链课后心血来潮,遂尝试描绘一下自己心中最理想的语言的模样:(不分先后)
易书写、易阅读
这个太关键了,个人感觉C和C++在这方面简直负分。以下列举几个我比较喜欢的点:(不分先后)
函数可以返回多个值
语句末尾可以不用加分号
这样可以防止某些人把一堆语句塞到一行
统一代码风格、命名风格
强类型
没啥可说的,就是你,Javascript.
关于是否强类型检查,个人并没有特殊的倾向。我希望二者兼有。Go属于二者兼有但倾向强,Python属于二者兼有但很倾向弱,Typescript可能不错(没尝试过)。
快速
其实,说句公道话,各个编程语言只是人类与计算机沟通的桥梁。C语言和其他语言并没有什么区别,C语言的快速,很大程度上是因为C语言的编译器经过了几十年无数人的优化,有诸如尾递归消去、循环展开等优化,而这些优化思想并不是language-specific的,完全可以应用到其他语言上。
有一个很好的例子就是,Python和Javascript相比,Javascript更加灵活,根据常理,灵活的代价是牺牲速度。但是为什么Javascript的执行速度这么快,以至于诸多服务器、客户端程序都是JS开发的?因为JS的v8解释器是Google雇佣几十个人开发十几年的产品,已经把JS这个动态语言优化到了编译成机器代码的程度。那么Python作为相对来说限制更强的语言,应该速度更快才对。但是并没有,为什么?因为Python的维护主要由一群爱好者业余时间维护。一言以蔽之,给钱,就能行。
理论上来说,所有语言优化到极致,它们的速度几乎是一样的。for(int i=0; i<n; ++i);
的速度,放在哪个语言里都应该是一样的。
C语言进行纯计算确实快,这是因为C语言关心的事情少。但是,现在除了超频爱好者/OIer/Researcher,谁还在关心单线程的运算速度?大厂的服务器后台一个个都是Nodejs搭的。
高并发
关于这一点,我非常喜欢Go的思想:通过通信来共享内存,而不是共享内存来通信。Goroutine的设计爱了爱了。
安全
线程安全
内存安全
对于指针,一定要谨慎设计。空指针、野指针的隐患太大了。
或者干脆没有指针,就像Python/JS一样,全部都是引用。变量名?就是个名字罢了。
简单的面向对象支持
前几年面向对象大火,现在已经不行了。C++的面向对象语法就是垃圾,何必要搞得这么复杂?像Python/Go 一样简洁有效不好吗?在学习这些语言的面向对象特性时,我可以清楚地感受到设计者在面向对象方面花费的心思。
一些小细节:
Update on 2021/4/28:
C和Rust可以嵌入式,Go和Python有运行时环境,因此几乎没人搞嵌入式。
Python的优点:好写
竟然都第五周了。
没有证明题,鸽了。
此贴用来记录一些日常使用和开发中的小技巧~
1 | git reset COMMIT_ID --soft/--hard |
1 | - name: Setup tmate session |
Git can search diffs with the -S option (it’s called pickaxe in the docs)
写个鬼啊写沟通去了。
话说这次作业没啥文字…都是画图。鸽了。
前几日心血来潮打算尝试番茄工作法,于是上网搜索了一下工具,发现了Strict Workflow这个插件,可以在工作的时候屏蔽指定网站,不错。其实本来想用使用人数最多的Pomodoro插件Marinara,可惜缺少那个功能,而且界面好看又不能吃是吧。
发现Strict Workflow在GitHub上开源,可惜作者已经不维护了。有很多PR都没有合并,我看了看这些PR添加的Feature都不错的,于是打算自己维护一个咯。
目前已添加的Feature:
Upd on 2022.11.29:
学习离散数学(2)过程中的一些记录。
简单道路:边不重复
初级道路:点不重复
1 | 回路:起点终点相同 |
如果简单图G的任意两结点之间恒有,则G中存在哈密顿回路。
如果简单图G的任意两结点之间恒有,则G中存在哈密顿道路。
此定理的证明妙啊!
如果图G有哈密顿回路,那么任取k个点,则的连通分支不会超过k个。
记录一下自己搭建Hexo的心路历程以及相关配置,因为过去了很久所以可能记忆已经不清晰了。
最开始为什么想要好好搭博客呢,是因为 寒假闲得慌 看到域名很便宜并且配合Cloudflare可以实现很好的效果,于是就心动了。并且觉得生命中发生了这么多事,值得记录下来(要不然就忘了),而且既然记就不要记在本地,万一有个三长两短。放在网站上还可以为社会创造点价值对吧。
其实一开始还想记录和HYX的每一天的,现在看起来…
于是去Namesilo购买了i207m.top这个域名,一年~30RMB。然后配置Cloudflare,记得当时我以为就把前2个Name server改了就可以,于是等了一段时间,最后发现还要把第三个Name server删掉。
博客自然使用Hexo+Github Pages,建立一个Private repo用来存源码,使用Github Actions实现自动部署,学习了一下它的脚本配置。
然后还申请了Google Search Console
,纯粹用来玩…已经对访问量佛系了。