即刻App年轻人的同好社区
下载
App内打开
zxch3n
2年前
虽然 DHH 非常特立独行观点也常常很有争议,我也不认同他的很多观点,但是他真的太会写文章了 🥲

最近 DHH 公司的产品 Hey 的代码设计被人吐槽,一些很基础的操作在网络延迟高的时候非常卡,因为实现上是每次操作要等服务端把新的 HTML 发过来再替换的。这和他们非常重的 Server Side Rendering 的理念有关,也和他们的技术栈有关,牺牲了终端用户体验来保证开发者体验。

同时现在有 local-first 的运动,以 Linear 为代表的产品下明显有更好的用户体验,不管网络状况几乎所有操作都能瞬间完成。但是这套理念还没被广泛接受,DHH 觉得它太复杂,只有像 Linear 这样融资千万才能做。但让单人小成本就能轻松开发 local-first 软件就是我创业想做的。这个月 22 23 号在上海会有一场小型线下的 local-first meetup,感兴趣的可以留评论或私信我。

下面是 DHH 的回应,回应得很漂亮。一方面从技术争执跳出来,回顾 Ruby and Rail 的发展,说出自己认为最有建设性的技术分享是什么样的;另一方面承认了自己作为开发者在技术栈上的惯性,从而“选最适合的技术”常常不现实(这一点说起来很有意思,很多人并不承认这一点,仿佛自己做某件事就是纯粹因为这事情是最优解,而和自己过往经历没关系)。

Let’s show something great!

---

当Ruby on Rails在二十多年前推出时,我是一个二十多岁的年轻程序员,坚信任何尝试我的技术栈的人都会接受它解决“网络问题”的普遍优越性。所以我走上了十字军的道路,试图通过尖锐的论点来转变那些未开化的大众。

很长时间以来,我都认为这是有效的。这就是为什么Ruby on Rails起飞,成为有史以来最受欢迎的全栈Web框架之一,激发了无数克隆者,并为建立在其之上的公司创造了数千亿的企业价值。但我错了。不是十字军运动做到了这一点。

从早期开始,我已经和数千名当时采用Ruby on Rails的程序员交谈过,你知道吗,他们几乎每个人都引用了那个最初的15分钟博客视频。这个视频没有包含任何与其他命名解决方案的比较,也没有特别指出反对替代方案的论点。它只是展示了你可以用Ruby on Rails做什么,而且A/B比较自动在每一个接触到那个视频的程序员的脑海中进行。

这就是原因。展示一些伟大的东西,让那些对他们当前状况不满意的人受到启发去检查它。因为那些是唯一能够真正转变到你事业的人。我从未见过一个对函数式编程爱得死去活来的人,会被面向对象编程的论点所说服。

你根本无法把某人按头屈服,如果你尝试,这通常是适得其反的。但你可以绝对吸引那些对他们当前情况不满意的人给一个替代方案一个机会,如果你只是向他们展示它是如何工作的,并允许他们自己得出结论,它将如何使他们的编程生活更好。

我也意识到程序员有各种各样的智力形状和大小。其中一些形状会与函数式编程产生共鸣,那将是他们通往激情的道路。其他人会与纯JavaScript产生共鸣,并松了一口气,放弃了构建管道。还有一些人会在Go语言中找到他们的精神。这很好。真的。为网络工作允许如此多样化的生态系统选择是一个令人难以置信的特性,而不是一个错误。

我在Ruby中找到了我一生的工作和激情。我有朋友在Python或Elixir或PHP或Go甚至JavaScript中找到了他们的。那太好了!这就是我真的想要的。我想让你快乐。我想让你找到那种正好打开你思维,以你最兼容的构想模式编码的正确语言,就像Ruby对我一样。

这与仅仅说“一切都有权衡,使用效果最好的”不一样。对我来说,这有点逃避。没有一套普遍的权衡会使得某件事客观上“效果最好”。编程难题的一半在于连接到一个持久的动机源泉。如果我必须花费我的编程日子在Rust上,我不会是一个快乐的露营者(但我非常喜欢来自那个社区的人们的工具,他们确实喜欢这样做)。

这也并不意味着我们应该放弃关于优势或劣势的技术讨论,但我认为这些通常在“这是我喜欢的,为什么我喜欢的,所以看看我的代码,我的成果,看看它是否也让你感兴趣”的风格中更有效。

编程是一场美丽的游戏。如果让我在它们和编程之间做出选择,我会毫不犹豫地放弃我所有的豪华车。智力刺激,偶尔达到区域的高潮,是可可·香奈儿的“生活中最好的东西是免费的,第二好的东西非常昂贵”的具体体现。编程是那种对西方世界(以及越来越多地在其他地方)的每个人来说几乎是免费的“最好的东西”。

所以让我们尽我们所能,以最能恭维我们概念能力的位置,来玩这场美丽的游戏,并创造出一些精彩的代码。
02

来自圈子

圈子图片

JitHub程序员

390788人已经加入