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 BAA29826; Tue, 11 Mar 2003 01:07:51 +0100 (MET) 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 BAA30179 for ; Tue, 11 Mar 2003 01:07:50 +0100 (MET) Received: from epexch01.qlogic.org ([63.170.40.3]) by nez-perce.inria.fr (8.11.1/8.11.1) with ESMTP id h2B07lX18763 for ; Tue, 11 Mar 2003 01:07:47 +0100 (MET) Received: from epmailtmp.qlogic.org ([10.20.33.254]) by epexch01.qlogic.org with Microsoft SMTPSVC(5.0.2195.5329); Mon, 10 Mar 2003 18:09:21 -0600 Received: from [10.20.33.146] ([10.20.33.146]) by epmailtmp.qlogic.org with Microsoft SMTPSVC(5.0.2195.4905); Mon, 10 Mar 2003 18:09:21 -0600 Date: Mon, 10 Mar 2003 18:18:12 -0600 (CST) From: Brian Hurt X-X-Sender: Reply-To: Brian Hurt To: Gerd Stolpmann cc: Graham Guttocks , Ocaml Mailing List Subject: Re: [Caml-list] OCaml popularity In-Reply-To: <1047340124.1105.24.camel@ice.gerd-stolpmann.de> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-OriginalArrivalTime: 11 Mar 2003 00:09:21.0534 (UTC) FILETIME=[775F49E0:01C2E762] X-Spam: no; 0.00; qlogic:01 caml-list:01 gerd:01 stolpmann:01 compelled:99 bios:99 low-level:01 model:01 level-:99 ocaml:01 imho:01 assembler:01 syntax:02 explicit:03 wrote:03 Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk On 11 Mar 2003, Gerd Stolpmann wrote: > I don't think it is the syntax. People are programming in C, with a > really strange syntax, and they take the C syntax as a natural way to > express algorithms. I hear only few complaints about that, so I think > most people just take syntax as it is. Most of my responses have been off list, but for this I feel compelled to respond on-list :-). C is a category killer language. For what it is good for, I cannot envision a language that would be sufficiently better than C to make it worth learning, let alone implementing. Note that it's category is 'low-level' programming- embedded software, operating systems, device drivers, the higher level parts of the BIOS, etc. Code banging directly on hardware. C is a very low-level language, very close to the hardware in important ways. It is, in essence, a model of the Von Neumann architecture. While still maintaining some semblance of portability and structure. C is a great choice for when the alternative is assembler. Note that if you're not at this level, it's idiotic to be using C IMHO. Things which are plusses at the hardware level become minuses at any other level- for example, explicit memory management. Explicit memory management is *required* (for example) in situations where not all memory is equal- for example, in many OSs (like Windows, HP-UX, and others) you have swappable memory and nonswappable memory. And your interrupt handlers had better never touch swappable memory. Or if the memory is actually a memory mapped I/O device. Etc. But if you're not working at that level, explicit memory management is only good for introducing bugs. This is no one perfect programming language. Brian ------------------- 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