On Tuesday, 1 November 2022 at 16:52:34 UTC, bachmeier wrote:
> On Saturday, 29 October 2022 at 15:45:11 UTC, Ola Fosheim Grøstad wrote:
> On Saturday, 29 October 2022 at 14:43:54 UTC, bachmeier wrote:
> If you're changing the compiler to add a different GC strategy, you can add managed pointers.
I think you need more than this to do it well, in terms of system level programming.
You need to minimize thread-to-thread interference. You need to strengthen the type system and make better use of shared
. Turning D into a AoT Java/C# just begs the question "Why am I not using Java or C#?"
I was replying to someone claiming they couldn't write a new GC because they need managed pointers. I'm not going to take a position on whether that is sufficient, but if they have a fork, they can add them to the language and show the benefits.
Having gotten thoroughly sick of the general tone of too much of this forum, I've taken a many-day break from it.
But I looked in today and saw this thread. It confirmed my reason for taking the break, in spades.
I greatly admire what Theo de Raadt has achieved with OpenBSD, due to his own extraordinary technical talent and his ability to attract smart people who believe in his goals and approach. I do not admire de Raadt's nasty, condescending way of dealing with (mostly) innocent victims who post to misc@openbsd.org. But I do agree completely with de Raadt's Law for dealing with people who say "OpenBSD should really do X", which is "Send us a diff", usually followed by some variant of "or get lost".
I think a number of people complaining about aspects of D, real and imagined, should be made familiar with de Raadt's Law. They also should be reminded that this is an open source project, available to all of us free of charge. You can't behave like an aggrieved paying customer in this circumstance. The project was started by Walter and he continues to be the leader and major contributor. D would not exist without him. We are his beneficiaries. Those who have complaints, and especially those who state them rudely but don't contribute code because they don't "have the spare time" or just want someone else to do the work they won't, should not be taken seriously. Unless, of course, they've come up with a bolt-from-the-blue insight, which seems to be an exceedingly rare occurrence. What this amounts to is that I think Walter is too nice a guy; a little de Raadt (very little!) would be a big help.
Another issue is marketing. Talent for that is rare in great engineers. Wozniak was the technical smarts behind Apple as a startup, but Jobs had the marketing flare. A historically great combination. Andrew Kelley seems to be one of those rare people with both engineering and marketing talent, though it remains to be seen (when V1.0 finally happens) whether he's really a great engineering talent. Linus Torvalds is another, who gets attention by being outrageous. Richard Stallman is still another. Eccentric as he is, he has a powerful mind and makes a strong, clear argument for sharing and community. And even de Raadt knows how to reign in his nastiness in public and just lets us see how charming and brilliant he can be.
Walter admits he's not a good marketer. Perhaps he's right, though I've seen a number of his talks and thought they were quite good and entertaining. Walter is a classic great engineer; I've known a number of them over the years in places like MIT and BBN. Look up Frank Heart, Ray Tomlinson, Bob Kahn, Gerald J. Sussman and Tom Knight. None of them care or cared about marketing. Some would have been good at it if they had, some not.
There are a number of reasons why programming languages become hugely popular or not, but having an attention-getting advocate is clearly a huge plus. Walter's talents lie in engineering good compilers and in evolutionary language design. He's not Steve Jobs, or even Andrew Kelley. But he has produced a really fine piece of work, a clear improvement over C, with which I have a lot of experience (ever tried to write code on an overloaded Vax 780 running 4.3 BSD?), and I suspect, over C++, with which I have only a little experience, as well. Is it perfect? Of course not. Show me the perfect programming language. Whether it meets your expectations or not is your call. But I really think that this constant bitching about D, from people who are not putting their time where their mouth is, is beyond the pale.
And for the record, the D GC has simply not been a problem in my work with the language. And I would point out that the language makes it easy to avoid dynamic allocations where they would be undesirable (by using stack-allocated buffers, as occurs repeatedly in the C library, e.g., strncpy).