Why Python?
Easy to LearnMature and supportive Python CommunityExtensive selection of Python Library and framework
TensorFlow and Scikit-Learn for Machine LearningNumpy for high-performance Scientist Computing and Data AnalysisSeaborn for Data Visualization Programming Language Choice
| Language | Pros | Cons | Top Use Cases |
| Python |
Easy to learnCode readabilitySimplicityCommunity support |
SlowHigh memory usageErrors appear at runtime |
Machine learning frameworksData scienceVisualization |
| C++ |
Efficient memory access High performanceSystem programming |
Concepts difficult to graspLow security, no garbage collection |
GamesML libraries |
| Java |
Platform independenceRuntime code modificationCommunity supportHigh security |
High memory consumptionSlow performanceBoilerplate codeLow readability |
Data scienceMachine learningIoT applications |
| Matlab |
Ease of useRich library packPlatform independence |
Expensive license costMemory intensive |
Control theoryData analysisMachine learningScientific computing |
Compiler
A compiler translates a high‐level language into machine language
Translates the entire program in one go and then executes it(.exe file) Hard to spot and correct mistakes •Cannot make changes once the executable program is created •Program instructions are performed quicklyExample:
g++ main.cpp main.cpp‐‐>main.exe Interpreter
Python is considered an interpreted language that executed by an interpreter
Reads one statement then translates it and executes it and then takes anotherEasy to check for mistakes(debug) than a compilerProgram instructions are performed slowly IDE
IDE(Integrated Development Environment) is a software pack consisting of equipment used for developing and testing the software
An editor designed to handle code (with, for example, syntax highlighting and auto‐completion)Build, execution, and debugging toolsSome form of source controlIDEs for Python
| PyCharm | Spyder | Jupyter | VS Code | Eclipse |
NumPy
Linear Algebra Library for Python for efficient computation of multi‐dimensional arrays and matricesPandas
Provides highly optimized performance for data analysisMatplotlib — Visualization with Python
Python plotting library used for creating basic graphsScikit-learn
For training machine learning models Virtual Environment
Create separate environments for each purpose of pythonDifferent environments share the same OS but diffident packages



