Re: Curious About C--

Norman Ramsey <[email protected]> Mon, 22 Aug 2005 18:34:53 -0400
Newsgroups gmane.comp.lang.c--
Message-ID <[email protected]>
 > I'm a high level programmer that has recently become interested about 
 > lower-level programming. I was interested in creating a computer language 
 > via assembly language or mapping to C, when I discovered the website for 
 > C--. I found the concepts discussed there very intersting. I had a couple of 
 > questions about C--:
 >
 >  [1] Is a program converted from a high-level language to C--, and then from 
 > C-- to machine code/assembly language on the target platforms?

Yes, exactly right.

 >  [2] What is the difference between C-- and something like a Java Virtual 
 > Machine? Would you not need a "C-- Virtual Machine" to run C-- code on the 
 > different architectures?

The JVM has all sorts of extra stuff that's not found in C--: a
garbage collector, a type system, a security model.  C-- is useful in
situations where that stuff might get in your way.  For example, you
might want to be guaranteed proper tail calls, you might want a
different kind of garbage collector, or you might want to compile code
that you know is type safe even when the JVM doesn't.

 >  Is there still development work underway for C--? 

Yes, although it's been a bit slow this summer, because the people
doing the work have mostly been away visiting other places.

 > I have some knowledge of 
 > writing parsers in high-level languages, and would like to learn more about 
 > assembly language programming and C--. If there is development of C-- 
 > currently under way, would I be able to assist in the effort?

There are two ways you (or anyone else) could help:

  1. Port an existing compiler, garbage collector, or run-time system
     to C--.  (It is also interesting to write new clients from
     scratch, but from such an exercise we would learn less about what
     people actually need.)

  2. Add some optimizations to the Quick C-- compiler.

The documentation for 1 is much better than for 2 :-(


Norman