TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Scaling Erlang Developer Experience at WhatsApp [pdf]

308 点作者 anuragsoni超过 4 年前

13 条评论

amgreg超过 4 年前
What I like most about some experienced engineers who have been at companies from the beginning is that they realize the needs of a small-team, cash-constrained, rapidly growing company are different from that of a dozens-of-teams, complex, but also rapidly scaling enterprise. The devil is in understanding when and how to transition your tooling, architecture, and — dare I say it — attitudes, from the one to the other.<p>I am curious to hear more from these engineers; how decisions were made about transitioning&#x2F;scaling; and what decisions were made.
评论 #24445389 未加载
评论 #24444526 未加载
评论 #24445853 未加载
kornish超过 4 年前
One of my favorite talks is by Rick Reed about scaling Erlang at WhatsApp. What an absolute savage. He flies through an articulate and in-depth curriculum on system performance and bottleneck mitigation.<p>The talk is called &quot;That&#x27;s &#x27;Billion&#x27; with a &#x27;B&#x27;&quot; and makes for a great lunchtime watch: <a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=c12cYAUTXXs" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=c12cYAUTXXs</a>
评论 #24445383 未加载
评论 #24448097 未加载
评论 #24447643 未加载
an_opabinia超过 4 年前
Erlang is the Actors-model version of Greenspun&#x27;s tenth rule of programming:<p>&quot;Any sufficiently complicated server backend contains an ad hoc, informally-specified, bug-ridden, slow implementation of half of Erlang.&quot;<p>Is it really the end-all-be-all model of server architecture? What are microservices, if not Actors Clunkified? &quot;Serverless&quot; functions, if not the simplest actors in disguise? Docker, actors except over IP addresses and clunky APIs?<p>The real takeaway: Valuable stuff is stateful. You know you&#x27;re doing valuable work for a real human end-user if you are dealing with tricky state problems. Extracting money out of that is a bunch of developer-productivity-limited business concerns. It seems actors are a good model to solve that.
评论 #24444752 未加载
评论 #24449514 未加载
stevencorona超过 4 年前
I absolutely love the BEAM and Elixir, but one of my common complaints and source of errors is the lack of compile-time type sanity checking, so I&#x27;m excited to see movement in this direction. Dialyzer is sorta okay, but the speed, cryptic errors, and syntax have kept me from fully embracing it.
评论 #24443995 未加载
AshamedCaptain超过 4 年前
I find it funny they say Whatsapp &quot;chose&quot; Erlang. They &quot;chose&quot; Erlang because ejabberd was written on it, and they chose ejabberd because of a Jabber mailing list suggestion. That&#x27;s about it...
评论 #24450548 未加载
tiffanyh超过 4 年前
&gt; &quot;We are working on a prototype, open-sourcing in November&quot;<p>I&#x27;m curious to see how Elixir integration with such static type system would work.
评论 #24445245 未加载
评论 #24445365 未加载
derefr超过 4 年前
Last I heard (years ago), I though that WhatsApp&#x27;s backend was being rewritten in some other language, because Facebook didn&#x27;t think maintaining an Erlang codebase was tenable. Did that change?
评论 #24444392 未加载
评论 #24444452 未加载
gautamcgoel超过 4 年前
Can someone explain what Erlang offers that Go does not? Both have great support for concurrency, but Go has type checking and a more familiar syntax.
评论 #24444899 未加载
评论 #24446351 未加载
评论 #24444744 未加载
评论 #24444721 未加载
评论 #24444803 未加载
评论 #24445972 未加载
评论 #24446208 未加载
评论 #24446801 未加载
评论 #24446676 未加载
评论 #24448585 未加载
fbn79超过 4 年前
Working in a small Company always let me astonished learning things about unicorn apps. But really an application like Whatsapp need 1000+ developers!? I can think about teams about android, ios and web app. X2 if you think about teams for business oriented services. But 1000+ developers for what?
评论 #24443977 未加载
评论 #24446426 未加载
评论 #24444582 未加载
评论 #24445073 未加载
pjmlp超过 4 年前
&gt; shift to modern languages with integrated tooling, e.g. Erlang competition:<p>&gt;<p>&gt; C++, Java =&gt; Go, Rust, Kotlin<p>My first C++ IDE was Turbo C++ 1.0 for MS-DOS in 1993, and Borland, Zortech, Symatec, Microsoft, IBM, and plenty of others had well known C++ IDEs.<p>Many of the ideas of modern C++ IDEs is basically rediscovering the work done by Lucid and IBM with their Smalltalk like capabilities for C++ tooling in the late 80&#x27;s&#x2F;early 90&#x27;s.<p>Java is well known for being one of the languages with best IDE support out of box. It didn&#x27;t start like that in 1996, but the last 25 years have been good to it.<p>Go and Rust are yet to have similar offerings and Kotlin, well it is a JVM language and profits from the Java eco-system and Google&#x27;s push to replace it on Android due to non-technical reasons.<p>Maybe better examples should have been provided.
评论 #24450866 未加载
AzzieElbab超过 4 年前
I am curios why they need 1K people instead of 10? What changed on the server side of WhatsApp?
评论 #24446460 未加载
评论 #24443888 未加载
评论 #24446412 未加载
评论 #24449817 未加载
ramon超过 4 年前
I think the concepts are very interesting of Erlang but I still don&#x27;t understand it fully. And also about the multi-node os only an internal network scenario is not like a cloud mesh thing. You would need docker.
btbuildem超过 4 年前
&gt; some {T} | undefined<p>Can we please avoid TS pitfalls?
评论 #24443772 未加载