September 25, 2014
On 9/25/2014 2:27 AM, Walter Bright wrote:
> Looks like he reinvented D dynamic arrays at 1:02. Sigh.

At 1:16 he gives credit to Go for the -> and . becomes . thing. Says its great.

And he wants:

* D array declaration syntax.

* consistently sized integer types

* user defined attributes.

* multiple files compiled at once.

* permissive license.

* nested comments

* no preprocessor

* insert files into the source code (mixins)

* compile time function execution

And ...

    ... he's specified D!
September 25, 2014
Would just like to remind you all that he's trying to foster conversation rather than declare "this is the most perfect language ever". A lot of his ideas don't hold water in their current form but I'm sure D wasn't designed in a 2 hour live stream :). I'm personally really excited at the prospect of some momentum in a language designed specifically for games engineers.

D is really great and solves a lot of the issues raised in the video. A lot of D's features (GC in particular) become ugliness you've got to avoid. In addition all the @nogc, nothrow, pure, etc. becomes crufty.

I quite like the idea of "simple by default" and you enable features with annotations (@usegc, @throws, @pure).
September 25, 2014
On Thu, 25 Sep 2014 10:46:59 +0000
currysoup via Digitalmars-d <digitalmars-d@puremagic.com> wrote:

> I quite like the idea of "simple by default" and you enable features with annotations (@usegc, @throws, @pure).
"@usegc" will be major PITA. for example any function that does string concatenation or format() will need this annotation. i see GC as intergal and widely-used part of language, so "@nogc" is ok.

what we need though is "@gc" to allow things like this:

  @nogc:
    void foo () { ... some no-gc code ... }
    void bar () @gc { ... some gc code ... }

to be able to mark the whole part of the code as @nogc but still allow to write one or two @gc functions by the way.

ah, and the same for 'final'.

sure one can just move necessary definitions to top of the file (i.e. they will appear before "@nogc:"), but this will hurt code readability.


September 25, 2014
On Thursday, 25 September 2014 at 09:16:27 UTC, Walter Bright wrote:
> So how do you tell it to call myfree(p) instead of free(p) ?

Maybe stock malloc/free is enough for him?
September 25, 2014
On Thursday, 25 September 2014 at 10:47:00 UTC, currysoup wrote:
> D is really great and solves a lot of the issues raised in the video. A lot of D's features (GC in particular) become ugliness you've got to avoid. In addition all the @nogc, nothrow, pure, etc. becomes crufty.

I'd say nothrow and pure are of marginal utility. @nogc can be just

 @nogc:

at the top of a module. And the last piece is libraries.
September 25, 2014
On Thursday, 25 September 2014 at 09:58:31 UTC, Walter Bright wrote:
> On 9/25/2014 2:27 AM, Walter Bright wrote:
>> Looks like he reinvented D dynamic arrays at 1:02. Sigh.
>
> At 1:16 he gives credit to Go for the -> and . becomes . thing. Says its great.
>
> And he wants:
>
> <snip>
>
> And ...
>
>     ... he's specified D!

Almost, but he also wants a language with the "Worse is Better" philosophy.

D does not have this, and I don't think we want it.
September 25, 2014
On Thursday, 25 September 2014 at 11:30:16 UTC, ketmar via Digitalmars-d wrote:
> On Thu, 25 Sep 2014 10:46:59 +0000
> currysoup via Digitalmars-d <digitalmars-d@puremagic.com> wrote:
>
>> I quite like the idea of "simple by default" and you enable features with annotations (@usegc, @throws, @pure).
> "@usegc" will be major PITA. for example any function that does string
> concatenation or format() will need this annotation. i see GC as
> intergal and widely-used part of language, so "@nogc" is ok.
>
> what we need though is "@gc" to allow things like this:
>
>   @nogc:
>     void foo () { ... some no-gc code ... }
>     void bar () @gc { ... some gc code ... }
>
> to be able to mark the whole part of the code as @nogc but still allow
> to write one or two @gc functions by the way.
>
> ah, and the same for 'final'.
>
> sure one can just move necessary definitions to top of the file (i.e.
> they will appear before "@nogc:"), but this will hurt code readability.

I wasn't talking about D, just in general.
September 25, 2014
On Thu, 25 Sep 2014 12:16:16 +0000
currysoup via Digitalmars-d <digitalmars-d@puremagic.com> wrote:

> I wasn't talking about D, just in general.
sorry, it's my frustration speaks. ;-)


September 25, 2014
On 9/25/14, 4:33 AM, Kagamin wrote:
> On Thursday, 25 September 2014 at 09:16:27 UTC, Walter Bright wrote:
>> So how do you tell it to call myfree(p) instead of free(p) ?
>
> Maybe stock malloc/free is enough for him?

That kind of commitment shouldn't be baked into the language. That's why RAII and scope are better than his notation. -- Andrei

September 25, 2014
On Thursday, 25 September 2014 at 13:57:17 UTC, Andrei Alexandrescu wrote:
> On 9/25/14, 4:33 AM, Kagamin wrote:
>> On Thursday, 25 September 2014 at 09:16:27 UTC, Walter Bright wrote:
>>> So how do you tell it to call myfree(p) instead of free(p) ?
>>
>> Maybe stock malloc/free is enough for him?
>
> That kind of commitment shouldn't be baked into the language. That's why RAII and scope are better than his notation.

Allocation is orthogonal to RAII and scope. Allocation creates resource, RAII tracks it.