On 07-Aug-2015 08:08, Rikki Cattermole wrote:
On 7/08/2015 10:48 a.m., Tofu Ninja wrote:
On Thursday, 6 August 2015 at 06:30:06 UTC, Rikki Cattermole wrote:
Here is what we need to do going forward (beyond what me and Manu are
doing):

1. Derelict-Util needs to be put into Phobos. This is not optional
2. Derelict-GL3 needs to be put into Phobos. Optional, but might be a
damn good idea!
3. Windows API needs to be moved into either Phobos or druntime. Not
optional.
4. X11 bindings added to Phobos. Not optional.
5. Cocoa bindings added to Phobos. Not optional.

This all needs to happen _before_ we start working on a window library
for Phobos.
Let alone a GUI.

We're mostly got problems with Cocoa. X11 bindings just need to be
changed to dynamically bound.

Windows API bindings if gone into druntime wouldn't need to go through
the review cycle luckily. But would need some decent review on e.g.
Github.

I really feel like D needs to get over it's "not invented here"
syndrome, a much easier path would to just use a pre existing cross
platform windowing library. Its laughable that the people in D want to
reinvent this stuff. It's been done, just use the already working
version! Why have all this great c and c++ interop if we never use it.


Both are good ways. From what I see e.g. this attempts to add STL bindings to druntime:
https://github.com/D-Programming-Language/druntime/pull/1316

D brings enough to the table to warrant re-writing most of libraries. The result typically is smaller, faster and more general, of course, it still depends on author's skill. It's important to pick battles though, there are thousands of good libraries already out there.

I have the same gripe with how the experimental.image is doing image
loading/saving, there are plenty of already existing image libraries
that already support every image format you could ever dream of. Just
use them, they will work 1000x better than any reinvention that we do
here.

Ok, here is what I'm willing to do.
If you are willing to get Derelict-Util into Phobos and create the
bindings for what ever (appropriate) c-library. I'm willing to create
the wrappers around it to make it work with the interfaces.


Not likely to happen (soon). Nice loaders for shared libraries are something that Druntime would very much need, not sure if there is something else in Derelic-Util.

My intention was these to become third party libraries via dub.

Please understand that I want a reasonable experience out of the box and
not have the same situation we currently have with zlib/curl.

Truth be told if we were willing to walk extra mile we'd have proper curl/zlib experience. But linking problems plague std.net.curl usage and both libs are permanently somewhat out of date.

Which
means we do need 1 or 2 image file format implementations and per
platform a single window/context implementation. It doesn't have to be
flash or highly customizable. But it does need to work for most people.


--
Dmitry Olshansky

Reply via email to