Skip to content
HomeVideosBooksBlogs
AllTop postsTopics
Podcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K
    R

    Robert Virding

    rvirding.blogspot.com · Personal blog · on HN since 2010

    Robert Virding, co-creator of Erlang, writes about Erlang, its syntax and design rationale, and programming language ideas.

    Visit blogHN submissions
    Languages & CompilersProgrammingDistributed Systems
    What HN says

    HN mostly links it for Virding's First Rule of Programming, which says complex concurrent programs in other languages reimplement half of Erlang. Commenters also cite it in Erlang syntax talk.

    Stats for nerds
    19HN people shared it
    4linked in comments
    273story points
    Mar 2024last shared
    2010people per year2024

    Top posts on HN

    1. 1
      The Erlang Rationale
      1 person · 211 points · first shared 2019 · 38 comments on HN
    2. 2
      Virding's First Rule of Programming (2008)
      10 people · 58 points · first shared 2015 · 19 comments on HN
    3. 3
      Reacting to the Reactive Programming manifesto (2013)
      1 person · 3 points · first shared 2014 · Discussion on HN
    4. 4
      Erlang syntax again ... and again ... and again ...
      1 person · 1 points · first shared 2014 · Discussion on HN
    5. 5
      Erlang syntax again and again and again
      2 people · first shared 2014
    6. 6
      Virdings first rule of programming
      1 person · first shared 2018
    7. 7
      Virdings first rule of programming
      1 person · first shared 2016
    8. 8
      Backtracking in erlang part 1 control
      1 person · first shared 2010
    9. 9
      Virdings first rule of programming
      1 person · first shared 2015

    What HN people wrote when they linked it

    • bbngApr 2014

      Disclosure: I am a Go contributor and my day job consists in writing and maintaining Erlang systems. I am not biased towards any of them, on the contrary, I really love both languages.

      Do you have any arguments about Erlang’s syntax being “actively” clunky, whatever that “actively” means? Or is it just your personal opinion? (This comes immediately to mind: http://rvirding.blogspot.se/2014/01/erlang-syntax-again-and-again-and-again.html)

      Another claim that you make without baking is that Erlang is 70-80% redundant “to” Go. Care to elaborate? How have you measured that number?

      Let’s go to the next point where you claim that Erlang is a “bad” functional language. What does that mean? “Bad”? What is that? Maybe you mean that it isn’t a pure functional programming language? That’s not a bad thing, nor good, but it’s not bad. Erlang has never aimed to be a pure functional programming language, it aimed at solving a very specific set of problems. Erlang is a functional programming language, and its simplicity, the minimal syntax that you can pick up in a day, actually makes it a really good choice for introducing functional programming to someone who has never had contact with it.

      Let me tell you something about Erlang and Go. Contrary to what you have read in the news, Erlang and Go are totally different. As a user of both languages I have no idea what you mean when you say “there's still some nice aspects of the Erlang language as compared to Go, you've still gotten quite a…

    • rdtscApr 2015

      Good link.

      As a side note, I see sorokin's posts about DCOM, RPC and multi-threading:

      > Probably some unique thread-id can be propagated through the calls. And if incoming call has the same thread-id as one of our outgoing call it is handled inside this outgoing call as in nested message loop, otherwise a new thread from thread pool is used. This will create an illusion that two processes share the same set of threads and it works well with mutexes.

      I think he is slowly driving towards an actor like message passing thing like Erlang, Akka or Orleans without even realizing.

      Which reminds me of Virding's law:

      http://rvirding.blogspot.com/2008/01/virdings-first-rule-of-programming.html

      ---

      Any sufficiently complicated concurrent program in another language contains an ad hoc informally-specified bug-ridden slow implementation of half of Erlang.

      ---

    • rvirdingFeb 2014

      I am not going to enter into a syntax argument I have already given my views on that here http://rvirding.blogspot.se/2014/01/erlang-syntax-again-and-again-and-again.html . My main point is that the syntax is simple and that it fits the semantics much better than anything based on an Algol like syntax would, even one which uses ';' in the "normal" way.

      And one reason it works is because it has built-in those features for building fault-tolerant systems which, for example, Go lacks. Borrowing from NASA "Failure is not an option".

    • pmontraDec 2015

      You can use that to replace code by monkey patching

      $ cat hi.rb
      def method
      puts "hi"
      end
      method
      load("hello.rb")
      method

      $ cat hello.rb
      def method
      puts "hello"
      end

      $ ruby hi.rb
      hi
      hello

      You must engineer your application to execute the load method and that's it.
      However I wonder if this is really equivalent to what Erlang does. I remember http://rvirding.blogspot.it/2008/01/virdings-first-rule-of-programming.html

    • outlogApr 2018

      Virding's First Rule of Programming:

      Any sufficiently complicated concurrent program in another language contains an ad hoc informally-specified bug-ridden slow implementation of half of Erlang.

      https://rvirding.blogspot.com/2008/01/virdings-first-rule-of-programming.html

      (he is one of the creators of erlang / stars in Erlang the Movie)

    • di4naNov 2020

      So this sounds a lot like an application of Virding's First Rule of Programming.

      Any sufficiently complicated concurrent program in another language contains an ad hoc informally-specified bug-ridden slow implementation of half of Erlang.

      http://rvirding.blogspot.com/2008/01/virdings-first-rule-of-programming.html

    Related

    Fred Hébertferd.ca168 people

    Awk in 20 Minutes (2015)

    Fred Hébert
    Personal · last shared 2026
    jlouisjlouisramblings.blogspot.com54 people

    Erlang programmer’s view on Curiosity Rover software

    jlouis
    Personal · last shared 2025
    Erlang Solutions Blogerlang-solutions.com88 people

    An introduction to RabbitMQ

    Erlang Solutions Blog
    Company · last shared 2026
    Alvaro Videlavidelalvaro.github.io16 people

    What We Talk About When We Talk About Distributed Systems

    Alvaro Videla
    Personal · last shared 2017
    The Erlangelisttheerlangelist.com36 people

    Why Elixir (2014)

    The Erlangelist
    Personal · last shared 2026
    Joe Armstrongarmstrongonsoftware.blogspot.com21 people

    Why I often implement things from scratch (2006)

    Joe Armstrong
    Personal · last shared 2024
    Christopher Meiklejohnchristophermeiklejohn.com51 people

    Towards a Type System for Containers and AWS Lambda to Avoid Failures [pdf]

    Christopher Meiklejohn
    Personal · last shared 2026
    Damien Katzdamienkatz.net71 people

    The Unreasonable Effectiveness of C

    Damien Katz
    Personal · last shared 2020