In terms of the life cycle, persistent procedures are for me in essence the same as static classes, except that I can at least delete them from memmory when I know I'm done. There is nog garbage collector that will clean up after me.
The only real two differences I between a static class and a persistent procedure (that was not properly cleaned up) is that:
a) There is a way to hunt the latter down and kill it (or better yet, find out what created it and fix its cleanup).
b) You can end up with duplicate persistent procedures, while it is by nature not possible with static classes.
Simon L Prinsloo
Important differences, I'd say.
I am not happy with static because it means something very specific and, moreover, that meaning applies to classes. The one saving grace of the word persistent is that it is a word which does not apply to classes.
Consulting in Model-Based Development, Transformation, and Object-Oriented Best Practice http://www.cintegrity.com
In my (sad) mind, I think that it really needs to made clear that
1) a "static class" exists if, and only if, all methods and properties
of that class are static.
2) a non-static class exists if, and only if, all methods and
properties of that class are not static.
Otherwise we have a hybrid class.
* jmls likes that name.
Hybrid class. Sounds cool and green
Hybrid because it is partly static? Not very intuitive to me and it doesn't specifically convey the issue of it sticking around.
I.e., I think we want a word which addresses the behavior of code locked in memory, something that applies both to proper static classes and to these partly static classes. Persistent or perpetual bring that to mind.
Perhaps we also need a good term for a class which has both static and regular elements. Hybrid might apply there, but doesn't bring the specific quality to mind. I'm not sure that partly static isn't a sufficient and clear term.
Please, no!!! The term hybrid class is used by Progress for an ABL class that inherits from a .NET class. I see that as a conflicting term in the context of ABL classes.
I will stick to static classes. Because it describes the keyword that is responsible for this circumstance. Sorry - I see no need to artificially seek another term. For what?
* jmls slips mike a chill pill, and withdraws the hybrid designation
* admin slips mike a chill pill, and withdraws the hybrid designation
Mike, out of this thread...
Small update: Everybody still seeking a new term: Create a class with at least a static method and a static constructor and raise an error from the static constructor.
Static instance failed to load. Cannot reference class Consultingwerk.StaticInstance.Test. (14631)
Nachricht geändert durch Mike Fechner