mojodojo.dev icon indicating copy to clipboard operation
mojodojo.dev copied to clipboard

[Content] Introduction material for concepts like coroutines, parallelization, vectors etc.

Open Brian-M-J opened this issue 1 year ago • 5 comments

Currently, the Mojo documentation assumes that the reader is already familiar with system programming concepts. This makes it harder for new and new-ish programmers to understand how to use the low-level features that Mojo provides. I suggest a few articles explaining how the specific feature works, how to use it and a few examples of use cases.

A list of features I have in mind is as follows:

  • How to use autotuning
  • Coroutines
  • DType (It's used in examples on the Modular website but I have no idea what it is)
  • The Functional module in the standard library (vectorize, parallelize, tile etc.)
  • SIMD

This is not a comprehensive list and there may be other things that programmers struggle to understand.

Brian-M-J avatar Jul 19 '23 17:07 Brian-M-J

Great ideas, thanks very much for raising the things that aren't clear, that is a really good list of next things to tackle and I'll prioritize them

mojodojodev avatar Jul 19 '23 23:07 mojodojodev

@mojodojodev i'm thinking about starting to write about SIMD, what format do you think it'll be appropriate? Guide section, article...? I think an article would fit this purpose.

Lorenzobattistela avatar Jul 20 '23 14:07 Lorenzobattistela

I agree. I think articles should be preferred in general for now as Mojo is still in a very early stage. I think the focus should be on making readers understand the underlying concept rather than its specific implementation in Mojo, as not only can that change, but the team might add a high level abstraction that makes it unnecessary to explain the exact details of how the feature works to beginners.

Brian-M-J avatar Jul 20 '23 15:07 Brian-M-J

Will start writing up some content on SIMD

Lorenzobattistela avatar Jul 20 '23 21:07 Lorenzobattistela

Will start writing up some content on SIMD

Sounds great thanks, yeah I think tutorial style introduction will be really good, there's a heap of dunder methods which we can build out over time

mojodojodev avatar Jul 20 '23 22:07 mojodojodev