Statically Typed Languages vs Dynamically Typed Languages: A Deep Dive