On Thursday, 17 July 2014 at 11:15:10 UTC, Chris wrote:
On Thursday, 17 July 2014 at 09:57:09 UTC, currysoup wrote:
On Thursday, 17 July 2014 at 09:26:38 UTC, Chris wrote:
On Thursday, 17 July 2014 at 09:20:36 UTC, Russel Winder via Digitalmars-d wrote:
It appears still to be a general meme that performance required no GC and GC mean poor performance. The debate has been restarted on the Go mailing list under the banner "go without garbage collector". The
response to will Go remove the garbage collector was somewhat
unequivocal: nope.

That's good news in a way. If a big company accepts GC and the Go crowd go with it (pardon the pun), then it will find more acceptance (as Paulo pointed out in a different thread).

It's not about "acceptance", it's about the reality that a GC is not a universal solution to memory management.

Point taken. But as has been said before 90-95% of all apps can live happily with GC, and if you want, you can still go bare metal with D. The security GC offers should not be underestimated either. With "acceptance" I meant that people see "it cannot be that bad after all for *most* applications". The GC issue is often cited as a D-eal breaker. I understand that there are applications that need total control over the memory. But those apps have always been programmed in C or any other close-to-the-machine language, and even then programmers (in gaming for example) have to use additional tricks and hacks to squeeze out every little bit of performance. What D has to do is to facilitate control over the memory, but I still consider it a systems programming language due to the fact that it has many things to offer as regard the direct interaction with the machine that Java and C# don't. Can you write a device drive in Java, if yes, tell me how, I'm interested.

Easy, like in any language that offers FFI.

Expose a Driver class with native method declarations, whose implementation is written in Assembly.

The SquakVM used to drive SunSPOT devices had the device drivers written in Java.

There are quite a few other examples in the embedded market, like the MicroEJ platform.

That is no different from writing drivers in ANSI C, which provides zero features for hardware interaction.

--
Paulo

Reply via email to