From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from majordomo@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id NAA17466; Sun, 20 Jun 2004 13:15:36 +0200 (MET DST) X-Authentication-Warning: pauillac.inria.fr: majordomo set sender to owner-caml-list@pauillac.inria.fr using -f Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id NAA17144 for ; Sun, 20 Jun 2004 13:15:35 +0200 (MET DST) Received: from outbound28-2.lax.untd.com (outbound28-2.lax.untd.com [64.136.28.160]) by nez-perce.inria.fr (8.12.10/8.12.10) with SMTP id i5KBFXEV002302 for ; Sun, 20 Jun 2004 13:15:34 +0200 Received: from outbound28-2.lax.untd.com (smtp04.lax.untd.com [10.130.24.124]) by smtpout05.lax.untd.com with SMTP id AABAPL6P7AP4Q4BA for (sender ); Sun, 20 Jun 2004 04:15:09 -0700 (PDT) Received: (qmail 29271 invoked from network); 20 Jun 2004 11:14:09 -0000 Received: from unknown (HELO vangogh) (66.52.243.89) by smtp04.lax.untd.com with SMTP; 20 Jun 2004 11:14:09 -0000 From: "Brandon J. Van Every" To: "caml" Subject: [Caml-list] Evangelism Date: Sun, 20 Jun 2004 04:24:04 -0700 Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 8bit X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook IMO, Build 9.0.6604 (9.0.2911.0) In-Reply-To: <37662.217.95.201.40.1087676184.squirrel@btn1x1.inf.uni-bayreuth.de> X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1409 Importance: Normal X-ContentStamp: 14:7:141768556 X-UNTD-OriginStamp: CI84cOLHFqh7Zd2QWkwvEFvwyO3T/pIsPQZphDk9MRhfvdRm+GgqF07cMYd4N6d8 X-Miltered: at nez-perce with ID 40D571D5.001 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Loop: caml-list@inria.fr X-Spam: no; 0.05; brandon:99 herein:99 iterating:01 permutations:01 fungible:01 thrive:99 brandon:99 seattle:99 crappy:01 2004:99 ocaml:01 ocaml:01 face:98 benchmarking:02 vague:02 Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk What's this post of mine about? Really, it's about Evangelism. How do people make decisions on what language to use? Which languages survive in industry and which ones die? Herein I discuss general principles. Extrapolation to OCaml is left as an exercise to the reader. Wolfgang Müller wrote: > > No, for me personally language evangelism is not the point. Language > evaluation is the point. If it comes out that the best language for > solving my problems is actually JAVA, I swallow and say "yes, > thanks for this information" The problem space is too complex to believe you're swallowing anything on 'objective merit'. What you're really doing is iterating your subjective criteria over and over again. You probably have 10 variables you care about. It takes a lot of time, looking at a lot of options, to identify which of those 10 variables aren't so important, which ones are dealbreakers, which ones would subjectively improve your life if only you had feature X, etc. If you lay out all the permutations and/or combinations mathematically, and assign some kind of fungible constant amount of time to each iteration, i.e. "3 days," you will probably conclude that the decision gets made when you run out of time. To fully evaluate the problem always takes more time than you have. So at some point, you close your eyes and make a leap. Or else, someone more important than you are tells you what to do. Companies like Microsoft thrive mainly on the limited amount of time that most managers are willing to dedicate to these problems. > Brandon Van Every wrote: > > > > Actually I think comparative benchmarking for some goal other than > > evangelism is kinda pointless. > > How do you define "evangelism"? I define it as "promoting the benefits of a technology in the face of competition." We have many programming languages we could choose to use. When we say that OCaml is better than other options for Problem X, we are *evangelizing* OCaml. > In any case, I > would be interested in looking at a set of benchmarks that tells me if > what I want to achieve can be done easily and efficiently in a given > language or not, without me having to write too many comparative > benchmarks myself. One per week is clearly too many for me. Ballpark > figures are useful already. My experience over the past year is: - all compiled languages are within a similar ballpark of performance - the performance divide is between compiled and interpreted - small open source projects are useless for production coding - only the large open source projects are any good - if someone's language reeks of smallness, skip it - if it doesn't have a VC++ build it's useless on Windows - has someone solved *your problems* using the language? My driving problems are: - how do I make commercially viable games with less work? - can I turn around and consult these skills to others? I think it's important to define one's driving problems, and also resolve conflicts between them. You say you want language benchmarks. Well, why? What are they going to help you decide? "Anything you might want to achieve" is too vague. Cheers, www.indiegamedesign.com Brandon Van Every Seattle, WA "We live in a world of very bright people building crappy software with total shit for tools and process." - Ed Mckenzie --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.708 / Virus Database: 464 - Release Date: 6/18/2004 ------------------- To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/ Beginner's list: http://groups.yahoo.com/group/ocaml_beginners