Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Introduction of Interfaces quite fast #49

Open
psteinb opened this issue Jul 10, 2023 · 4 comments
Open

Introduction of Interfaces quite fast #49

psteinb opened this issue Jul 10, 2023 · 4 comments
Labels
type:discussion Discussion or feedback about the lesson

Comments

@psteinb
Copy link
Contributor

psteinb commented Jul 10, 2023

The following lines from 06-control-flow.md#L44 to 06-control-flow.md#L62 introduce interfaces quite fast.

I think this might put learners off, especially those that come with a background of scripting languages mostly. I personally would encourage to invest some text to introduce the notion of an interface more slowly. Maybe using a number (think interface Real) as an example as discussed in the first episode on typing.

@kescobo kescobo added the type:discussion Discussion or feedback about the lesson label Jul 11, 2023
@kescobo
Copy link
Collaborator

kescobo commented Jul 11, 2023

I agree. In fact, I think the notion of interfaces might be outside the scope of a beginner course. I rarely use interfaces explicitly, and many interfaces in julia are poorly specified.

That said, the array interface is one of the well-specified ones, and pretty fundamental to a lot of science-relevant code. Understanding it can be quite a boon, since many types implement AbstractArray or similar interfaces, and this can allow you to write faster and more generic code.

I definitely think that this section could use a bit more explication, and could be part of a broader re-write of this section (along the lines of #50

@BeastyBlacksmith
Copy link
Collaborator

@all-contributors add @psteinb for ideas

Copy link
Contributor

@BeastyBlacksmith

I've put up a pull request to add @psteinb! 🎉

@BeastyBlacksmith
Copy link
Collaborator

BeastyBlacksmith commented Nov 21, 2024

@all-contributors add @kescobo for ideas

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type:discussion Discussion or feedback about the lesson
Projects
None yet
Development

No branches or pull requests

3 participants