On Thursday, 11 December 2014 at 12:00:25 UTC, ketmar via
Digitalmars-d wrote:
On Thu, 11 Dec 2014 10:51:21 +0000
Tobias Pankrath via Digitalmars-d <[email protected]>
wrote:
>> Come on, that is not even a half decent analogy.
> it is. you can't see any uses of (semi)compiled module files
> (and i
> can; it's essential for component framework, for example). i
> can't see
> any uses of compiled binaries (i don't need that in component
> framework).
Actually I asked in this thread what the benefits are and the
only one that come up was improved compilation speed due to
caching of the lexing/parsing stage.
If you think it is a good idea for a component framework,
would you please explain how? Honest question.
the core of the component framework a-la BlackBox Component
Builder is
dynamic module system. this requires dynamic linker, and the
linker
must know alot about framework internals to be fast and usable.
with
precompiled modules which keeps symbolic information and ASTs
for
templates such linker can be written as independend module. you
don't
need to add hacks to runtime, to care about correct .so
building and
loading order and so on.
it's too long to explain in NG post. if you really interested
you can
take a look at BlackBox Component Builder itself, it's
open-source.
having ".sym" and ".cod" files are necessary to make such system
usable.
D has a great foundation to build component framework a-la BCB.
there
are *no* competitors for D here, and having such system can
boost D
popularity to the skies. BCB failed due to two strategic errors:
choosing Component Pascal as the system language (CP is great
language,
but the reality is that you cannot with with "pascal") and
resisting to
open-source the system until it was too late.
with "AST-companions" D is in position to occupy that niche. D
is
c-like, D has great metaprogramming abilities, D is
open-source. it's
doomed to win.
To be honest, with .NET Native and OpenJDK getting an AOT
compiler around the corner (Java 9 or 10 not yet decided) this
opportunity is already lost.
--
Paulo