caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Gerd Stolpmann <info@gerd-stolpmann.de>
To: Yoann Padioleau <padator@wanadoo.fr>
Cc: Benedikt Meurer <benedikt.meurer@googlemail.com>,
	caml-list@yquem.inria.fr
Subject: Re: [Caml-list] [Was: OCamlJit 2.0]
Date: Sat, 20 Nov 2010 18:15:42 +0100	[thread overview]
Message-ID: <1290273342.16005.339.camel@thinkpad> (raw)
In-Reply-To: <6366332A-5DAC-469D-94A4-744E569CA3B0@wanadoo.fr>

Am Samstag, den 20.11.2010, 08:10 -0800 schrieb Yoann Padioleau:
> On Nov 20, 2010, at 7:42 AM, Benedikt Meurer wrote:
> 
> > 
> > On Nov 20, 2010, at 16:19 , Vincent Balat wrote:
> > 
> >> On Nov 19, 2010 21:20:01, Yoann Padioleau wrote:
> >>> On Nov 19, 2010, at 11:46 AM, Dario Teixeira wrote:
> >> ...
> >>>> Actually, Facebook has a compiler that transforms PHP source code into
> >>>> C++ [1], and they claim a 50% reduction in CPU usage.
> >>> 
> >>> Yes, which is good. But if you think about it is "only" a x2 speedup vs a
> >>> really slow bytecode interpreter (the Zend PHP interpreter). PHP is known
> >>> for being more than 30 times slower than C.
> >>> It's even slower than Ruby on
> >>> http://shootout.alioth.debian.org/u32/which-programming-languages-are-fast
> >>> est.php There are lots of opportunities to do better IMHO.
> >> 
> >> Would it be completely inconceivable for a company like facebook to 
> >> reimplement everything using a fast well designed typed language
> 
> I think it is inconceivable. I doubt facebook will switch to ocaml and ocsigen tomorrow :)
> The problem is how to migrate code to another language smoothly ? You can not
> stop all development for a month and say "Hey everybody, we are porting
> our 10 millions lines of code of PHP to X.". The reason C++ succeeded was
> because there was a smooth migration path. C code is valid C++ code. You
> can incrementally add objects to an existing codebase.

It's not a matter of the technical migration. You simply wouldn't find
enough engineers that can master a "fast well designed typed
language" (assuming here you have the more advanced ones in mind :-) ).
Also, there is the question whether it is the best approach to let the
most talented developers in the company program the user interface, with
day-to-day tasks like "hey Joe, can you please fix this broken link".
(Not that there are also complicated UI's but these are rare.)

At Mylife.com (where I'm currently consulting for) large parts of the
backend are now running in Ocaml, but the web frontend is done by
another team, and there is PHP involved. IMHO, it would be a
misallocation of human resources if we (the Ocaml team) also did the
frontend.

> Do we have example of big companies porting their whole codebase to another language ?

Usually languages are only switched when a completely new project is
started.

Gerd

> >> instead of "spending hundreds of millions of dollars on machines that run PHP 
> >> bytecode interpreters"? (quoting Yoann)
> 
> Apparently they decided to keep PHP and switch from a slow bytecode interpreter
> to a 2x-faster compiler.
> 
> > 
> > It's probably not a technical decision, but more likely a marketing decision. If you tell Joe
> 
> Who is Joe ? A developer ? A user ? A venture capitalist ?
> 
> > that your webservices run on Java, PHP or .NET, he'll say "great", "sure" or "wow" (not because Joe's familiar with the technology or the theory, but because he's familiar with the terms). Tell Joe your webservices run on OCaml or Haskell and the best answer you can get will be "what?".
> 
> I doubt any user care about how facebook is implemented. Twitter and Foursquare run on Scala and
> this is not a very popular language.
> 
> 
> > 
> >> Vincent [not completely joking]
> > 
> > Benedikt
> > _______________________________________________
> > Caml-list mailing list. Subscription management:
> > http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list
> > Archives: http://caml.inria.fr
> > Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
> > Bug reports: http://caml.inria.fr/bin/caml-bugs
> 
> 
> 
> _______________________________________________
> Caml-list mailing list. Subscription management:
> http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list
> Archives: http://caml.inria.fr
> Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
> Bug reports: http://caml.inria.fr/bin/caml-bugs
> 


-- 
------------------------------------------------------------
Gerd Stolpmann, Bad Nauheimer Str.3, 64289 Darmstadt,Germany 
gerd@gerd-stolpmann.de          http://www.gerd-stolpmann.de
Phone: +49-6151-153855                  Fax: +49-6151-997714
------------------------------------------------------------


  parent reply	other threads:[~2010-11-20 17:15 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-11-16 14:52 OCamlJit 2.0 Benedikt Meurer
2010-11-16 17:07 ` [Caml-list] " bluestorm
2010-11-16 17:32   ` Benedikt Meurer
2010-11-17  8:44 ` Native toplevel? (was: OCamlJit 2.0) Alain Frisch
2010-11-17 10:46   ` Satoshi Ogasawara
2010-11-17 11:38   ` Sylvain Le Gall
2010-11-17 22:57   ` [Caml-list] Native toplevel? Wojciech Daniel Meyer
2010-11-18 16:49   ` [Caml-list] Native toplevel? (was: OCamlJit 2.0) Ashish Agarwal
2010-11-19 18:09     ` David MENTRE
2010-11-19 18:24       ` Hezekiah M. Carty
2010-11-19 18:30         ` Ashish Agarwal
2010-11-19 18:42           ` Benedikt Meurer
2010-11-20 11:49     ` Jon Harrop
2010-11-18 18:19   ` Benedikt Meurer
     [not found]   ` <2025993285.616104.1290144569061.JavaMail.root@zmbs4.inria.fr>
2010-11-19 10:02     ` [Caml-list] Re: Native toplevel? Fabrice Le Fessant
2010-11-19 19:16       ` Benedikt Meurer
2010-11-19 18:43 ` [Caml-list] OCamlJit 2.0 Yoann Padioleau
2010-11-19 19:10   ` Benedikt Meurer
2010-11-20 15:59     ` Yoann Padioleau
2010-11-19 19:46   ` Dario Teixeira
2010-11-19 20:20     ` Yoann Padioleau
2010-11-20 15:19       ` [Was: OCamlJit 2.0] Vincent Balat
2010-11-20 15:42         ` [Caml-list] " Benedikt Meurer
2010-11-20 16:10           ` Yoann Padioleau
2010-11-20 16:25             ` Benedikt Meurer
2010-11-20 17:35               ` Yoann Padioleau
2010-11-20 17:08             ` Jon Harrop
2010-11-20 17:37               ` Yoann Padioleau
2010-11-20 17:48                 ` Sylvain Le Gall
2010-11-20 18:51                   ` [Caml-list] " Jon Harrop
2010-11-20 18:05                 ` [Caml-list] " Jon Harrop
2010-11-20 17:15             ` Gerd Stolpmann [this message]
2010-11-23  2:09             ` Elias Gabriel Amaral da Silva
2010-11-24  7:20     ` [Caml-list] OCamlJit 2.0 Alain Frisch
2010-11-24  7:59       ` Yoann Padioleau
2010-11-24  9:04       ` Compiling to Javascript Jerome Vouillon

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1290273342.16005.339.camel@thinkpad \
    --to=info@gerd-stolpmann.de \
    --cc=benedikt.meurer@googlemail.com \
    --cc=caml-list@yquem.inria.fr \
    --cc=padator@wanadoo.fr \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).