dsq-1: open-source software synthesizer

Rikki Cattermole via Digitalmars-d-announce digitalmars-d-announce at puremagic.com
Wed Apr 1 04:54:52 PDT 2015


On 1/04/2015 11:07 p.m., Sönke Ludwig wrote:
> Am 01.04.2015 um 11:33 schrieb Rikki Cattermole:
>> On 1/04/2015 10:28 p.m., Sönke Ludwig wrote:
>>> Am 30.03.2015 um 08:34 schrieb Rikki Cattermole:
>>
>> snip
>>
>>>> Yeah, the vibe.d/dub guys are amazing at getting stuff working. But
>>>> horrible at abstraction's especially with library code.
>>>>
>>>
>>> Okay.
>>
>> Nobody can be the best at everything. So it was a compliment :)
>> You've done an excellent job with them.
>> And by the looks of things, you are now splitting up e.g. vibe.d So
>> again its mostly past tense observation on that front.
>>
>> I'm kinda the opposite. Great at abstractions. Horrible at getting the
>> damn thing working.
>
> I personally usually stay away from using overly strong terms like
> "horrible" for online conversations, because it's just far too likely
> that someone gets offended (I'm usually a fan of good irony for example,
> but almost never use it online).

I agree, I was quite extreme. In reality we're only talking in shades of 
grey with a difference of maybe 5 (0 .. 255).

There is a reason why most people IRL think I'm a jerk. Always take 
stuff like this with a grain of salt. It's only meant to make people 
think about the subject, not as a factoid.

> On topic, I don't think that splitting up the library or not does
> necessarily have anything to do with abstraction. The library is built
> in a modular way, so that splitting it up mainly just becomes an issue
> of the build configuration. If you have other examples of where you
> think the abstractions are lacking, I'd be interested to know of course.

If I was to start doing it, Vibe.d would be next to useless. No you guys 
are doing a wonderful job. I really can't stress that enough.

> I generally value good abstraction as important, but that doesn't always
> mean that the most extreme abstraction is the best one. Abstraction
> comes at the cost of added complexity (on the library side, but more
> importantly on the user side) and sometimes at the cost of performance,
> so it's always a trade-off.

There are more types of abstractions than just classes vs interfaces. 
What goes into a module for example is a prime example of an 
abstraction. A purpose.



More information about the Digitalmars-d-announce mailing list