LWN.net Logo

Since you asked

Since you asked

Posted Oct 26, 2012 23:01 UTC (Fri) by ncm (subscriber, #165)
In reply to: Since you asked by Jandar
Parent article: Haley: We're doing an ARM64 OpenJDK port!

This cycle detection problem is always trotted out, but it never seems to happen in real programs. (Anyway it's never happened to me.) The corresponding problem in GC systems, of stale pointers to garbage preventing collection, is responsible for uncounted exabytes of leaked memory at any moment, and for my browser running no faster than Netscape on a 486.

The world needs a systems-programming language as powerful as C++, but without the cruft. (Cruft being the C type system, and failed experiments like exception checking and virtual functions.) It is unfortunate that current efforts at language design are almost always contaminated with CONSes. A sign of the strength of a language design is that library components do what had to be built into weaker languages. Virtual function support should be a library facility in the Glorious Successor to C++.


(Log in to post comments)

Since you asked

Posted Oct 27, 2012 6:43 UTC (Sat) by Cyberax (✭ supporter ✭, #52523) [Link]

Cycles happen all the time in any non-trivial program. In fact, a lot of non-trivial C++ programs now contain some form of cycle detection (Firefox, Chrome) or GC (gcc).

Since you asked

Posted Oct 28, 2012 16:32 UTC (Sun) by nix (subscriber, #2304) [Link]

OK. I have to ask... 'contaminated with CONSes'? Presumably this isn't a reference to Lisp, so what is it?

Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds