TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Scaling Erlang Developer Experience at WhatsApp [pdf]

308 pointsby anuragsoniover 4 years ago

13 comments

amgregover 4 years ago
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 未加载
kornishover 4 years ago
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_opabiniaover 4 years ago
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 未加载
stevencoronaover 4 years ago
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 未加载
AshamedCaptainover 4 years ago
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 未加载
tiffanyhover 4 years ago
&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 未加载
derefrover 4 years ago
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 未加载
gautamcgoelover 4 years ago
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 未加载
fbn79over 4 years ago
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 未加载
pjmlpover 4 years ago
&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 未加载
AzzieElbabover 4 years ago
I am curios why they need 1K people instead of 10? What changed on the server side of WhatsApp?
评论 #24446460 未加载
评论 #24443888 未加载
评论 #24446412 未加载
评论 #24449817 未加载
ramonover 4 years ago
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.
btbuildemover 4 years ago
&gt; some {T} | undefined<p>Can we please avoid TS pitfalls?
评论 #24443772 未加载