Linked by Owen Anderson on Mon 19th Apr 2004 05:43 UTC
General Development For years the development scene has been dominated by the C family of languages, primarily C itself and its immediate successor C++. Recent years have given rise to other C-descendents, however, such as Sun's Java and Microsoft's C#.
Permalink for comment
To read all comments associated with this story, please click here.
GC and kernels
by Allan Sandfeld on Tue 20th Apr 2004 00:14 UTC

To reply some of the objections to my post:
What I think of as a systemprogramming is a language usefull for operating systems, as in drivers and kernels, but also libraries both system- and application libraries.

Taking kernels first:
Yes, it is possible to write "kernels" in LISP, ML and concurrent pascal, but they are pointless exercises in computer science like compilers partially evaluated from an interpreter. Now get back to reality.

Turning off the garbage collecter or using one with real-time constaints is fine. The real problem is that the environment and requirements you have when writing a kernel, is widely different, not just from GUI programming but also from writing other types of kernels. I can hardly imagine circumstances where a kernel-programmer would _not_ write his own memory allocation. Yes, it could be GC, but it would likely not be a standard one.

As for libraries:
If the goal is to replace C as a library programming language, you have to write libraries that are somewhat language neutral and can be interfaced from many other languages. Now imagine writing a C-program and then calling a function in garbage-collected D-library.....