SHUHARI 的博客

流光飞舞

标签 漫谈

从一个错误处理提案,谈谈 Go 语言的问题和现状

最近,Go 语言社区一件让人比较挫败的事情是,为了简化错误处理而提出的 try 提案,几经变更,又经过社区的反复讨论,最后还是黄了。关于该问题的一些讨论线索可以在 Github 专题讨论页面 Proposal: A built-in Go error check function, "try" #32437 上看到。

一个语法提案没有通过本来在开源社区不算什么大事,本来通过民主讨论决定语言的发展方向,也是集思广益的正常之举。但我以为在这个问题之后,折射出 Go 语言本身、以及社区目前存在的一些问题,这还是值得玩味的。

我们是否应当克制对新技术的追求?

毋庸讳言,程序开发是一个快速发展的行业,尤其是最近几年,从Web/移动到云、容器、DevOps、大数据、大前端、VR、区块链、人工智能,我们似乎有永远学不完的新技术;同样明显的是,程序员这个开发群体也极其热衷于追求各种更新、更酷、更强大、更优雅的技术。很难全面地评价这究竟是好事还是坏事,似乎我们已经把这当成一种不言自明的事实。

但最近,我听到了一些特别的声音,虽然它们来自不同技术背景的开发者,立场和观点也不尽相同;但这些内容似乎指向同一个结论,即:一些被认为是“老旧”的技术实际上是被低估了;而另外一些为众多开发者所追捧的新技术,它们未必真正达到如预期的那种生产力提升,并且,使用“老旧”的技术实际上可以达到同样的效果。无论如何,这些确实来自真正的一线开发者的实际经验总结。我希望你能够听一听他们的声音。

3

Python 项目可以有多大

Python 项目可以有多大

总是看到有人说,动态一时爽,重构火葬场。然而这世界上有的是著名的开源项目, 也有像 Github、Instagram 这样流量巨大的知名网站是基于动态语言开发的,经过了这么多年重构,也未听说哪个作者进了火葬场的,不明白这些人是真的不知道还是装作看不见呢?不过他们说动态语言大到一定程度就无法维护,虽然这话也同样不值一驳,不过也提醒了我,我也很好奇用动态语言开发的项目规模能大到什么程度。

爬虫这个领域,就快要被玩坏了

Web

最近知乎上有几个邀请我的关于网络爬虫的问题。我看到了,但是并没有心情去回答。说实话,我的心情挺糟糕的。爬网站 -》 反爬 -》 反反爬......一直是爬虫界生生不息的主题,但是现在的反爬手段已经变态到这种程度,足以说明:爬虫这个行当,快要被某些人玩坏了。

吐槽: 微信支付的 SDK(.Net) 可能是实习生写的

C#

最近在作一个接入支付的项目,支付类型包括支付宝和微信支付。我是一个懒人,写代码的原则是:只要官方有 SDK 可用的话就尽量用官方的,除非万不得已不要自己写。微信支付当然也是有 SDK 的(地址在这里)。但是打开以后想要引用的时候,我有点被其不专业程度 shock 到了。按照道理,像支付这样涉及钱包问题的接口,即便不包含任何服务器逻辑,也应该作得比较严谨和正规吧,但微信支付的 SDK(.Net版) 却只能算新手级别的。这样的 SDK 微信你好意思拿出来让客户用吗?

从《小戏骨红楼梦》看王夫人对黛玉的态度

《红楼梦》中王夫人对黛玉的态度一直是个谜,因为这两个人在整部书中交集相当少。部分读者从一些蛛丝马迹推断,王夫人内心应该是讨厌黛玉的。我个人倾向于相信这些推测还是比较有道理的,但推测毕竟是推测,如果客观来看,书中并没有非常明显的迹象。

这几天看《红楼梦:小戏骨》时,我发现编剧似乎也是这种说法的拥护者,剧中有几个很明显的情节处理体现了这一点。

为什么我(作为程序员)要避开中文

题目可能有些容易引起误会。作为中国人,我们在日常生活中当然要使用中文,这是没有疑问的。然而,在程序员的世界中,我会在很多情况下尽量远离中文。前几天有朋友问我一个有关 GBK 编码的问题,我不愿意回答,他很不理解。但这是我自己思考以后做出的选择。

我并无意让其他人都接受我的意见。不过还是有必要说明一下我做出这些选择的理由,是否认同就是你的事情了。我相信读者的背景和知识范围会对他的选择有极大的影响。所以,觉得百度是世界上最好的搜索引擎的同学可以 Alt + F4 了,这篇文章不是为你写的。

接下来我会说明,在哪些地方尽量不要使用中文,以及为什么要这样做。