#rtm-stemmler
Explore tagged Tumblr posts
relearningthemachine · 2 years ago
Text
Stemmler Notes 3
[Previous page] [Next page] [Go to the beginning]
Last week, I’ve learned about creating software is about creating one that is flexible to adjust to user’s needs.
Then, I covered Stage 1 out of 9: the concept and practice of clean code.
Next, is Stage 2: Programming Paradigms
Before we dive into the article, I would like to quote the definition of paradigms:
According to Merriam-Webster, it is a theoretical framework of a certain object.
So in this context, a programming paradigm revolves around the frameworks about tackling how to design software.
Back to Stemmler, he glosses the three main ones as the following (and paraphrased to my pleasure as):
Object-oriented programming - parts of a software are designed in such a way that they can all interact with each other interchangeably
Functional programming - parts of a software are designed in such a way that they will interact regardless of input and who has control
Structured programming - parts of a software are designed in such a way where one part has to interact first before the next one has to
(Object oriented and structured programming is something I have covered before when I was studyiing, however, Functional Programming is something I have never heard before, I’ll have to look this up later.)
Stemmler then asserts that the ideal software uses a mix of all these three at once.
This was short and sweet, however, I would need to look up the following resources to get my head spinning and all:
Tumblr media
And now...to turn the next page...
0 notes
relearningthemachine · 2 years ago
Text
Stemmler Notes - 2
[Previous page] [Next page]
Stemmler introduces what his definition of software is, its massive scope, and its atomic elements. Now, we tackle each element in the stack, starting from the bottom up.
Tumblr media
What is clean code?
He says that clean code means creating a software that can be adjusted to keep up with user needs. The answer to the question earlier can vary, but he thinks it falls between the following criteria:
Tumblr media
(Personal note: ‘growth mindset’) He then explains that your mindset contributes to clean code because you have to care enough on the software you are working on to maintain it. Fair.
He then drives the point that you, the programmer, is not creating software only for its end users. This creation is also for its current and future maintainers. Meaning, this involves knowing the difference between the good and bad design of the software.
He then suggests the following resources for further reading:
Tumblr media
Sir Martin’s work, Clean Code, is what he recommends amongst this list.
And now...to the next page...
0 notes
relearningthemachine · 2 years ago
Text
Stemmler Notes - 1
To begin, I’ve rememered being recommended the site https://roadmap.sh and as I went to their Software Design and Architecture section, I saw Stemmler being referenced so I went there first to read.
Software is a HUGE undertaking, that I know.
His intro describes Facebook, but it’s ANY digital service we use. Yes, that includes Tumblr.
Thus, discussing its design and architecture is EVEN BIGGER than itself.
As he described:
Tumblr media
He then introduces the idea of first principles, referencing this article. Simply put, it is the idea of simplifying an idea down to its ‘atomic level,‘ until it cannot be simplified.
(The reference article on first principles describes the idea being used on objects, such as a motorboat. For example, if you thought of a spiral notebook and throw it through the first principles, that means recognizing the cover, the back, the pages, and the spiral binder holding it together. However, if you knew how this is manufactured, you’d also have to think of their byproducts and ingredients...
...which goes into product design, manufacturing, etc etc.)
He says that the goal of software ‘is to continually produce something that satifies the needs of its users, while minimizing the effort it takes to do so.‘
After this, he emphasizes that software has to be continually changed to satisfy to needs of its users. Implying that software has to be designed to be pliable to be changed.
On this basis, he then proceeds to discuss one of the recognizable terms within Software Architecture: The Stack
His basis for his chart is from the OSI model, called the Open Systems Interconnection model, a model describing which systems inside a computing system interact.
Tumblr media
The scope arrow describes how atomic each element in the stack is. He notes that he cannot list all the items within each stack element but only some of the important concepts related to it.
And now...to turn the page...
0 notes