D has become unbearable and it needs to stop
Dmytro Katyukha
firemage.dima at gmail.com
Mon Jul 3 13:59:56 UTC 2023
On Monday, 3 July 2023 at 11:35:41 UTC, GrimMaple wrote:
> On Monday, 3 July 2023 at 03:12:36 UTC, Walter Bright wrote:
>
>> I have some frustrations, too - how can we focus just on bug
>> fixes while implementing new features at the same time?
>
> Who asked for those features in the first place? Eg. who asked
> for ImportC? Are you even sure those new features are needed?
>
>> I would like to work on the problems you're experiencing, but
>> it would be nice to have a specific list.
>
> This entire thread is a list of problems, yet your only
> response is "Do it yourself". So I'm not buying this "I would
> like to work on the problems you're experiencing".
Why so many hate for ImportC? I am waiting when it will be ready
and supported by LDC, thus i will be able to use some C libraries
without pain.
For example, it took too much time to understand how to generate
(and then manually process) D definitions for such simple library
as [libzip](https://github.com/katyukha/dlibzip). I am waiting
when ImportC will be supported by LDC, and then i will be able to
use it for example for this wrapper around libzip
(https://github.com/katyukha/Zipper).
Also, i want to use D to create some internal service to parse
git repositories (few hundreds repos), and for this reason i want
to use libgit2 C library. But without ImportC ready, i do not
want to even try to manually generate D bindings for for that. I
have seen and tried to use
[libgit2](https://github.com/s-ludwig/libgit2) D bindings, even
added there 1 PR. But currently, i see that without ImportC, it
will be impossible to maintain such kind of bindings with
reasonable (for me) efforts. Especially, taking into account
different versions of libgit2.
Thus i think, ImportC is important feature that could
significantly boost D ecosystem.
Also, i want to create libpq wrapper for postgresql database
similar for python's psycopg (no classes, only ref-counted
structs, no integrated orm, just simple and reliable library).
But the only thing that stops me to start work on it (except
time) is that ImportC is not ready yet (not supported by LDC and
has some bugs). I will not even try to start work on such
projects without ImportC.
So, please, stop hate ImportC.
---
In case of LTS, i support that D needs some kind of LTS release,
or at least keep backward compatibility as much as reasonably
possible. But, i think, that before starting of LTS, at least
following features have to be completed (no need to use -preview
to enable them):
- DIP1000 support
- ImportC
- Preview In (good to have, but not necessary)
- Something other that is partially ready and may be necessary
for D ecosystem.
I think that, things that have to be backported to (or may be
forwardported from) LTS release must include:
- regressions
- critical bugfixes
- bugfixes that require reasonable amount of work to backport.
- possibly some deprecation warnings (i think it is good to know
that some feature will be removed as early as possible).
- possibly some safe (fully backward-compatible features that
require reasonable amount of work to backport).
In case of reasonable amount of work, i mean: why not to backport
fix/feature if it could take not more then few hours.
More information about the Digitalmars-d
mailing list