On Thursday, 12 September 2013 at 06:58:53 UTC, Nick Sabalausky
wrote:
On Wed, 11 Sep 2013 08:57:59 +0200
"PauloPinto" <pj...@progtools.org> wrote:
On Tuesday, 10 September 2013 at 21:25:41 UTC, Walter Bright
wrote:
> On 9/9/2013 11:35 AM, Russel Winder wrote:
>> C++11 has revitalized C++ in ways that are only just
>> showing themselves.
>
> That's true.
>
>> This is a threat to D gaining traction.
>
> I'm less sure about that. I think it presents an opportunity
> for us. Driving the C++ resurgence is:
>
> 1. demand for high performance computing
>
> 2. turning back towards native languages
>
> 3. recognition of the value of functional-style programming
> techniques
>
> 4. recognition of the value of safety, encapsulation, etc.
Your 1-4 points are already covered by existing languages for
traditional line of business applications, specially given the
fact that even current VM based languages have native
compilers available.
Putted another way, how well do the 1 - 4 bullet points stand
against Java/C#/Scala/Clojure native compilers ?
Points #1 and #2 (performance computing and the draw towards
native
languages) are *both* about these two things:
A. Lack of the VM "middleman" sucking up resources.
B. Low-level capabilities.
The native compilers for VM languages (With the possible
exception of
C#) can only address point "A" at best. And even C# is a bit
awkward
at point "B".
Giving a VM language a native compiler is only going half-way.
The
language itself is geared towards, and therefore limited by,
the need
to be runnable in a VM. That places inherent limitations on the
potential benefits of native compilation. So while it's
technically
native-compiled, it's just bolted-on as an afterthought.
Just because I add a turbocharger to a sedan doesn't mean it's
comparable to a McLaren or a Bugatti.
I don't get the point, what there is VM like when I compile Java,
Scala, F#, C# native code?
How it is different from compiling Apple/Object/Turbo/Think
Pascal, Delphi, Modula-2, Modula-3, Ada, OCaml, Oberon, Haskell,
D, Go, Rust to native code?
There is no VM about it, other than implementation details.
Is the lack of access to processor resources what makes some of
them VM languages?
Then even ANSI C is a VM language, given that what gives the
language lower hardware access capabilities are all language
extensions.
--
Paulo