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 GAA31187; Sat, 27 Jul 2002 06:42:05 +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 GAA31195 for ; Sat, 27 Jul 2002 06:42:04 +0200 (MET DST) X-SPAM-Warning: Sending machine is listed in blackholes.five-ten-sg.com Received: from boson.den.co.bbnow.net (rkcrk-154.den.co.bbnow.net [24.219.114.154]) by nez-perce.inria.fr (8.11.1/8.11.1) with ESMTP id g6R4g2X03365 for ; Sat, 27 Jul 2002 06:42:02 +0200 (MET DST) Received: (from issac@localhost) by boson.den.co.bbnow.net (8.11.3/8.11.3/SuSE Linux 8.11.1-0.5) id g6R4fJ801269 for caml-list@inria.fr; Fri, 26 Jul 2002 22:41:19 -0600 Date: Fri, 26 Jul 2002 22:41:19 -0600 From: Issac Trotts To: OCaml Mailing List Subject: Re: [Caml-list] Caml productivity. Message-ID: <20020726224119.C671@boson.den.co.bbnow.net> Mail-Followup-To: Issac Trotts , OCaml Mailing List References: <20020723232036.A663@execpc.com> <20020724094534.37196.qmail@web13303.mail.yahoo.com> <4.3.2.7.2.20020726142932.02bedd60@mail.d6.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.3.16i In-Reply-To: <4.3.2.7.2.20020726142932.02bedd60@mail.d6.com>; from checker@d6.com on Fri, Jul 26, 2002 at 02:42:27PM -0700 Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk On Fri, Jul 26, 2002 at 02:42:27PM -0700, Chris Hecker wrote: > It's going to be another generation or two before a higher level language > like caml is going to be appropriate for console games, and I don't think > there's any way around that. I think it's just starting to be okay for PC > games, but even the next gen consoles are going to be too memory > constrained and it's always much more cost-effective to super-optimize a > console game (both memory- and cpu-wise), at least for the next few ship > cycles. There's already strong evidence that it's possible to use a higher level language to produce a successful console game: Naughty Dog's Scheme dialect (GOAL) on Jak & Daxter for the PS2. They claim to have used it for most of the game. One thing that isn't clear is how they avoided running out of memory from fragmentation. Maybe Pal-Kristian Engstad can shed some light on this. > On the original topic of this thread, I am still withholding judgment on > caml for game programming until I actually finish my game, but I sincerely > doubt it will be anywhere near 3x as productive for the kind of imperative > simulation-y code that makes up a game. If any game company could actually > get 3x productivity out of their programmers, they'd retrain everybody in > an instant. The figure of 3x is relative to a particular set of circumstances. If you're writing something from scratch that is well matched to OCaml's feature set then it's easy to believe that you could write it three times as fast as you could in some other language, given equal proficiency. In contrast, a game company would take a big productivity hit in the short run (as well as maybe losing some programmers) if they forced everyone to switch, because most likely they already have a large code base written in other languages that would need to be converted or interfaced with, as well as programmers who are much more effective in these languages than they would be as novice OCaml programmers. Retraining in OCaml wouldn't happen in an instant because of OCaml's steep learning curve and relative lack of documentation. (I have yet to find a bookstore in my area that carries anything about OCaml.) Hiring would also be quite a bit more difficult since so few people are proficient in OCaml compared to other languages used in games. > 3x is huge. I think caml is definitely more fun to program > with, but if it's at all more productive, it's going to be in the 10-40% > range at best (and most of that is going to come from the gc). This makes me wonder: have you tried out the Boehm-Demers-Weiser conservative garbage collector for C and C++? You mentioned that OCaml is more fun to program in. I agree. This is important for its own sake and because happy programmers will tend to produce better work and stay around longer. -- Issac Trotts www.issactrotts.net ------------------- 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