About
About SkillByExample
SkillByExample publishes programming lessons built around one rule: every lesson teaches through a worked example, and shows that example's real output. There are currently 991 lessons across 83 topics, plus 12 learning paths that string them into a curriculum.
Who's behind it
SkillByExample was built to learn new technologies properly and to help other people do the same. Every lesson here was worked through by running the code, and the output you see is what it actually printed.
How a lesson works
Each example follows the same three beats:
- A small, complete program. Not a fragment. Paste it into a file, run it, and it works. One idea per example.
- The output it printed, including the command that ran it, so you can predict the result before you read it.
- The explanation, written after the output, about the gap between what you expected and what happened.
Every lesson ends with a Practice section: a few tasks that change the examples, each with a solution you can expand once you have tried it.
How the output is produced
Output blocks are captured from a real run of the program shown, never typed from memory. Where a lesson needs a specific runtime, such as a Java version, a database or a container, it is run in that environment. A build-time check fails if a runnable lesson has no output block. A small number of lessons, for example GPU programming, have no output yet because they need hardware we don't have to run them on; we leave them without output rather than invent it.
If you run an example and see something different, that is a bug, and we'd like to hear about it. Versions do drift, so please tell us what you ran it on.
Where the topics come from
Each topic's syllabus is planned against its official documentation, and against what other tutorial sites already cover, so the lessons fill real gaps. The example code and prose are written for this site.
Contact
Corrections, broken examples and suggestions are welcome. See the contact page.