Live data from Hacker News

Functional Programming at Facebook

scs.stanford.edu

51–60 of 102 posts

Re: Functional Programming at Facebook

#51
post #34
post #13

> Even though it is probably the most practically used functional language. Scala have 30th place on Tiobe index, while Erlang have 42th: http://www.tiobe.com/index.php/tiobe_index .

Yes, but it is #14 Redmonk's rankings: https://redmonk.com/sogrady/2015/07/01/language-rankings-6-1...

I'd venture to guess that once you start scanning github and to a lesser degree stackoverflow, the scale gets tipped away from the "enterprise applications" where Java reigns supreme.

Re: Functional Programming at Facebook

#52

Earlier quoted context omitted.

> Erlang is made by professionals with decades of experience Who are they, besides Joe? Can you at least provide their names? I'd really like to take a look at their credentials because beyond WhatsApp and an obscure Ericsson router from 20 years ago, there isn't much data to go by. And there is plenty of evidence to show that C, C++, Java and more recently Go have some pretty strong success stories to justify their…

Not disputing your claim, but CouchDB is quite an impressive effort built on Erlang.

And Riak

Re: Functional Programming at Facebook

#53
post #2

Well also WhatsApp handling 1B+ users with Erlang, and with (what used to be?) only a handful of engineers. But somehow the Haskell, OCaml and Scala users never want to include Erlang when talking about "functional". Even though it is probably the most practically used functional language.

In part, this is due to Haskell et al. are statically typed, which provides a higher safety guarantee than dynamically typed languages like erlang.

Erlang does has static analysis though, through Dialyzer.

http://erlang.org/doc/man/dialyzer.html

Re: Functional Programming at Facebook

#55
post #29

Earlier quoted context omitted.

Practicality is subjective, though. Unless you conduct an opinion poll, you will not find data objectively demonstrating that one language is more "practical" than another.

Sure, but I interpreted OP's statement as saying "used in practice" as in "used in the real world". Pretty sure that Erlang would barely register as a blip on such a chart.

Almost all the successful non-Google ad networks and exchanges are written in Erlang, Goldman Sachs HFT platform is written in Erlang, several massive scale game platform backends are written in Erlang, several international "national net" banking switches are written in Erlang, a huge chunk of the global land-line and mobile telco switching infrastructure is written in Erlang, Heroku's control plane is written in Erlang, GitHub's RPC backplane is written in Erlang, Amazon SimpleDB is written in Erlang, Bet365's high-scale betting platform is written in Erlang, Pinterest is migrating services to Elixir (rooted in Erlang).

There's a ton of stuff written in Erlang out there. A lot of really core infrastructure services that have to just run and run and run.

It's not particularly trendy, but it gets shit done, and it does so with a quiet dignity. :-)

Re: Functional Programming at Facebook

#56
post #32
post #14

Earlier quoted context omitted.

Lisp isn't a functional language.

That's a very HN comment. Completely wrong but delivered with strong convictions. Lisp doesn't actually exist. Lisp is just axioms. You run an implementation of Lisp allowing various operations. Some flavors actually have (practically) zero mutability. You just create functions and cons cells and the rest of the world gets built on top of those. But, pure functional systems are useless (to be purely functional would…

"Lisp doesn't exist" is also kind of wrong but with conviction, or at least debatable. Lisp was standardized in 1994 as ANSI Common Lisp, and there are a handful of other Lisp-like languages.

And pure languages aren't useless. Not being able to do I/O can be good for many purposes. Pure Haskell is still able to model computations involving I/O, which are then executed by a trusted external runtime. There are benefits to disallowing arbitrary effects, which is also why several new languages take purity even further and disallow infinite recursion.

Re: Functional Programming at Facebook

#57
post #47

Earlier quoted context omitted.

Here is why: http://pastebin.com/t3Q3CW4j This is particularly infuriating because the proper way to handle bound variables is already known: https://en.wikipedia.org/wiki/De_Bruijn_index .

No one is maintaining state by constantly clobbering namespace level variables in Clojure, though. What actually comes into play are ways the language and standard library encourages passing data around and manipulating it, which in Clojure is as immutable as you'll find in any language.

Clojure encourages me to program in the REPL, because there is no other way to know what is going on in such a semantically crazy language, other than trial and error.

And the state of the Clojure REPL is as mutable and imperative as it gets, as my paste showed.

Re: Functional Programming at Facebook

#58

Earlier quoted context omitted.

Sure, but I interpreted OP's statement as saying "used in practice" as in "used in the real world". Pretty sure that Erlang would barely register as a blip on such a chart.

Almost all the successful non-Google ad networks and exchanges are written in Erlang, Goldman Sachs HFT platform is written in Erlang, several massive scale game platform backends are written in Erlang, several international "national net" banking switches are written in Erlang, a huge chunk of the global land-line and mobile telco switching infrastructure is written in Erlang, Heroku's control plane is written in Er…

Do you have references for the claim about telco switching?

Re: Functional Programming at Facebook

#59
post #32
post #14

Earlier quoted context omitted.

Lisp isn't a functional language.

That's a very HN comment. Completely wrong but delivered with strong convictions. Lisp doesn't actually exist. Lisp is just axioms. You run an implementation of Lisp allowing various operations. Some flavors actually have (practically) zero mutability. You just create functions and cons cells and the rest of the world gets built on top of those. But, pure functional systems are useless (to be purely functional would…

For clarification, in a deduction system, an axiom is a proposition that is true just because. Similarly, an axiom schema is a predicate, such that substituting its free variables with closed terms yields a proposition that is true just because.

Now, I repeat, how exactly is Lisp “just axioms”? What are the axioms in question? The mathematical ignorance of some of Lisp's proponents never ceases to amaze me.

Re: Functional Programming at Facebook

#60
post #32

Earlier quoted context omitted.

That's a very HN comment. Completely wrong but delivered with strong convictions. Lisp doesn't actually exist. Lisp is just axioms. You run an implementation of Lisp allowing various operations. Some flavors actually have (practically) zero mutability. You just create functions and cons cells and the rest of the world gets built on top of those. But, pure functional systems are useless (to be purely functional would…

> Lisp is just axioms. Do you even know what an axiom is? (In mathematical logic, of course.)

> Do you even

Any comment that begins with that is unlikely to be a good fit for HN. Please post civilly and substantively, or not at all.

https://news.ycombinator.com/newsguidelines.html

https://news.ycombinator.com/newswelcome.html

Post reply on HN