Live data from Hacker News

Functional Programming at Facebook

scs.stanford.edu

91–100 of 102 posts

Re: Functional Programming at Facebook

#91
post #28

Earlier quoted context omitted.

Just to double down on the points of some other commenters here: "Functional" is a pretty difficult word to pin down these days. That said, there seems to be a clear camp in what might be better called "denotational" programming which centers around the ML-alike languages, the dependently typed languages, and Scala. Lisp is not much at all like these languages. Nor is Erlang, though it is vastly closer.

I wouldn't call Scala a “functional” language. It's an object-oriented language that happens to be able to encode many Haskell idioms, with varying degrees of awkwardness. But you can write Java in Scala too, and, in the eyes of some, the result will even be more natural. Out of curiosity: Would you consider Prolog a language in which you can do “denotational” programming?

Scala I don't have too too significant experience with but it continues to feel like a functional language with commitment issues to me.

I think Prolog counts here, too. But it's a weirder one.

Re: Functional Programming at Facebook

#92
post #58

Earlier quoted context omitted.

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?

Watch this video it explains clearly how it is used:

https://youtu.be/rQIE22e0cW8?t=662

And it is also fun!

Re: Functional Programming at Facebook

#93
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 .

Are there people who actually take Tiobe seriously?! That seems like a very dangerous thing to do to me.

Tiobe is consistent with pretty much any other measuring approach (job boards, github, stack overflow, etc...), so yes. It's a pretty reliable indicator.

Re: Functional Programming at Facebook

#94

Earlier quoted context omitted.

I was asking for the names of the experts allegedly behind Erlang. As for listing companies that use Erlang, plenty of companies use PHP and COBOL too. This doesn't say anything about whether these languages are the most adequate for the task and whether these projects wouldn't be in a better shape if written in a different language.

robert virding, richard o'keefe, francisco cesarini, mike williams, joe armstrong, ulf wiger, brian troutwine, fred hebert, jose vadim, steve vinoski, serge aleynikov?

Aww shucks. Bless your heart.

Re: Functional Programming at Facebook

#95

Earlier quoted context omitted.

Are there people who actually take Tiobe seriously?! That seems like a very dangerous thing to do to me.

Tiobe is consistent with pretty much any other measuring approach (job boards, github, stack overflow, etc...), so yes. It's a pretty reliable indicator.

These are all based on popularity and online activity which are terrible indicators for a lot of application domains.

They give you a rough head count yet you have absolutely no idea what percentage of them are actually good programmers you'd want to hire.

Usually the more popular something is, the more you need to weed out bad candidates as well; its kind of killing the popularity argument.

If you pick a technology based on its popularity or visible activity you're only making it much easier for your competitors to crush you really.

I can only refer to pg's Beating the Averages at this point: http://www.paulgraham.com/avg.html

Re: Functional Programming at Facebook

#96

Earlier quoted context omitted.

A talk by Joe Armstrong I watched recently indicated that around 50% of 3G and more than that of 4G infrastructure uses Ericsson technology, specifically with swoftware written in Erlang. He made a joke about 'sweating over every bit' sent over the network and then complaining that all the apps are going crazy with their JSON. https://en.wikipedia.org/wiki/Ericsson#Products_and_services

Erlang is mentioned only once in this entire article, and it's in the "See also" section. Nothing in this Wikipedia article supports the claim that Ericsson uses Erlang at all.

Sorry, you're right. I was more indicating at the fact that they power a huge amount of the infrastructure of mobile and telecoms.

Here's some sources that indicate that Erlang is still in daily use at Ericsson:

http://www.ericsson.com/ericsson/corpinfo/publications/revie...

http://www.ericsson.com/news/141204-inside-erlang-creator-jo...

I'm sorry I can't find the exact video I saw from Joe, but he's generally quite proud of the reach of Erlang so you'll find him stating the facts about how much of the mobile and telecoms infrastructure it supports in a few of his videos! I hope that helps.

Re: Functional Programming at Facebook

#98

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 .

Interestingly, Scala handles it http://pastebin.com/CT36K6Hj It feels like an artifact of the REPL tho, as one shouldn't be able to redefine x

Yep, statically typed languages tend to have no option but to handle this right. Otherwise, they risk unsoundness: Consider what would happen if you did `val x = "foo"` instead of `val x = 0`.

But there's still no type-level distinction between immutable and mutable bindings, which is why included Scala in the “anything goes” category.

Re: Functional Programming at Facebook

#99
post #14

Earlier quoted context omitted.

Although this reason sounds plausible, it is quite surprising since one of the first functional languages - Lisp was dynamically typed.

Lisp isn't a functional language.

If you have been around 10 years ago, including on HN, everybody considered Lisp not only "a functional language", but "THE functional language".

Heck, Haskell was barely ever mentioned.

Not to mention that the whole idea of functional programming was introduced to the programming world with McCarthy and Lisp.

(Except if you want to say that "Lisp is not functional, it supports many paradigms" -- but I find that tired. It is, at its core, functional).

Re: Functional Programming at Facebook

#100

Earlier quoted context omitted.

Tiobe is consistent with pretty much any other measuring approach (job boards, github, stack overflow, etc...), so yes. It's a pretty reliable indicator.

These are all based on popularity and online activity which are terrible indicators for a lot of application domains. They give you a rough head count yet you have absolutely no idea what percentage of them are actually good programmers you'd want to hire. Usually the more popular something is, the more you need to weed out bad candidates as well; its kind of killing the popularity argument. If you pick a technology…

You are missing my point.

Their methodology matters little when their findings are consistent with a lot of other sources that use different methodologies.

All these sites agree on the general brackets that these languages belong to. Until this stops being true, I'll keep accepting TIOBE as a reasonable indicator of language popularity (along with a bunch of other sources).

Post reply on HN