Browse thread
[Caml-list] OCaml popularity
-
Graham Guttocks
-
Gerd Stolpmann
- Brian Hurt
- Graham Guttocks
- Nicolas Cannasse
- Martin Weber
-
Gerd Stolpmann
[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
| Date: | -- (:) |
| From: | Brian Hurt <brian.hurt@q...> |
| Subject: | Re: [Caml-list] OCaml popularity |
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