Tuesday, December 18, 2018

Turning Ideas into Object-oriented design, but why?

The basics, isn't it enough?
You learn the syntax and write some code. You learn the fundamentals and then you hit a wall.
Okay, this is getting dry and academic...
Before you take off, just bear with me a few more lines and see if you are still interested.
But why bother? I can sit down and code away just like that...
Just type any code, any code and you feel like progress and it's an easy emotional hit, but it's an illusion. You think you can suss out everything along the way and just go by the seat of the pants. Sometimes that works, right? 
How many of those code written this way are you still using?
Difference between a few lines of code and a future proof app.
It is about creating better and more complex applications, writing code faster with less pain, less bugs. It's about "future proof" and future proof means to be flexible, maintainable and extensible for new changes to come.
From idea to application
Maybe the first thing that comes to your mind is, "now what do I do?", when the blinking cursor in the IDE editor is daring you. Maybe you are seasoned programmer and you jump right to coding. Good software starts with good designs. It's time to grab some paper and pencil. 
You need something you can write on the back of a napkin and understand how to break it into right pieces. Then you know exactly what code to write.
Jargons and terminology
Terminology is not a formalized fixed way of thinking. It is necessary for communication in any professions. Think of chefs using cooking terms, musicians using chord, scales and symbols, we need a system to speak to our fellow programmers too. Knowing the right vocabulary saves us time from making silly mistakes, and from explaining the same ideas over and over again.
Okay then, what is Object-oriented?
What is Class, Object, Instance?
What is Polymorphism, Abstraction, Encapsulation, and blah?
I think we need a good night sleep before we open the can of worms.
Time for a break.

No comments:

Post a Comment