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