Comment Re:About Pike. (Score 3) 235
Pike has both GC and refcounting. The gc is run now and then to remove circular structures (when there is enough garbage to collect, basically, using heurestics) or when you call gc() explicitly.
Class shared data is not possible as such, but you can write, as an example:
class Shared
{
int a;
int b;
float c;
}
Shared shared = Shared();
class DaClass
{
void use_shared()
{
write( "a is "+shared->a+"\n");
}
}
You can access the parent scope in classes (and functions (and funtions in functions etc)
It is closer to java than C when it comes to declarations and such, IMHO. It also has quite a lot of similarities to lisp. Not the syntax (even if map( array, lambda( int elem ) { return elem+1; } ) does look rather lispish) but the internals and some of the programming structures are closer to lisp than C.