Development Thoughts of the Day

Software Quality: There are known software quality attributes such as performance and maintainability but good software quality is really achieved not by adding more features but removing just enough features. Since quality is ultimately measured by the user experience, what matter is how easy it is for the user to accomplish a task.

When all you have is a hammer, everything can be hammered down. But not every problem needs to be solved with a hammer. That’s why it’s important to understand how different languages solve problems differently. To learn a new ways of reasoning about software, learn new programming languages with different styles like functional, and dynamically typed languages such as Javascript.

JavaScript is an excellent language to learn new ways of thinking, building and deploying software. The concept of the Single Page Application has even made blazing fast enterprise applications running purely within the browser a possibility. However, it requires a lot more discipline than other languages because it’s easy to shoot yourself in the foot due to so many dangerous and unpredictable language idioms. Running javascript through a transpiler like Typescript is highly recommended to improve code quality. Typescript added strong typing at compile time and introduces ES6-like class syntax which allows for a mix of object oriented and functional programming


Recent Finds on the Web

Refresher on numbers and a breakdown of their representation in computer code and how to do bitwise operators on them. “A number is a very abstract concept. Unlike physical objects, which are easily recognizable on sight, a number can be represented in an infinite number of ways. The representation we are used to is called decimal, or base 10. The first time is pretty familiar, but if you’re reading this section, the second term may be new to you. To see why we use the term “base 10,” let’s take a look at an arbitrary number, say 5346. Read aloud, this is five thousand, three hundred, forty-six. We hear numbers like that so often that it’s not immediately obvious, but this sounds a lot like a formula. Specifically: 5346 = (5 * 1000) + (3 * 100) + (4 * 10) + (6 * 1)
Or, if we write it another way, we see that a decimal number is actually the sum of its digits multiplied by successive powers of 10: 5346 = (5 * 103) + (3 * 102) + (4 * 101) + (6 * 100)
Do you see why the term “base 10” is used to describe the way we normally write numbers? Any integer can be written this way. Suppose we call the least significant digit (the digit in the ones place) “digit 0,” and each successively higher digit is digit 1, digit 2, and so on. Then the full
number is represented by digit 0 times 100, plus digit 1 times 101, and so on, up through digit n times 10n.”

If you love numbers and math and want a quick refresher, check out the “30-Second Maths” eBook.