Jump to page: 1 2
Thread overview
Presentation Intro to D: What works?
Jun 25, 2015
qznc
Jun 26, 2015
Joakim
Jun 26, 2015
rsw0x
Jun 26, 2015
Rikki Cattermole
Jun 26, 2015
thedeemon
Jun 26, 2015
rsw0x
Jun 26, 2015
Chris
Jun 26, 2015
Marc Schütz
Aug 19, 2015
qznc
Aug 20, 2015
yawniek
Aug 20, 2015
qznc
Aug 21, 2015
tired_eyes
Aug 28, 2015
qznc
Aug 28, 2015
tired_eyes
Aug 20, 2015
John Colvin
Aug 28, 2015
Walter Bright
Aug 29, 2015
bachmeier
Aug 29, 2015
David DeWitt
June 25, 2015
Looks like I will give a talk about D to our local Functional Programming User Group in August. Feel free to join, if you can be in Karlsruhe, Germany:

http://www.meetup.com/de/The-Karlsruhe-Functional-Programmers-Meetup-Group/events/223455553/

As far as I know, pretty much nobody there knows anything about D. So I need to start with some general introduction. My current plan is to basically talk through the dlang.org frontpage. Modern convenience. Modeling power. Native efficiency.

I guess others here have done such intros already. What works? What doesn't? What are the usually questions you get from newbies? Any evangelism tips?
June 26, 2015
On Thursday, 25 June 2015 at 12:39:11 UTC, qznc wrote:
> Looks like I will give a talk about D to our local Functional Programming User Group in August. Feel free to join, if you can be in Karlsruhe, Germany:
>
> http://www.meetup.com/de/The-Karlsruhe-Functional-Programmers-Meetup-Group/events/223455553/
>
> As far as I know, pretty much nobody there knows anything about D. So I need to start with some general introduction. My current plan is to basically talk through the dlang.org frontpage. Modern convenience. Modeling power. Native efficiency.

What specifically do you plan to mention for each?

> I guess others here have done such intros already. What works? What doesn't? What are the usually questions you get from newbies? Any evangelism tips?

Never done an intro but watched several and have been thinking about doing an intro talk locally myself.  One thing I don't often see in intros that I was thinking about adding is who is behind the language?  Do a small bio of Walter with his C++ compiler background and Andrei with his modern C++ design background.  That will help orient the newbie on where the language comes from.
June 26, 2015
On Thursday, 25 June 2015 at 12:39:11 UTC, qznc wrote:
> Looks like I will give a talk about D to our local Functional Programming User Group in August. Feel free to join, if you can be in Karlsruhe, Germany:
>
> http://www.meetup.com/de/The-Karlsruhe-Functional-Programmers-Meetup-Group/events/223455553/
>
> As far as I know, pretty much nobody there knows anything about D. So I need to start with some general introduction. My current plan is to basically talk through the dlang.org frontpage. Modern convenience. Modeling power. Native efficiency.
>
> I guess others here have done such intros already. What works? What doesn't? What are the usually questions you get from newbies? Any evangelism tips?

If it's a functional programming meetup, show off D's ranges combined with its functional programming style.

I think this is what really sets it apart from every other C-based language, if D had pattern matching and destructuring it would probably have the ability to look pretty close to Ocaml.
June 26, 2015
On 26/06/2015 1:46 p.m., rsw0x wrote:
> On Thursday, 25 June 2015 at 12:39:11 UTC, qznc wrote:
>> Looks like I will give a talk about D to our local Functional
>> Programming User Group in August. Feel free to join, if you can be in
>> Karlsruhe, Germany:
>>
>> http://www.meetup.com/de/The-Karlsruhe-Functional-Programmers-Meetup-Group/events/223455553/
>>
>>
>> As far as I know, pretty much nobody there knows anything about D. So
>> I need to start with some general introduction. My current plan is to
>> basically talk through the dlang.org frontpage. Modern convenience.
>> Modeling power. Native efficiency.
>>
>> I guess others here have done such intros already. What works? What
>> doesn't? What are the usually questions you get from newbies? Any
>> evangelism tips?
>
> If it's a functional programming meetup, show off D's ranges combined
> with its functional programming style.
>
> I think this is what really sets it apart from every other C-based
> language, if D had pattern matching and destructuring it would probably
> have the ability to look pretty close to Ocaml.

irk be careful when showing off ranges. Get some damn good background of what D is first. It took me well over a year before I started to get into them.
June 26, 2015
On Friday, 26 June 2015 at 04:43:08 UTC, Rikki Cattermole wrote:
>>> Looks like I will give a talk about D to our local Functional
>>> Programming User Group in August.

> irk be careful when showing off ranges. Get some damn good background of what D is first. It took me well over a year before I started to get into them.

For FP people working with combinators on lazy lists or sequences is a well known thing, so they should easily recognize it.

People in OCaml, F# or Elm write code like this every day:

 Char.toCode c |> spt |> List.reverse |> List.map toString |> String.join " "

(this one is in Elm)

And in Haskell it looks similar but usually in backwards order and separated by "." and $. For haskellers, comparing D ranges with "classy prelude" shall be appropriate, I guess.

I think one should also talk about how D ranges when passed through several processing steps can keep important information in their types so that xs.retro.take(100).map!f.retro[33] works in O(1). This is what most other languages don't do.
June 26, 2015
On Friday, 26 June 2015 at 07:00:22 UTC, thedeemon wrote:
> On Friday, 26 June 2015 at 04:43:08 UTC, Rikki Cattermole wrote:
>>>> Looks like I will give a talk about D to our local Functional
>>>> Programming User Group in August.
>
>> irk be careful when showing off ranges. Get some damn good background of what D is first. It took me well over a year before I started to get into them.
>
> For FP people working with combinators on lazy lists or sequences is a well known thing, so they should easily recognize it.
>
> People in OCaml, F# or Elm write code like this every day:
>
>  Char.toCode c |> spt |> List.reverse |> List.map toString |> String.join " "
>
> (this one is in Elm)
>
> And in Haskell it looks similar but usually in backwards order and separated by "." and $. For haskellers, comparing D ranges with "classy prelude" shall be appropriate, I guess.
>
> I think one should also talk about how D ranges when passed through several processing steps can keep important information in their types so that xs.retro.take(100).map!f.retro[33] works in O(1). This is what most other languages don't do.

I absolutely _hated_ laziness in Haskell. It made it impossible to reason about the performance of anything. I find it the complete opposite in D because so much happens at compiletime, I've seen ldc and gdc turn rather long range chains into assembly you'd expect from nested for loops.
June 26, 2015
On Thursday, 25 June 2015 at 12:39:11 UTC, qznc wrote:
> Looks like I will give a talk about D to our local Functional Programming User Group in August. Feel free to join, if you can be in Karlsruhe, Germany:
>
> http://www.meetup.com/de/The-Karlsruhe-Functional-Programmers-Meetup-Group/events/223455553/
>
> As far as I know, pretty much nobody there knows anything about D. So I need to start with some general introduction. My current plan is to basically talk through the dlang.org frontpage. Modern convenience. Modeling power. Native efficiency.
>
> I guess others here have done such intros already. What works? What doesn't? What are the usually questions you get from newbies? Any evangelism tips?

Depends on where the newbies are coming from, C, C++, Java, Python? Would your audience be interested in templates? A big thing in D are structs, they are darn useful. Structs, ranges, templates, component programming and chaining.

My only evangelism tip is not to be evangelistic about D. Present it with warts and all.
June 26, 2015
On Thursday, 25 June 2015 at 12:39:11 UTC, qznc wrote:
> Looks like I will give a talk about D to our local Functional Programming User Group in August. Feel free to join, if you can be in Karlsruhe, Germany:
>
> http://www.meetup.com/de/The-Karlsruhe-Functional-Programmers-Meetup-Group/events/223455553/
>
> As far as I know, pretty much nobody there knows anything about D. So I need to start with some general introduction. My current plan is to basically talk through the dlang.org frontpage. Modern convenience. Modeling power. Native efficiency.
>
> I guess others here have done such intros already. What works? What doesn't? What are the usually questions you get from newbies? Any evangelism tips?

As these are FP people, I would start by pointing out that D is not a pure functional PL. Then you could explain how its functional aspects benefit from that fact, e.g.
- ranges work with mutation => composability _and_ efficient codegen
- weak vs strong purity => allows more code to be pure
August 19, 2015
On Thursday, 25 June 2015 at 12:39:11 UTC, qznc wrote:
> Looks like I will give a talk about D to our local Functional Programming User Group in August. Feel free to join, if you can be in Karlsruhe, Germany:
>
> http://www.meetup.com/de/The-Karlsruhe-Functional-Programmers-Meetup-Group/events/223455553/

Presentation done. Only six people in the audience, but they appreciated it. 5/6 already had heard about D. 3/6 had played with it.

If you are interested in my slides:

http://beza1e1.tuxen.de/stuff/FunctionalD.odp
http://beza1e1.tuxen.de/stuff/FunctionalD.pdf

I spent some time on D history and philosophy. Mostly frontpage stuff.
Then I defined what Functional Programming is imho.
Showed D's functional features.
Then I also talked about "Design by Introspection" or in my talk "Where typeclasses fail".
Finished with D advertisement.
August 20, 2015
On Wednesday, 19 August 2015 at 20:15:48 UTC, qznc wrote:
> On Thursday, 25 June 2015 at 12:39:11 UTC, qznc wrote:
> If you are interested in my slides:
>
> http://beza1e1.tuxen.de/stuff/FunctionalD.odp
> http://beza1e1.tuxen.de/stuff/FunctionalD.pdf
>
> I spent some time on D history and philosophy. Mostly frontpage stuff.
> Then I defined what Functional Programming is imho.
> Showed D's functional features.
> Then I also talked about "Design by Introspection" or in my talk "Where typeclasses fail".
> Finished with D advertisement.

i like these slides a lot, has the talk been recorded?
« First   ‹ Prev
1 2