Sahithyan's S1 — Programming Fundamentals
A-book
Definitions
Algorithm
Finite sequence of well-defined instructions for solving a problem. Flowcharts or pseudocode can be used ot explain it.
Interpreter
A software that reads a source code file, goes through each line and runs the code.
Compiler
A software that reads a source code file, builds the software into a runnable version.
Python vs C
| Feature | Python | C |
|---|---|---|
| Syntax | High-level, easy to read and write | Low-level, more complex and verbose |
| Typing | Dynamically typed | Statically typed |
| Memory Management | Automatic (Garbage Collection) | Manual (malloc/free) |
| Performance | Slower due to interpreted nature | Faster due to compiled nature |
| Use Cases | Web development, data analysis, scripting | System programming, embedded systems |
| Standard Library | Extensive | Limited |
| Compilation | Interpreted | Compiled |
| Error Handling | Exception handling | Error codes and manual checks |
| Paradigms | Multi-paradigm (procedural, OOP, functional) | Procedural |
| Portability | Highly portable | Requires recompilation for each platform |