-
Notifications
You must be signed in to change notification settings - Fork 68
Start tutorials #5
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
Conversation
Super nice work, thank you! I like most of it. I have some doubts about the 3-level categories of tutorials. I will write more tonight. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a great start, thank you @LKedward for submitting this. The PR looks good.
Btw, I think it would make sense to port the material I have at https://www.fortran90.org/ into this page also, @milancurcic what do you think?
Add optional title variable.
All main components are written.
Aimed at existing programmers. Quickly covers main syntax and semantics.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks again @LKedward. I love the styling and content you added.
I only have one recommendation before merging, and that is to not yet use separate tutorials for different levels of Fortran programming. There are a few issues with this approach:
- The distinction is somewhat arbitrary--we'd have to somehow decide what goes where but it's not an easy decision to make.
- We're bound to have overlap in content between different tutorial formats. For example, you'd need to describe Fortran data types in both the lowest- and medium-level tutorials. This makes it more difficult to maintain.
- When the visitor hits the Learn tab, they have to choose in which category they fit in. Many readers, myself included, may worry if they're missing out on something from the lower level tutorial.
- This is a high-level organizational design issue that we should first discuss and carefully consider options before moving forward with it.
Rather, I'd prefer seeing a single tutorial organized by topics, kinda like what the Rust Book does. I think this approach takes care of different levels of experience well: Rust beginners know they should start at the very beginning, while more experience Rustaceans can navigate to the topic they want using the TOC. I personally think we should take this approach. I'm curious to hear what others think.
In summary, my recommendation is:
- Consolidate the existing tutorial content (great work!) and have it immediately on the top-level page;
- Other resource placeholders like best practices etc. they can stay at the bottom on the page.
- In the LICENSE file, change the second line from this:
Copyright (c) 2020 Milan Curcic
to this:
Copyright (c) 2020 fortran-lang.org Contributors
I will open an issue for the community to discuss tutorial design.
It would be fantastic if we can merge this by tomorrow (Friday) morning. @certik and I will be showcasing this and other community work in a webinar at 12pm Eastern time.
@certik Yes, I think so. |
Thanks for the comments @milancurcic; you make some very good points which I agree with. |
I have completed the consolidated content (preview). For review I ask:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Perfect, thank you for the hard work @LKedward. I will merge this as is.
Let's continue the work in separate PRs. Smaller and specific PRs always preferred over large and broad PRs.
Regarding your question about kinds, here's what we're currently doing in stdlib. This may change in the future, of course. The higher level issue related to this is the Style Guide. There's currently a very minimal style guide in the stdlib repo, however, I think we should work on a Style Guide here (like a PEP8 for Python) that would then apply to all fortran-lang community projects. |
I've added a stylesheet to enable syntax highlighting and made a start on writing tutorials.
I've put a static preview here to make it easier to view this draft pull request.
My idea is to have self-contained tutorials targeting three different programming abilities:
For beginners: quite common to see undergraduates with little programming experience asked to pick up Fortran for science//engineering degrees
Intermediate: for those with basic programming experience using another language like c or python
Advanced: for those who just want to pick up the Fortran syntax and advanced features (OOP etc.)
I also think the Learn section can contain other articles for things like best practices and advanced/niche topics etc.
I'm happy to put work into filling this out since compared to other programming languages there are fewer good quality online tutorials and examples which makes it less accessible.
Happy to hear feedback and ideas.
Thanks for work so far @milancurcic, the site is looking good!