What is “Programming”?
Thanks once again for visiting my blogs. Please do share your feedback in comments section below. You can also sign-up for automated updates

Overview
Each of you must have played video games, on mobile or tablet or laptop or computer or gaming console. Yes, you guessed it right, the game is one kind of software which can perform preset of actions based on input/command entered by you as player.
Based on above statement, it does looks very simple, isn’t it!? But it is not that simple. Each game (based on size of the game) will have hundreds-of-thousands of lines of code/program, lots of frameworks and all these are so well integrated that it gives seamless gaming experience.
You can be one of the developer of such games in future.
Just for a second, think how these things work…
- When you want to walk forward, you will have to press-up or press up-arrow.
- When you want to fire, you will have to press different button or touch different part of the screen.
All these are small actions you do are called as User Inputs and you will only have set of User Inputs which are predefined by the game development team.
A Couple
Have you imagine playing a video game without a mobile or a gaming console?
Software & Hardware are like a Couple, both must work together & support each other to create beautiful echo system.
You cannot play game without a mobile or such hardware. Also set of games only support specific configuration of mobile or gaming console, and also set of games are developed separately to support two or more kind of gaming console; like PS & XBOX.
Food for Thought
Multiplayer games required user to be connected to internet all the time. Is the internet hardware or a software?
The Framework
As mentioned in above section, same game is developed differently for different type of hardwares; like the game developed for XBOX will not work in PS and one developed for mobile will not work on gaming console. And each of these games are million of lines of code.
Such huge line of code will lead into duplication of code and it will be really difficult to maintain.
This is just very simple and basic example of Framework and will vary based on what kind of software you are creating.
Software architect analyse such big code and identify repetitive and reusable code and create a repository of common functionality or a feature which can work on all kind of hardware. Such repositories are called Frameworks.
There are frameworks for software, hardware and hybrid.