From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on yquem.inria.fr X-Spam-Level: *** X-Spam-Status: No, score=3.8 required=5.0 tests=AWL,DNS_FROM_RFC_POST, RCVD_IN_BL_SPAMCOP_NET,RCVD_IN_SORBS_WEB,SPF_NEUTRAL autolearn=disabled version=3.1.3 X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from mail1-relais-roc.national.inria.fr (mail1-relais-roc.national.inria.fr [192.134.164.82]) by yquem.inria.fr (Postfix) with ESMTP id 859D5BBC4 for ; Mon, 30 Mar 2009 23:51:13 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AtcBAOLb0EnRVdyukGdsb2JhbACVRj8BAQEBCQkMBxEDph+BB44VAQMBA4N3Bg X-IronPort-AV: E=Sophos;i="4.38,431,1233529200"; d="scan'208";a="26663230" Received: from mail-fx0-f174.google.com ([209.85.220.174]) by mail1-smtp-roc.national.inria.fr with ESMTP; 30 Mar 2009 23:51:13 +0200 Received: by fxm22 with SMTP id 22so1967223fxm.9 for ; Mon, 30 Mar 2009 14:51:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:from:to :content-type:content-transfer-encoding:mime-version:subject:date :x-mailer; bh=TdMMfwlsiRnMjTA9EOi/0j2IIqfcfiojublrcNOJiho=; b=xInpvjWRKpgfQ1990ig6VtDnXNGqKsj7ahEzJGnbDCuX03Cakob03Ou0afUI58GELo /0HjswFyRot1vvkhB+0dl+wk2l5KKCVHUxXsgmHlV+L3sCNT1d9VUP2pl1npAUZpLnyh GuHWBA5uzrK7HsnaVn4BFNHRqGuACLdhbjleo= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:from:to:content-type:content-transfer-encoding :mime-version:subject:date:x-mailer; b=osyN5HWfZ0pGgqF+2Jr3jwGVyzxu8p9WwJotuYMtRNjbjK/LD2i95F7G7dmY2qDr4s ojtunANfxyLJdrN2GOGaJBR8ONRXayu64Lk8GteTP4zQBeMVekaVxUPgtA3zcnjSC7Rg /eCSPZJEm6jDzciZRKVXN4Utr7uGmP6/2YGJI= Received: by 10.103.221.5 with SMTP id y5mr1919422muq.66.1238449873001; Mon, 30 Mar 2009 14:51:13 -0700 (PDT) Received: from ?192.168.1.102? ([64.30.3.122]) by mx.google.com with ESMTPS id g1sm9876830muf.12.2009.03.30.14.51.11 (version=TLSv1/SSLv3 cipher=RC4-MD5); Mon, 30 Mar 2009 14:51:12 -0700 (PDT) Message-Id: <0DEB4DD9-13C5-4CC5-A916-A18BB6B9DAEB@gmail.com> From: Alexy Khrabrov To: OCaml Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit Mime-Version: 1.0 (Apple Message framework v930.3) Subject: when OO is wrong Date: Mon, 30 Mar 2009 17:51:08 -0400 X-Mailer: Apple Mail (2.930.3) X-Spam: no; 0.00; model:01 openmp:01 conceptually:01 summarize:01 cheers:01 graph:01 caml:02 functional:02 fortran:02 fortran:02 programming:03 library:03 complex:05 problem:05 simpler:05 I liked the part of Yaron's Caml Trading talk where he says that OO is not always the right way to model things. I wonder about other situations where OO is wrong and functional approach simplifies modeling? And then, since UML is so OO-motivated, should we get a new UML, or all that OO Analysis/Design/Development is a heritage of non- programming bureaucracy? I've done some Fortran coding recently for high-performance, numeric OpenMP app, and also noticed that just about everything fits into an array -- just like almost anything in FP fits into a list. That's another case where a flat structure clears the mind. I've found a graph library in Fortran 77 which, with its compact representation, was directly applicable to a rather complex social network modeling problem of today! There's something similar to the "everything is array" simplification in FP, but it's hard to pin it down exactly. What is it about FP which makes modeling simpler than OO, conceptually and technically? How can folks summarize their "enlightenment" experiences in this regard? Cheers, Alexy