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