about
11/29/2022
BuildOn Repo
BuildOn code

BuildOn  Repository

Learning Rust by Building

Quick Status Project Steps not started yet Demonstration code not yet Documentation yes Test cases NA Static library NA Build requires Rust installed Planned design changes Add many short steps
"Procrastination is the art of keeping up with yesterday"
- Don Marquis

Contents:

Steps List There are a lot of excellent references for Rust programming, but sometimes the best way to get started is to write code. That's what this repository is all about. The BuildOn plan starts with a project that is small enough to understand easily, but rich enough to illustrate many of Rust ideas. Here's a quick BuildOn Summary We will start with a Project called TextFinder that, given a path, set of file patterns, and text to find, seaches the directory tree rooted at the specified path and reports all files from the pattern set that contain specified text. We decompose TextFinder into a set of libraries and an executive package. Then, in a series of presentations, cover the implementation of each, starting from one that is fairly simple to construct, and moving on to more complex libraries that progressively require more Rust knowledge.
I think of these steps as a work book for the Rust Story. The story provides a fairly complete narrative description of the Rust programming language. Each project step takes an important feature or capability of the language, provides a consise statement, an example of its operation, and, for most of the steps, a short set of links to things you need to know to complete the step.

Steps:

Here are the currently planned Project steps:

  1. BuildOn Introduction
    What is BuildOn? Why Rust? Rust Safety
    You will find introductory code for step_1 in the BuildOn Repository.

  2. TextFinder Introduction
    Getting started: references, partitioning, execution Next Step: text_search lib specification, step references. You will find introductory code for step_1 in the BuildOn Repository.

  3. TextSearch
    text_search lib: references, example implementation Next Step: dir_nav lib specification, step references.

  4. DirNav
    dir_nav lib: references, example implementation Next Step: cmdln_parser lib specification, step references.

  5. CmdlnParser
    cmdln_parser lib: references, example implementation Next Step: display lib specification, step references.

  6. Executive
    executive and display: references, example structure Next Step: regular_expression extensions, references

  7. Regular Expression Extension
    regular_expression extension: references, example implementation Next Step: concurrency

  8. Concurrency Extension
    parallel_search extension: references, example implementation Next Step: New Project?
The current plan is to conduct a Zoom remote session for each step, perhaps bi-weekly or once a month. We will record that and post along with step code. These steps present relatively small simple demonstration codes, and a few that are larger. We may, if enthusiasm holds, start a new project after this is complete.
  Next Prev Pages Sections About Keys