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 DAA06302; Wed, 9 Jun 2004 03:25:49 +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 DAA06207 for ; Wed, 9 Jun 2004 03:25:48 +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 i591PkEV025501 for ; Wed, 9 Jun 2004 03:25:46 +0200 Received: from outbound28-2.lax.untd.com (smtp02.lax.untd.com [10.130.24.122]) by smtpout05.lax.untd.com with SMTP id AABANN3ZLANSNRA2 for (sender ); Tue, 8 Jun 2004 18:24:58 -0700 (PDT) Received: (qmail 13465 invoked from network); 9 Jun 2004 01:23:59 -0000 Received: from 66-52-237-168.sttl.dial.netzero.com (HELO vangogh) (66.52.237.168) by smtp02.lax.untd.com with SMTP; 9 Jun 2004 01:23:59 -0000 From: "Brandon J. Van Every" To: "caml" Subject: RE: [Caml-list] 32 bit floats, SSE instructions Date: Tue, 8 Jun 2004 18:33:42 -0700 Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset="Windows-1252" Content-Transfer-Encoding: 7bit X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook IMO, Build 9.0.6604 (9.0.2911.0) In-Reply-To: <200406090125.24112.jdh30@cam.ac.uk> X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1409 Importance: Normal X-ContentStamp: 16:8:1159575386 X-UNTD-OriginStamp: CI84cOLHFqh7Zd2QWkwvEFvwyO3T/pIsPQZphDk9MRjKBXBfDjdv8rFY8KP1P0YI X-Miltered: at nez-perce with ID 40C6671A.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Loop: caml-list@inria.fr X-Spam: no; 0.00; brandon:99 caml-list:01 floats:01 brandon:99 overriding:01 floats:01 scream:01 'real:01 ocaml's:01 abandon:01 creators:01 python:01 swig:01 swig:01 avoided:01 Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk Jon Harrop wrote: > Brandon Van Every wrote: > > > > OCaml has a somewhat practical focus, but maybe it's not > > sufficiently > > practical for me. I do find myself re-evaluating languages > > in terms of 3 overriding problems: > > > > - the available C++ migration path and its efficiency > > Why C++? Is your objective to always prototype in OCaml and > convert to C++? No, my objective is to use OCaml on top of extant C++ libraries, such as the Nebula2 3D engine. "Borgging" some of the engine over time may be possible, but against that, is the implementation reality that the rest of the Nebula2 developers are implementing in C++. > > - the support of basic 3D graphics types, i.e. 32 bit floats > > Why not "ease of use of trees, graphs etc."? Algorithmic > optimisations are so much more productive... Am I allowed to just scream at you every time someone utters this drivel? Compare how Xavier feels about the 'real world'. I think all the 'exterior constant' O() theory guys should be hung from the rafters. > > - ability to work with imperative, object oriented designs > > and libraries > > OO is overrated, IMHO. It may very well be. There is still the reality that when you plan to use extant libraries, that have ongoing development, with programmers attached to them, all of whom are working in an imperative OO paradigm, that you have to communicate successfully with them. If you're going to convert them, your religion has to be compelling. And you may not be able to convert them, you may have to settle for interoperating with them. The alternative is to write everything for OCaml from scratch and that's just not industrial reality. One of OCaml's strengths as far as gaining language converts, actually, is that it doesn't immediately force C++ people to abandon an imperative, OO mode of thinking. > Imperative is excusable for UI level things but I'd > prefer a functional style for everything but the simplest of > algorithms. > OCaml can play with libraries fairly well but, yes, it takes > a lot of time to > get some things working. That isn't the fault of the OCaml > creators though, > of course, it's the fault of those dim-wits at Bell Labs... The "Worse Is Better" school of technological development has won. You have to deal with that reality if you want to benefit from it. Otherwise, have fun writing all your own code from scratch. > > ...Write my own little Python script to emit a lot of redundant, > > boring filename.i files with #include filename.h %include filename.h > > directives in them. > > Yes, but the OCaml bit of SWIG is very alpha, AFAIK. SWIG > wasn't even designed to deal with languages like OCaml. I didn't say I had any faith in the industrial robustness of the solution. I haven't heard of anyone using OCaml SWIG besides its author. I'm also aware that SWIG was designed to bind scripting languages, not for native-native code linkage. > Just out of curiosity, do you use the STL much? An interface > to the STL might be interesting. I don't. I've totally avoided it, and I despise the thought of having to deal with it. I went looking for higher level languages rather than worry about STL. Thanks for reminding me that there's a dimension of the C++ migration problem I hadn't considered. I don't make much use of templates... but they're germane to the C++ idiom, they won't be 'optional'. > I'm getting offered jobs because I am so much more > productive as a consequence. So where are you finding these OCaml jobs? Clue us in. > The programs I write whilst doing my 3D graphics > research are > more robust and faster than ever now that they have been > converted entirely into OCaml from C++. *Now* you're a 3D graphics researcher. Oy vey! 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.693 / Virus Database: 454 - Release Date: 5/31/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