Last couple of years have witnessed an immense growth of Python in multifarious domains, each one necessitating a different programming paradigm varying from object oriented, functional, procedural to imperative. This talk reviews them all and helps you choose one for an efficient design solution !
The soaring popularity of Python and its assorted applications can be attributed to its simplicity and flexibility. In this talk, I will review the modern bloom & dominance of Python and discuss four major coding styles often used: Imperative, Procedural, Functional, and Object-Oriented. I will go over the fundamentals of each programming paradigm and discuss their positives, limitations and use cases especially in Python setting along-with a very simple hands-on example to illustrate how one routine can be coded in a different style. The talk will conclude with some pointers on how to choose a coding style for a given situation to make the code more readable, testable and coherent.
This talk aims to introduce different programming styles of Python and encourage Pythonistas to reflect on the implications of each corresponding to their domain viz. data visualisation, machine learning, functional programming, or embedded systems, web development. By better understanding these styles attendees will be empowered to design efficient solutions.
Imperative Programming: Sequential, Direct change to program state, Data structure manipulation, Harder debugging, Limited abstraction, Complex semantics
Procedural Programming: Sequential, Iterative, Modularized, Tasks’ function calling, Inefficient hardware usage especially for complex problems
Functional Programming: Stateless functions, Immutable data, Independent of order of execution, More modularity, Useful for - Recursion, Lambda Functions, Parallel Processing
Object-oriented Programming: Object manipulation via methods only, Code reusability, Limited support by Python (currently)