Programming language

Abstract
Mostly for Self- reference

Python

Introduction

  • High Level language - Strong abstraction, easy to use and easy to understand syntax.
  • General purpose programming language
  • Indentation important
  • Case Sensitive
  • Supports multiple programming paradigms such OOP and functional
  • Excellently documented and comprehensive standard library
  • Dynamically but Strongly typed - Types are checked at run time and forbids operations that are not of the same type
  • Garbage collected - Automatic memory management

Basics

  • The Python Standard Library
    • Built-in types
      • list ,tuple, set, dict and others
    • Built-in functions
      • print() , len() ,range(),enumerate(),map(),zip() and others
    • Built-in modules
      • os,sys,itertools,collecations,math and others

Few important methods and libraries

C++

Introduction

  • The standard Template Library
    • Sequence Containers - Vectors ,Lists, Stacks
    • Associative containers - Sets , Maps
    • Algorithms - Sort, Copy,Reverse , Min,Max
    • Iterators - Abstracted objects that allow iteration across a container
    • Input/Output - iostream ,fstream,string
  • The Boost Libraries - Third-party libraries
    • File System interface abstraction
    • regular expressions
    • threading
    • smart pointers
    • networking
  • Object Oriented Programming
    • Constructors - default , parameter , copy ,assignment operator(not a constructor technically)
    • Destructor - deallocate any memory allocated upon object creation
    • Selectors - ability to read member data and provide calculations based upon the data e.g. getter method
    • Modifiers - able to read member data as well as change that data e.g. setter method
    • Inheritance - Used to model a type of relationship between object known as is-a
      For example American call option is a call option hence American call option should inherit all properties a call option possess such as strike price and underlying price.

Few important methods and libraries

Rust

R

SQL

Normalization

  • Purpose
    • To characterize the level of redundancy in a relational schema
    • Provide mechanisms for transforming schemas in order to remove redundancy
  • Types
    • First normal form : atomic values and not a tuple in any column
    • Second normal form : no partial dependencies
    • Thrid normal form : no transitive dependencies
    • Boyce -Codd normal form : For any dependecny A -> B , A should be a super key
    • Each normal form must satisfy the previous normal form