October 22, 2017
On Sunday, 22 October 2017 at 15:07:10 UTC, meppl wrote:
> On Wednesday, 18 October 2017 at 08:56:21 UTC, Satoshi wrote:
>
>> syntactic sugar for:
>> tuples
>
> as far as i know there was the will to implement tuples in the language, but there is still a deprecation in the way:
> https://dlang.org/deprecate.html#Using%20the%20result%20of%20a%20comma%20expression

oh, i was wrong. after testing it i noticed "Using the result of a comma expression" doesnt work anymore.
October 22, 2017
On Saturday, 21 October 2017 at 21:31:45 UTC, Walter Bright wrote:
> On 10/21/2017 1:40 PM, Adam Wilson wrote:
>> Walter has stated numerous times both here and at conferences that Async/Await is definitely a goal.
>
> Async/Await can be implemented by rewriting ("lowering") the code to simpler D code. Implementing it awaits (!) figuring out just what those rewrite rules are.

Wow - great news.

I hope resumable functions for for generator/coroutine style usage are also part of the plan. Allocator support would be nice too.
October 23, 2017
20.10.2017 17:46, Martin Nowak пишет:
> On Thursday, 19 October 2017 at 06:50:12 UTC, Fra Mecca wrote:
>> We miss a build system that is tailored towards enterprises
> 
> Anything more specific on that?
> 
My 2 cent:
1. dub needs ability to work with other repository than standard ones.
2. multicore building - entire project in D builds faster than C++ one (I have two implementation of the same), but in case of incremental building C++ faster.
3. dub single build mode does not caches builds so it builds entire project every time.
October 23, 2017
On Wednesday, 18 October 2017 at 08:56:21 UTC, Satoshi wrote:
> [...]

The language for sure is huge and complicated and adding new features will only make it grow bigger. I'm not saying we shouldn't add any new features. It is important to have the right defaults to gain the critical mass for the momentum to reach the next level.

I've been playing with D and most of the times I look for the idiomatic way of doing things in D rather than bringing my Java/C++ baggage with it.

p0nce's d-idioms[1] is excellent, but is still not enough. We should have more like it (and better).

Without the libraries like Boost and Qt, and ideas from books like Effective C++ series, Modern C++ design, etc it was once impossible for "humans" to write maintainable code in C++03. C++11/14 improved it a bit.

D is brilliant in many ways:

1. has the best C++ interfacing

2. very easy to write and reason about

Found this gem when reading Phobos

```
import std.algorithm, std.range, std.stdio;

void main()
{
    enum size = 500;
    writef("P5\n%d %d %d\n", size, size, ubyte.max);

    iota(-1, 3, 2.0/size).map!(y =>
        iota(-1.5, 0.5, 2.0/size).map!(x =>
            cast(ubyte)(1+
                recurrence!((a, n) => x + y*1i + a[n-1]^^2)(0+0i)
                .take(ubyte.max)
                .countUntil!(z => z.re^^2 + z.im^^2 > 4))
        )
    )
    .copy(stdout.lockingBinaryWriter);
}
```

Such code should be on the front page to "market"

3. human readable std lib (unlike libstdc++)
4. Some features are very well thought and well designed, but some are not
5. TMP for humans

The community lacks language theory expert (purist?). (Rust community has the maximum, if I'm correct).
October 23, 2017
On Wednesday, 18 October 2017 at 08:56:21 UTC, Satoshi wrote:
> Hi,
> I had been using D for almost 6 years and I want to share my opinion with you.
> I don't want to blame anyone but I'll focus more on bad things and possible improvements.
> And this is just how I see D from my perspective.
> (Sorry for my English, I'm too lazy to take the lessons).
>
> [...]

Whats about this one?

auto foo = 42;
auto bar = "bar";
writeln(`Foo is {foo} and bar is {bar}`);

October 23, 2017
On Monday, 23 October 2017 at 09:13:45 UTC, Satoshi wrote:
> On Wednesday, 18 October 2017 at 08:56:21 UTC, Satoshi wrote:
>> Hi,
>> I had been using D for almost 6 years and I want to share my opinion with you.
>> I don't want to blame anyone but I'll focus more on bad things and possible improvements.
>> And this is just how I see D from my perspective.
>> (Sorry for my English, I'm too lazy to take the lessons).
>>
>> [...]
>
> Whats about this one?
>
> auto foo = 42;
> auto bar = "bar";
> writeln(`Foo is {foo} and bar is {bar}`);

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

Requires someone to write this up as a DIP.
October 23, 2017
On Monday, 23 October 2017 at 06:05:50 UTC, drug wrote:
> 20.10.2017 17:46, Martin Nowak пишет:
>> On Thursday, 19 October 2017 at 06:50:12 UTC, Fra Mecca wrote:
>>> We miss a build system that is tailored towards enterprises
>> 
>> Anything more specific on that?
>> 
> My 2 cent:
> 1. dub needs ability to work with other repository than standard ones.

You can use "preGenerateCommands", "postGenerateCommands", "preBuildCommands" or "postBuildCommands", then simply have some shell script to invoke that performs what you need with other eco systems.

October 23, 2017
On 23/10/2017 10:58 AM, bauss wrote:
> On Monday, 23 October 2017 at 06:05:50 UTC, drug wrote:
>> 20.10.2017 17:46, Martin Nowak пишет:
>>> On Thursday, 19 October 2017 at 06:50:12 UTC, Fra Mecca wrote:
>>>> We miss a build system that is tailored towards enterprises
>>>
>>> Anything more specific on that?
>>>
>> My 2 cent:
>> 1. dub needs ability to work with other repository than standard ones.
> 
> You can use "preGenerateCommands", "postGenerateCommands", "preBuildCommands" or "postBuildCommands", then simply have some shell script to invoke that performs what you need with other eco systems.

"other repositories" here probably means other than github, bitbucket and gitlab. Which isn't actually part of dub in the first place!

October 23, 2017
23.10.2017 12:58, bauss пишет:
> On Monday, 23 October 2017 at 06:05:50 UTC, drug wrote:
>> 20.10.2017 17:46, Martin Nowak пишет:
>>> On Thursday, 19 October 2017 at 06:50:12 UTC, Fra Mecca wrote:
>>>> We miss a build system that is tailored towards enterprises
>>>
>>> Anything more specific on that?
>>>
>> My 2 cent:
>> 1. dub needs ability to work with other repository than standard ones.
> 
> You can use "preGenerateCommands", "postGenerateCommands", "preBuildCommands" or "postBuildCommands", then simply have some shell script to invoke that performs what you need with other eco systems.
> 
Of course I can, I just tried to describe what meant `a build system that is tailored towards enterprises` for me.

Also such build system should provide a way to build C/C++ (and others) codebase or let other build systems build D codebase, using generated makefile for example.
October 23, 2017
On Monday, 23 October 2017 at 10:42:35 UTC, drug wrote:
> Also such build system should provide a way to build C/C++ (and others) codebase or let other build systems build D codebase, using generated makefile for example.

In fact dub can generate cmake files, more generators for e.g. ninja or meson could be added.