Jump to page: 1 29  
Page
Thread overview
My Meeting C++ Keynote video is now available
Jan 13, 2019
Walter Bright
Jan 13, 2019
Bastiaan Veelo
Jan 13, 2019
Jon Degenhardt
Jan 13, 2019
Walter Bright
Jan 17, 2019
Tony
Jan 17, 2019
H. S. Teoh
Jan 14, 2019
Mike Franklin
Jan 14, 2019
Paul Backus
Jan 14, 2019
Walter Bright
Jan 14, 2019
Jacob Carlborg
Jan 16, 2019
Paolo Invernizzi
Jan 16, 2019
Paolo Invernizzi
Jan 16, 2019
Dejan Lekic
Jan 16, 2019
JN
Jan 14, 2019
Jacob Carlborg
Jan 14, 2019
Walter Bright
Jan 15, 2019
Jacob Carlborg
Jan 15, 2019
Walter Bright
Jan 15, 2019
Jacob Carlborg
Jan 16, 2019
Walter Bright
Jan 16, 2019
Nicholas Wilson
Jan 16, 2019
Walter Bright
Jan 16, 2019
Jacob Carlborg
Jan 16, 2019
Jacob Carlborg
Jan 14, 2019
Mike Franklin
Jan 14, 2019
aberba
Jan 14, 2019
JN
Jan 14, 2019
12345swordy
Jan 15, 2019
Atila Neves
Jan 15, 2019
Neia Neutuladh
Jan 15, 2019
welkam
Jan 15, 2019
12345swordy
Jan 16, 2019
Walter Bright
Jan 14, 2019
JN
Jan 14, 2019
bachmeier
Jan 14, 2019
bachmeier
Jan 14, 2019
Adam D. Ruppe
Jan 14, 2019
H. S. Teoh
Jan 14, 2019
Guillaume Piolat
Jan 14, 2019
H. S. Teoh
Jan 14, 2019
Ben Jones
Jan 14, 2019
Paul Backus
Jan 14, 2019
Neia Neutuladh
Jan 14, 2019
Andre Pany
Jan 14, 2019
Ben Jones
Jan 15, 2019
aliak
Jan 15, 2019
Paul Backus
Jan 15, 2019
aliak
B Revzin - if const expr isn't broken (was Re: My Meeting C++ Keynote video is now available)
Jan 16, 2019
John Carter
Jan 17, 2019
H. S. Teoh
Jan 17, 2019
Walter Bright
Jan 17, 2019
Meta
Jan 17, 2019
H. S. Teoh
Jan 17, 2019
bpr
Jan 17, 2019
Paul Backus
Jan 17, 2019
H. S. Teoh
Jan 18, 2019
Mark
Jan 18, 2019
H. S. Teoh
Jan 19, 2019
Mark
Jan 18, 2019
Paul Backus
Jan 17, 2019
Stefan Koch
Jan 17, 2019
H. S. Teoh
Jan 17, 2019
Stefan Koch
Jan 18, 2019
Jacob Carlborg
Jan 18, 2019
H. S. Teoh
Jan 18, 2019
Stefan Koch
Jan 18, 2019
Jacob Carlborg
Jan 18, 2019
Stefan Koch
Jan 18, 2019
Jacob Carlborg
Jan 17, 2019
Johannes Loher
Jan 18, 2019
Walter Bright
Jan 18, 2019
H. S. Teoh
Jan 18, 2019
Walter Bright
Jan 17, 2019
Walter Bright
January 12, 2019
https://youtube.com/watch?v=tcyb1lpEHm0

If nothing else please watch the opening story, it's true and quite funny :o).

Now as to the talk, as you could imagine, it touches on another language as well...


Andrei
January 12, 2019
On 1/12/2019 7:51 AM, Andrei Alexandrescu wrote:
> https://youtube.com/watch?v=tcyb1lpEHm0

Wonderful talk! The questions asked at the end were great, too.
January 13, 2019
On Saturday, 12 January 2019 at 15:51:03 UTC, Andrei Alexandrescu wrote:
> https://youtube.com/watch?v=tcyb1lpEHm0
>
> If nothing else please watch the opening story, it's true and quite funny :o).
>
> Now as to the talk, as you could imagine, it touches on another language as well...
>
>
> Andrei

Top notch, as usual.

Nice progression from “another language” through “the other language”, “d (other) language” to finally just “D language“ :-)

Bastiaan.
January 12, 2019
On 1/12/19 7:21 PM, Bastiaan Veelo wrote:
> On Saturday, 12 January 2019 at 15:51:03 UTC, Andrei Alexandrescu wrote:
>> https://youtube.com/watch?v=tcyb1lpEHm0
>>
>> If nothing else please watch the opening story, it's true and quite funny :o).
>>
>> Now as to the talk, as you could imagine, it touches on another language as well...
>>
>>
>> Andrei
> 
> Top notch, as usual.
> 
> Nice progression from “another language” through “the other language”, “d (other) language” to finally just “D language“ :-)
> 
> Bastiaan.

Glad you noticed. It was deliberate.
January 13, 2019
On Saturday, 12 January 2019 at 15:51:03 UTC, Andrei Alexandrescu wrote:
> https://youtube.com/watch?v=tcyb1lpEHm0
>
> If nothing else please watch the opening story, it's true and quite funny :o).
>
> Now as to the talk, as you could imagine, it touches on another language as well...
>
>
> Andrei

Very nice. I especially liked how design by introspection was contrasted with other approaches and how the constexpr discussion fit into the overall theme.

--Jon
January 12, 2019
On 1/12/2019 7:51 AM, Andrei Alexandrescu wrote:
> https://youtube.com/watch?v=tcyb1lpEHm0

One major takeaway is that the bugs/line are the same regardless of the language used. This means that languages that enable more expression in fewer lines of code result in fewer bugs for the same functionality.

Another way to look at that is when refactoring code, look for ways of reducing the line count.

It does not mean deleting comment lines, or putting several statements on one line. :-)
January 14, 2019
On Saturday, 12 January 2019 at 15:51:03 UTC, Andrei Alexandrescu wrote:
> https://youtube.com/watch?v=tcyb1lpEHm0

I especially like how design by introspection was contrasted with concepts and metaclasses, culminating in "We want to generate more smart code, not more boilerplate.  We want to generate code that matters." Indeed.  But what language features do we already have that are as "bo-riing" as concepts and metaclasses?

What I wonder is, with design by introspection and the right mix of other language features (e.g. `alias`, `alias this`, mixins, etc...), what traditional language features can be removed from the compiler and delegated to library facilities? For example,  https://theartofmachinery.com/2018/08/13/inheritance_and_polymorphism_2.html

Because design by introspection allows us to "assemble programs atomically", perhaps high-level language features like classes and interfaces can become obsolete, and the language itself can be reduced simpler primitives that don't require the overhead of a runtime.

Mike
January 14, 2019
On Monday, 14 January 2019 at 03:58:37 UTC, Mike Franklin wrote:
> What I wonder is, with design by introspection and the right mix of other language features (e.g. `alias`, `alias this`, mixins, etc...), what traditional language features can be removed from the compiler and delegated to library facilities? For example,  https://theartofmachinery.com/2018/08/13/inheritance_and_polymorphism_2.html
>
> Because design by introspection allows us to "assemble programs atomically", perhaps high-level language features like classes and interfaces can become obsolete, and the language itself can be reduced simpler primitives that don't require the overhead of a runtime.
>
> Mike

Scheme is probably the language that takes this idea of a minimal "core language" with powerful metaprogramming facilities the furthest, and the result is a fragmented ecosystem that makes writing portable, non-trivial programs close to impossible. (See "The Lisp Curse" [1].)

When something like an object system is made part of the language (or at the very least, the standard library), it becomes a focal point [2] that the community can coordinate around. Due to the diverse, distributed nature of any programming-language community, trying to coordinate through explicit communication is not really a viable option, so having these kinds of focal points is very important if we want to be able to work together on anything.

[1] http://winestockwebdesign.com/Essays/Lisp_Curse.html
[2] https://en.wikipedia.org/wiki/Focal_point_(game_theory)
January 13, 2019
On 1/13/2019 9:31 PM, Paul Backus wrote:
> Scheme is probably the language that takes this idea of a minimal "core language" with powerful metaprogramming facilities the furthest, and the result is a fragmented ecosystem that makes writing portable, non-trivial programs close to impossible. (See "The Lisp Curse" [1].)
> 
> When something like an object system is made part of the language (or at the very least, the standard library), it becomes a focal point [2] that the community can coordinate around. Due to the diverse, distributed nature of any programming-language community, trying to coordinate through explicit communication is not really a viable option, so having these kinds of focal points is very important if we want to be able to work together on anything.
> 
> [1] http://winestockwebdesign.com/Essays/Lisp_Curse.html
> [2] https://en.wikipedia.org/wiki/Focal_point_(game_theory)

Interesting cites, which provide a basis for why I've opposed AST macros, and why Ddoc and unittest are builtin (and a few other things).

Also, before std::string came along in C++, everyone invented their own string class, and as a result, nobody could share code.
January 14, 2019
On Monday, 14 January 2019 at 05:31:27 UTC, Paul Backus wrote:

> When something like an object system is made part of the language (or at the very least, the standard library), it becomes a focal point [2] that the community can coordinate around. Due to the diverse, distributed nature of any programming-language community, trying to coordinate through explicit communication is not really a viable option, so having these kinds of focal points is very important if we want to be able to work together on anything.
>
> [1] http://winestockwebdesign.com/Essays/Lisp_Curse.html
> [2] https://en.wikipedia.org/wiki/Focal_point_(game_theory)

I think D's structs are a sufficient object system for such a focal point.  With design by introspection, `alias`, templates, `alias this`, `static if`, CTFE, mixins, and a few new D features, classes would be unnecessary.  Rust and Zig are pretty good examples of this.

D's implementation could even be improved to keep its runtime, yet still allow D to be used as I'm suggesting, without introducing any breakage for anyone.  I made some significant progress in that direction when I was working on the compiler in the 2017~2018 timeframe, but my abilities ultimately fell short, and I couldn't see a way forward without support.

Mike
« First   ‹ Prev
1 2 3 4 5 6 7 8 9