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

科技回声

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

GitHubTwitter

首页

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

资源链接

HackerNews API原版 HackerNewsNext.js

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

My favorite Erlang program (2013)

338 点作者 vector_spaces将近 2 年前

18 条评论

rdtsc将近 2 年前
If the server closure F, besides it&#x27;s own messages can also receive a `{become, F}` message, then you can then keep changing the server to something new again and so on.<p>Completely unrelated, but I remember talking to Joe at one of the Erlang conferences. He was always excited about technology and always happy to chat with anyone. He was dismayed how Windows had gotten worse and less usable over the years, and how one day we won&#x27;t be able to browse our own files on it until we sit and watch advertisements for a while to unlock them. Joe was nearly right! Sure enough, years later I hear there are ads in Windows 11 and you have to go out of your way to remove them. Not quite the same yet, but by Windows 13 I am sure we&#x27;ll get there.
评论 #37415033 未加载
评论 #37415083 未加载
评论 #37416077 未加载
s6ro将近 2 年前
A short (35 min) overview of BEAM and why it is not like other VMs: JVM, Node <a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=pO4_Wlq8JeI">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=pO4_Wlq8JeI</a>
评论 #37416727 未加载
corroclaro将近 2 年前
I miss Joe. His infectious enthusiasm for doing computing _better_ left such an imprint on young me and the way I approach technology today.
refactorworks将近 2 年前
<p><pre><code> universal_server() -&gt; receive {become, F} -&gt; F() end. </code></pre> Honestly I don&#x27;t fully appreciate the power of this universal server. Can anyone help?
评论 #37414584 未加载
评论 #37414613 未加载
评论 #37414556 未加载
评论 #37414621 未加载
评论 #37414560 未加载
评论 #37414575 未加载
评论 #37416314 未加载
评论 #37414588 未加载
评论 #37416638 未加载
评论 #37414628 未加载
weatherlight将近 2 年前
I spend a lot of time trying to explain why the BEAM is special and why concurrency in Erlang&#x2F;elixir&#x2F;etc is special when juxtaposed next to Go&#x27;s or Java&#x27;s concurrency story (now that Loom is right around the corner).<p>From now on I&#x27;ll just link them to to Joe&#x27;s favorite Erlang program and this HN thread.
rpxio将近 2 年前
This blog post was recently mentioned in this talk, which is excellent: <a href="https:&#x2F;&#x2F;youtu.be&#x2F;pQ0CvjAJXz4" rel="nofollow noreferrer">https:&#x2F;&#x2F;youtu.be&#x2F;pQ0CvjAJXz4</a>
评论 #37419040 未加载
评论 #37420410 未加载
coldtea将近 2 年前
Don&#x27;t know Erlang aside from high level understanding about the language (basically know what one who read about it, but never programmed in it, would). Why is this needed (or, at least why is it nice to have)?:<p><pre><code> universal_server() -&gt; receive {become, F} -&gt; F() end. </code></pre> I mean what purpose does it serve other than having F() directly? One could just directly spawn F on the remote machines, no?<p>(Perhaps that would need to have the code for F already on those remote vms, whereas this eg. also serializes and forwards F&#x27;s code?)<p>I would understand the utility if this also handled some common boilerplate, but it seems to just wait for become F message and then doing F().
评论 #37417562 未加载
评论 #37417625 未加载
评论 #37417722 未加载
评论 #37417586 未加载
daitangio将近 2 年前
There is also this lesson from Joe, about how to write a basic server in Erlang:<p><a href="https:&#x2F;&#x2F;gioorgi.com&#x2F;2015&#x2F;erlang-lesson1&#x2F;" rel="nofollow noreferrer">https:&#x2F;&#x2F;gioorgi.com&#x2F;2015&#x2F;erlang-lesson1&#x2F;</a><p>I transcribed and explained a bit more: it shows the power of an async language like Erlang&#x2F;Elixir compared to other ones. Sadly, it is little used nowadays
hmmokidk将近 2 年前
My favorite Erlang programmer.<p>RIP Joe.
tombert将近 2 年前
My latest obsession has been the Julia language, which seems to borrow a number of ideas from Erlang in its distributed model. It&#x27;s reasonably easy to replicate this kind of &quot;instant-server&quot; that magically works across multiple nodes. I don&#x27;t know for sure, but I would be surprised if Julia&#x27;s Distributed module wasn&#x27;t at least a little inspired by Erlang.<p>I absolutely love Erlang, and I wish I had more of an opportunity to use it, but it&#x27;s nice to see that some of its concepts are bleeding into other platforms.
评论 #37416779 未加载
orangea将近 2 年前
&gt; What I ended up doing was making some scripts to install empty universal Erlang servers on all the Planet lab machines (pretty much like the code in this article) - then I set up a gossip algorithm to flood the network with become messages. Then I had an empty network that in a few seconds would become anything I wanted it to do.<p>But you already had an empty network that in a few seconds would become anything you wanted it to, that&#x27;s how you installed empty universal Erlang servers on all the computers.
评论 #37415245 未加载
ak_111将近 2 年前
Question: I am considering learning Go or Elixir to develop the backend for a high-frequency financial application. Focused strictly on concurrency and scalability benefits of each, which would be the better choice?<p>Granted they are probably both great at highly parallel and distributed computing applications, I am just wondering if there is an interesting differentiation between these two in this aspect that I should be aware of.
评论 #37419073 未加载
评论 #37419939 未加载
评论 #37419112 未加载
评论 #37416529 未加载
评论 #37417901 未加载
评论 #37417019 未加载
kitd将近 2 年前
Excuse a noob question, but what gets transmitted over the wire as `F` in the `become` message? Source, bytecode, function name, etc? ie. does the universal server need F in its &quot;classpath&quot; (or whatever the Erlang equivalent is)? If not, are there platform &amp;| security issues when calling the universal server distributed?<p>Genuine question. It&#x27;s a fantastic attribute of Erlang to be able to do this.
评论 #37415940 未加载
评论 #37415895 未加载
dang将近 2 年前
Related:<p><i>My favorite Erlang Program (2013)</i> - <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=31639382">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=31639382</a> - June 2022 (19 comments)<p><i>My favorite Erlang program (2013)</i> - <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=22413029">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=22413029</a> - Feb 2020 (54 comments)<p><i>My favorite Erlang Program (2013)</i> - <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=12396420">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=12396420</a> - Aug 2016 (38 comments)<p><i>My favorite Erlang program (2013)</i> - <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=8807660">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=8807660</a> - Dec 2014 (2 comments)
p-e-w将近 2 年前
&gt; Dean was doing an Erlang project so he asked “What example program would best exemplify Erlang“.<p>I wish such a canonical example was easy to find for every programming language, particularly those on the boundary between mainstream and exotic languages.<p>Most languages present themselves by waxing philosophical about HoTT, zero-cost abstractions, or parametric types. Show me an example where your language is <i>clearly</i> better than Python, Ruby, TypeScript, C#, or Rust, because those are the languages to beat, and they already have the entire infrastructure set up so unless you can demonstrably outperform them in <i>some</i> way, it&#x27;s probably not worth my time to take a deeper look.
评论 #37416065 未加载
davidw将近 2 年前
I miss working with Erlang and BEAM. It&#x27;s a well built system and in some ways quite different from other things out there.
kaycey2022将近 2 年前
Do we have any alternative that compares to planet labs today?
NoMoreNicksLeft将近 2 年前
Get a load of this guy... he knows two erlang programs.