Wednesday, October 27, 2021

On being a novice

 There’s this feeling or knowledge that I am a novice.  Such a novice, in this age, in this day, in this moment.  I am rather sure there’s not a way around it.  Sure there are moments, perhaps of grace when I feel the sense of expertise at some process.

The sense of expertise is fleeting and back comes the opposite sense.

And the feeling/knowledge of being a novice is being aware of my human nature, and the human condition. It is exciting and anxious, fun and dreadful, depending on the nature of the newness, and the strength of my imagination set in the firmament of my faith.

There is the past. And given the past, perhaps I could be less a novice and more an expert. However, the moment breaks new today, and while the past informs it doesn’t dictate exactly a path.  And even if it did it might not be taken, because I am a novice.

There are paths, roads and rivers.  Some of these created by me, some by others, and some by the effort of me and others. Hand in hand, stone by stone, step by step I and we progressing on.  Each of us appreciating the novice in the other,  the moments of graceful expertise, and all the other points between those extremes.

Breath for another step, faith to catch me when I stumble on a stone. I am still learning as long as I breath.


Friday, October 22, 2021

On Rust expressions and statements

 Compared to C and Ruby there is a fundamental difference in the way Rust treats statements and expressions.

Statements do not return a value.  

Expressions return values.

Rust is expression heavy, statement light. Yet from a control aspect…statements are primarily used to create a boundary  and proscribe orderliness of expressions.  It can be a tangle.

Guide to Rust reader.  Remember statements end with semicolons.

Semicolon ending code fragbits are statements.  Yes, expression statements, one of  three statements, yes it ends in semicolons too.  Yet, if your expression statement is just expressions, when ending the block with cruscteans curly bracket claws can skip the semicolon, but that way requires the result type is ().

The other two statements, which are declaration statements , are let statements and item statements and they require semicolons regardless.

Non-semicolon ending code are expressions, generally, see the expression statement bit above and take it for what it is, confusingly crazy to reading Rust and parsing the world as statements and expressions as an easy first pass.  

But there is a joy to in delving into the mystery of logic writ by others.  Especially when we know how much trouble a programmer ( and the body of code of such programmers) can easily fall into with a language like C.  C is a form of beauty. I feel fear in writing C. And what ever comfort level with C, Rust is a languages which codes more safely. I feel less anxious coding in Rust. And what ever code I might produce for use.

Still many more things to learn about a Rust…

For addition information see https://doc.rust-lang.org/reference/statements-and-expressions.html