Programming Frameworks: Types, Benefits & Guide