Facebook's Cross-Language Network Library
koreth writes "Facebook has released Thrift, a toolkit for making remote method calls. It generates interoperable network code in C++, Java, PHP, Python, and Ruby. Its protocol is much more lightweight (and probably much higher-performance) than SOAP or CORBA. Facebook uses it internally for high-traffic services like search. The license is extremely permissive."
Any ports to Perl? Anyone?
--
# Canmephians for a better Linux Kernel
$Stalag99{"URL"}="http://stalag99.net";
I like my women like I like my licenses: extremely permissive.
Are you...Are you some kind of genius?
No, ma'am, I'm just a regular Slashdot reader.
You do realize that Facebook is a fantastic example of a clean, functional UI that only uses fancy 'web 2.0' features ala AJAX where it's actually useful?
MySpace, on the other hand, is a piece of shit.
Post benchmarks to prove a statement or don't state it at all. Don't use weasel words to try to convey a point of view without solid evidence. BTW, it seems this statement was made by either the submitter or the editor, since I couldn't find anything mentioning it on TFA.
According to the tutorial this api relies on code generation, which I personally don't like.
Does anybody know any good C++ RPC library which uses templates and which does not need code generating with any external tool nor executable?
C++ templates allows metaprogramming, so such tools should be able to be developped, but I don't know any. Does anybody know any?
- Garo
Is basically the MIT license with a few tweaks to the first paragraph (e.g. person -> person or organisation), the second paragraph expanded to cover some of the ideas in the middle section of the BSD licence and the third paragraph verbatim (or practically verbatim). Note that it appears equivalent to the MIT license in that there's no non-endorsement clause as you'd find in BSD or Apache 1.1.
Ignoring the users of Facebook, the site is about the use of technology. They made their job easy on themselves and created a framework to make their own jobs that much easier. And...in the same spirit of other companies, are releasing that software to the public. I applaud this. May the best framework win!
Bearded Dragon
He's not saying THIS is an API, but that they have released one. Which is true; I've dabbled with it a bit myself.
hmm, now that you say it, it does seem to fail under certain circumstances. Here's an optimized version though:
. /*$+['^A^S^\^I^O^Z^V^L^G'!~($&^o&$')].e./y/}{$_=$@ ;s/\B(?=(...)*$)/,/g
-lp040 $@+=$@%1e3*(9x(3*y/dbl/\xe4/-4*/e/))||/te|\xe4/./
Does anybody know any good C++ RPC library which uses templates and which does not need code generating with any external tool nor executable?
Yup, sockets. Every RPC-ish system I'm aware of (Sun RPC/XDR, CORBA, SOAP, RMI, ASN.1) needs a code generator that produces the stubs which make it easier than using raw sockets. The code that's produced by these stub compilers can be pretty small and well optimised (apart from SOAP), plus you shouldn't need to edit it by hand. Some compilers, such as a decent one for CORBAs IDL, can also produce the boilerplate code that you then fill in with your implementation of the RPC calls. While I usually dislike generated code, when it comes to RPC systems I'm quite glad they do a decent job of hiding complexity from me.