Version française
Home     About     Download     Resources     Contact us    

This site is updated infrequently. For up-to-date information, please visit the new OCaml website at

Browse thread
[Caml-list] OCaml popularity
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2003-03-11 (00:07)
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.  


To unsubscribe, mail Archives:
Bug reports: FAQ:
Beginner's list: