Centralizable configured compile-time class instantiation

shd alienballance at gmail.com
Wed Jul 13 05:13:25 PDT 2011


2011/7/13 Jesse Phillips <jessekphillips+D at gmail.com>:
> After reading Kagamin's response, I'm not sure I understand you still. You want to have code reuse, you want to have run-time and compile-time configuration, but you don't want to make use of the technologies/techniques/patterns which facilitate these.

I'm not sure are you referring 'technologies/techniques/patterns' to
code reusability or configuration. If the first one, read one. If
second, i don't know which techniques/patterns you are talking about.
version() doesn't match for me here i think.

> You say no to libraries

That's not true! I'm not sure how did you came up to this conclusions,
but i love libraries for applications same as command-line programs
(like ffmpeg) for GUI apps.


>, you say no to frameworks,

That's true i don't really like frameworks, but only because i felt
like they're trying to be irreplaceable. If you're using one part,
it's hard to make other parts they implemented in your own way (so
they're too tightly integrated). Maybe i just tried wrong ones, i
don't know. Libraries on the other hand, let you compose your program
from solutions i like most, and that's why i'm trying to do this clear
division between interface and implementation. So i can use different
specialized libraries, and later make my own, so if someone likes my
entity system he doesn't have to use my poor renderer. So hopefully i
won't end-up with some big chunk of code as ogre3d.

> you say no to versioning and desire the benefits of these without what they entail. If you come up with an alternative, then please do bring it forward. I don't see how anyone will be able to get you what you want.

I like version control, and that's why i'm using one (git), even if i
don't really need to operate with someone because of current project
phase. Versions we're talking about are rather like compilation
profiles, so you can use different sets of libraries to try different
implementations without code modification. So, in one moment there
would be code for many alternative implementations, and versions would
affect only resulting binary which isn't commited at all.


More information about the Digitalmars-d-learn mailing list