On Monday, 25 August 2014 at 16:26:19 UTC, ketmar via
Digitalmars-d wrote:
is to make this code fast. this requires very sofisticated
compiler
which can eliminate as much indirect calls as possible. that's
why we
have the ability to create non-virtual methods in languages
like D or
C++. "everything is object" is a nice concept, but it has it's
price.
You need whole program analysis to get the most out of it. Just
about everything can be replaced by LUTs or switches.
If you look at real code very little of the kind of dynamic
programs you write in languages like Python and Ruby actually are
dynamic in nature.
Sure, there are examples of the opposite, but I think that is
more in the line of "eclectic programming" than "useful
programming".
I think the whole separate compilation idea is going to be old
fashioned real soon now. It makes little sense to not have the
build system as a service run on a cluster and the program as a
database with builtin versioning.
Why recompile the whole file when only a tiny function should be
according to the dependencies?