DerelictBgfx not shipping core libs.

olivier henley via Digitalmars-d digitalmars-d at puremagic.com
Thu Nov 6 11:12:35 PST 2014


On Thursday, 6 November 2014 at 12:31:32 UTC, Mike Parker wrote:

> First, let's get some terminology straight. There are no 
> "wrappers" in Derelict. The Derelict packages are all 
> "bindings," meaning they are one-to-one translations (as much 
> as possible) of the original library. A wrapper is something 
> that provides functionality on top of the binding and makes it 
> more like the host language.

Then I'm not the only one in need to be put straight:

"Binding generally refers to a mapping of one thing to another. 
In the context of software libraries, bindings are wrapper 
libraries that bridge two programming languages so that a library 
written for one language can be used in another language". 
(http://en.wikipedia.org/wiki/Language_binding)

> If I start shipping the C shared libraries for every binding in 
> Derelict, then,
>
> 1) I must consider all supported platforms (Windows, Mac, 
> Linux, FreeBSD, OpenBSD, and wherever people are using GDC and 
> LDC these days). Would I be expected to provide prebuilt 
> binaries for each platform?

1. Windows is a good start.
2. Nobody said you had to provide all of them.
3. We can help. Just myself, I could provide Linux and Windows. 
It makes for about 80% of all computers in the world.

> 2) I must also consider the multiple options each library can 
> be configured to support. For example, the Open Dynamics Engine 
> (to which DerelictODE binds) can be compiled to use doubles or 
> floats. Would I be expected to provide prebuilt binaries for 
> each?

Playing cat and mouse here. For a show case, a prototype or any 
other normal use, nobody cares if its compiled to use doubles or 
floats. Choose doubles to stay on the safe side and the guy who's 
really needy for floats will roll his own build of ODE.

It's all common sense.

> I've been maintaining Derelict for 10 years. In all that time, 
> you are the first person to ever bring this up that I've seen. 
> That tells me that it's a non-issue.

1. Probably because most people outside the D enthusiasts just 
gave up.
2. Does someone recall a post where a D user advised, in essence, 
to not take the Derelict's path as it was much more involved than 
it may look... or am I fabulating here?

> Some C library projects provide prebuilt binaries, some don't. 
> It's entirely up to you to learn what you need to know about 
> the libraries you need to use, including how to get them. 
> Derelict just enables access.

I have noooooo problem building the original packages but I 
definitely prefer having sex with my girlfriend.

I just don't see the point to not share the most common target 
dependencies libs. Therefore the examples can run out of the box 
for most people and some super cool project can be show cased for 
D rapidly. This leads to hooking. That's it that's all and this 
is the key.

-"Check body, install dmd, install dub, install DerelictBgfx, 
build and run the examples. Bang! Now check the code how its lean 
and clean."
-"Wow, for sure my next rendering project will be in D dude!"

We need people to get hook. We need people to "feel" the 
productivity, the performance, the cleverness, the smoothness and 
clarity of D. There is many contender out there and the window of 
opportunity you have to sell your tech to someone is very thin. 
Look at what they did for the launch of Swift. Everyone I know 
wants to get a hand on the Bret Victor-ish demo. Is it core?.. 
nahh, it's a simple demo of what you can achieve. It makes you 
wonder and adhere and download.

Then, once hooked, new user will find the motivation that most of 
us on this forum share to rebuild ODE for the sake of having 
calculations done in floats and not doubles.

No, instead here we are shown no flexibility whatsoever in the 
name of the purity of what should be a proper packaging of an 
orthodox binding software layer... and the simple pretention to 
ask why it could not be done otherwise, like others did with 
sensible vision, slowly drift toward an unstable activity.

> I'm working on a comprehensive set of documentation for all 
> Derelict packages [2] that will be more friendly to those who 
> aren't sure what's going on

Good to hear.

olivier


More information about the Digitalmars-d mailing list