December 19

On Tuesday, 19 December 2023 at 14:09:35 UTC, GrimMaple wrote:

>

When someone says "My phone's battery is dead", do you reply to them "you are exaggerating, it still has 1% left, it's only dead when it's 0%"?

The difference is that this forum is full of language enthusiasts. Criticising the language here, whether for sound reasons or not, is always more or less difficult to read. This doesn't mean we have to pretend there aren't problems when there are, but it does mean that dramatising the issues beyond what they actually are stris people for no benefit for anyone.

>

So, I will reiterate: what would it take you to admit that D is more dead than alive and that something must be done about it?

Why would I do that? It's clear that the leadership is, in general, trying. Granted, Walter is stubborn about some issues and in most of them I tend to agree with "the crowd", which I maybe could bring up a bit more often. But in general, what would me complaining that "D is failing" without any concrete improvement ideas gain? I think they're already aware of D's position in, say, the TIOBE index, and more than enough people are reminding them about that already.

Or are you referring to my earlier comment that D should stay both a systems and an application programming language? That much opinion I do have that if we're to try something random to the language because nothing else is working, we shouldn't start by killing our existing unique selling points.

I think you might just feel that we don't believe you're having real problems. I do believe that, and even that say C# can well work better for you than D. Because we do like the language, and are just people, it's true that we're reluctant to admit even the actual problems, and that can come out as unsymphatetic towards those who bring those up. But making lots of angry noises about the issue only makes the situation worse.

December 19

On Tuesday, 19 December 2023 at 15:14:00 UTC, jmh530 wrote:

>

Most DIPs take longer than 3 months to get approved and language changes in other languages don't typically move that fast either (which isn't to say that D shouldn't try to move faster than other languages).

This needs to be corrected for D to thrive.

>

For some mir packages (no idea if this is a problem more generally), code.dlang.org won't catch updated tags without a force update. No idea why.

Yeah, I think it does it in order on a timer and it just runs out of time and starts over from the beginning or something. dub needs a lot of work, no part of it actually works well.

(thankfully, you can be perfectly productive in D never using it!)

>

I'm also confused why we can't come to some kind of agreement on issue 23479 [1]. That played out back in February and has been crickets since then.

Yeah, same root problem, as stalled PRs.

December 19

On Tuesday, 19 December 2023 at 15:33:05 UTC, Dukc wrote:

>

On Tuesday, 19 December 2023 at 14:09:35 UTC, GrimMaple wrote:

>

[...]

The difference is that this forum is full of language enthusiasts. Criticising the language here, whether for sound reasons or not, is always more or less difficult to read. This doesn't mean we have to pretend there aren't problems when there are, but it does mean that dramatising the issues beyond what they actually are stris people for no benefit for anyone.

[...]

One problem is here for fix the problems, some breaking changes are needed, which would make people just re-code same thing again and again. So I think we need to have some roadmap and list of possible breaking changes (so developers who dont want to re-code can avoid using such features).

December 19

On Tuesday, 19 December 2023 at 14:57:00 UTC, Hors wrote:

>

On Tuesday, 19 December 2023 at 14:28:15 UTC, Luna wrote:

>

Additionally, I feel all these discussions about "D is dead, what should we do" is a waste of air. If you want D to be more active, contribute to the ecosystem, make PRs to projects so that we don't have so many one-man-operations going on. Not to mention an increase in financial support to D developers working on the ecosystem, such as WebFreak making code-d, dub developers, etc, would also increase activity within the D ecosystem.

"contribute to the ecosystem" is really unclear. What we can actually contribute, new libraries? Changes to language? If it's changes to language, then what we can add (or rework) to the language?

I feel tempted to repost this:
https://dl.acm.org/doi/10.1145/2509136.2509515

In absence of new evidence, we should assume nothing makes as much difference as open-source libraries. The same paper says that the language features matter less so. So it's not very moving when people talk about languages or stdlib features on these forums, understandably the focus as a language community, but still.

So this library-first strategy is exactly what Grim is/was going on about with DlangUI, as it's a library packed with features that can make a large difference for D. The examples are very impressive!

How do we leave the state where it's a ton of work for a few people?
I think I may have a solution there for large frameworks:
https://dplug.org/tutorials/Dplug%20Tutorials%2016%20-%20Dplug%20architecture%20and%20D%20ecosystem.pdf

People that like to build :) can design more of their sub-libraries to be reusable for others, hence sharing a maintenance load more. It's a bit hindered by the various fragmentation factors ("is there a runtime? a GC? a libc?").

The problem is that traditionally library design in D follows the STL bottom-up STL Stepanov-style, but we should really make domain-specific libraries that follows the good practices of popular C libraries. That also, would be evidence-based.

December 19

On Tuesday, 19 December 2023 at 15:33:05 UTC, Dukc wrote:

>

The difference is that this forum is full of language enthusiasts. Criticising the language here, whether for sound reasons or not, is always more or less difficult to read. This doesn't mean we have to pretend there aren't problems when there are, but it does mean that dramatising the issues beyond what they actually are stris people for no benefit for anyone.

Why would I do that? It's clear that the leadership is, in general, trying. Granted, Walter is stubborn about some issues and in most of them I tend to agree with "the crowd", which I maybe could bring up a bit more often. But in general, what would me complaining that "D is failing" without any concrete improvement ideas gain? I think they're already aware of D's position in, say, the TIOBE index, and more than enough people are reminding them about that already.

Or are you referring to my earlier comment that D should stay both a systems and an application programming language? That much opinion I do have that if we're to try something random to the language because nothing else is working, we shouldn't start by killing our existing unique selling points.

I think you might just feel that we don't believe you're having real problems. I do believe that, and even that say C# can well work better for you than D. Because we do like the language, and are just people, it's true that we're reluctant to admit even the actual problems, and that can come out as unsymphatetic towards those who bring those up. But making lots of angry noises about the issue only makes the situation worse.

My opinion has now for several years been that D must be forked because there are a lot of people that wants D to progress and catch up. Walter is a no sayer that puts Linus Torvalds to shame which makes D just sitting without any progress. It is time to part from this management and continue with people who are tired of being blocked by often strange decisions that are rooted from some stigma from the 80s. It's sad really but it is the truth. It is time to move on.

December 19

On Tuesday, 19 December 2023 at 14:17:41 UTC, Luna wrote:

>

All the software my company (Kitsunebi Games) and my main project, Inochi2D, is written in D.

I am currently also speccing out a new UI toolkit for use in the Inochi2D project with a more modern look, working on a library to make DLang usable without a GC while still maintaining support for classes and such to make D libraries more usable outside of D, and such.

Inochi2D is also by extension bringing new blood in to the D community through people interested in contributing to the project, as well as people getting interested in D by extension of Inochi2D being written in D. And as it stands unless Walter does something really stupid with the language I do not intend switching away from D.

This is the way. When you write useful stuff for yourself, other people find it useful. D is probably one of the only languages where a small team (even a team of 1) can produce insanely good and useful libraries.

I personally wish I could do more, but have not too much time to spend on my open-source projects. I'm sure they seem dead, but I'm always thinking about them...

>

That being said I do sometimes feel like I need to maintain my own corner of the D ecosystem due to the lack of well maintained libraries, but hopefully the new blood joining through the Inochi2D community will help maintain all the libraries and apps I'm creating, heh.

I hope so. I think what might happen at some point is we get a set of "blessed" libraries that everyone uses, such that we have a robust ecosystem. I'd rather have this grow organically than be anointed by some important people.

One interesting study would be to look at the various libraries out there, and see which replace or supersede phobos. For example, you don't see a lot of std.algorithm replacements. This is probably a good indication that it's a solid piece. But we have like 15 json libraries...

I don't think I'll ever give up on D either. Just the power you can wield with so little effort is going to keep me here.

Anyway, back to lurking, everyone keep getting your whining out on D, and I can blissfully ignore.

-Steve

December 19
On Tue, Dec 19, 2023 at 05:36:51PM +0000, Steven Schveighoffer via Digitalmars-d wrote:
> On Tuesday, 19 December 2023 at 14:17:41 UTC, Luna wrote:
> > 
> > All the software my company (Kitsunebi Games) and my main project,
> > Inochi2D, is written in D.

Awesome!


> > I am currently also speccing out a new UI toolkit for use in the Inochi2D project with a more modern look, working on a [library](https://github.com/Inochi2D/numem) to make DLang usable without a GC while still maintaining support for classes and such to make D libraries more usable outside of D, and such.
> > 
> > Inochi2D is also by extension bringing new blood in to the D community through people interested in contributing to the project, as well as people getting interested in D by extension of Inochi2D being written in D. And as it stands unless Walter does something really stupid with the language I do not intend switching away from D.
> 
> This is the way. When you write useful stuff for yourself, other people find it useful. D is probably one of the only languages where a small team (even a team of 1) can produce insanely good and useful libraries.

I heard Lisp can do that too. Whether that's a good thing or not, is up for debate. :-D


> I personally wish I could do more, but have not too much time to spend on my open-source projects. I'm sure they seem dead, but I'm always thinking about them...

I'm also still using D, and don't plan to switch away in the foreseeable future.  In spite of its flaws, it's still the least painful language for me to use right now.


> > That being said I do sometimes feel like I need to maintain my own corner of the D ecosystem due to the lack of well maintained libraries, but hopefully the new blood joining through the Inochi2D community will help maintain all the libraries and apps I'm creating, heh.
> 
> I hope so. I think what might happen at some point is we get a set of "blessed" libraries that everyone uses, such that we have a robust ecosystem. I'd rather have this grow organically than be anointed by some important people.

Yeah that's what we need.


> One interesting study would be to look at the various libraries out there, and see which replace or supersede phobos. For example, you don't see a lot of std.algorithm replacements. This is probably a good indication that it's a solid piece. But we have like 15 json libraries...

I'm a heavy Phobos user, and std.algorithm / std.range are among the best parts of Phobos.  Among the better modules are std.datetime, std.path, std.bigint, std.regex (I'm a regex addict). std.process is awesomely convenient for dealing with processes; one of the better-designed APIs in Phobos IMO.  std.math / std.numeric are pretty standard, with a few nice things in there, though there's that strangeness with real vs. double. std.stdio is also pretty standard, but could be improved (replace with I/O pipes?). I'm addicted to std.format for its convenience but the implementation really could use some improvement, same goes for std.conv. std.uni's implementation could also use some improvement, but what's there is pretty serviceable for dealing with Unicode (main missing features: Unicode line-breaking algorithm and grapheme width -- I have an incomplete implementation of the latter but never got around to finishing it).

std.meta / std.traits / std.typecons are good for metaprogramming, though there are some weird bits.

Other parts of Phobos are meh, like std.container (I use it from time to
time but the API is klunky and rough around the edges), std.digest
(never used it, kinda random why it's in Phobos), std.encoding (hardly
ever use it), std.experimental (when it is coming out of deep freeze?),
std.json (meh), std.xml (bleh).  std.getopt gets the job done, but has
weird differences with standard Posix getopt() for no good reason, which
made me write my own getopt on at least 3 separate occasions.
std.signals - never used it, std.socket (meh), std.bitmanip (sometimes
useful), std.base64 (kinda random, used it once or twice but that's
about it -- honestly could just go in a dub library), std.csv (meh - my
fastcsv alternative runs way faster, though with no validation).
std.net.curl - weird API, std.net.isemail - seems like a totally random
thing to put in Phobos.  A lot of this stuff honestly could do better as
dub packages / external repos.


> I don't think I'll ever give up on D either. Just the power you can wield with so little effort is going to keep me here.
[...]

D has completely ruined me. After tasting its metaprogramming power (I wrote my own boilerplate-less serialization in a couple o' weeks, where in C++ I would've taken months with LOTS of nasty boilerplate), I just can't go back to any other language anymore.  Every time I'm forced to code in another language I find myself wishing for this or that D feature that isn't in that language. And the more I have to write non-D code the more I chafe inside and feel like I wanna just throw out what I wrote and rewrite it better in D.  I've been wrecked. (And I love it! :-D)


T

-- 
Turning your clock 15 minutes ahead won't cure lateness---you're just making time go faster!
December 19
On 12/19/2023 7:14 AM, jmh530 wrote:
> I'm sympathetic to your frustrations on the string interpolation DIP (I don't know anything about the other one you mention).

I reviewed the DIP, and was informed the DIP had little to do with the implementation. I have asked for a specification of the actual implementation, and was told to read the the code.

My experience with specifications is that implementing them results in discovering all kinds of oversights and errors in the specification. Implementing it first and then writing a specification reveals all kinds of shortcomings in the implementation.

I'll review the proposal again when there's a specification for it. In the meantime, there is a competing proposal with specification and implementation to compare:

https://github.com/dlang/dmd/pull/15722


> No doubt that DIP will be an uphill battle with Walter.

I'll reserve judgement on that until there is a specification.


> I'm also confused why we can't come to some kind of agreement on issue 23479 [1]. That played out back in February and has been crickets since then.
> 
> [1] https://issues.dlang.org/show_bug.cgi?id=23479

This is because there are people who have .h files mixed in with their .d files along the import search path, and the resulting confusion about which file gets imported.
December 19
On 12/19/2023 6:57 AM, Hors wrote:
> "contribute to the ecosystem" is really unclear. What we can actually contribute, new libraries? Changes to language? If it's changes to language, then what we can add (or rework) to the language?

Anywhere you want to.

People often ask me what they can do to help. I give them 10 options. They inevitably choose option 11, the one that they really want to do.

It's all about what itch you want to scratch.

December 19

On Tuesday, 19 December 2023 at 16:59:21 UTC, IGotD- wrote:

>

My opinion has now for several years been that D must be forked because there are a lot of people that wants D to progress and catch up.

  • So why is there no language forks? Maybe they are existed, but I have never heard about them.
  • What features should be added to a derived language, in your opinion?