What is the difference between Statically and Dynamically Typed Languages

What is the difference between Statically and Dynamically Typed Languages

There are 2 types of programming languages Statically or Strictly typed and Dynamically typed, but what is the difference between the two, why do programming languages have types anyways?

If you are wondering about that question, I got you covered, in this post we will be discussing what are the Differences between Dynamically typed and Statically typed programming languages.

Overview

gif

Dynamically typed languages are languages that go through an interpreter and the types are automatically assigned so you don’t have to worry about what type a particular variable is or what is the return type of a function or a method, it is automatically understood by the interpreter. Some languages in this category are Python and Javascript, they are really easy and fast to write even complex applications.

On the other hand, Statically or strictly typed languages are where you have to explicitly tell the program what type of a particular variable or a function is so the compiler doesn’t have too much work, and hence the program is faster to compile and run but slow to write. Languages like C, C++, and Java come in this category.

Nitty Gritty Details

gif

Dynamically Typed:

As said earlier these languages are easy to write and fast to develop apps in like I can build Pong in Python in 1 day whereas it will take quite some time to do it in Rust which is also a typed language like C++. As these languages will be easier to write, the market will be a lot more saturated as everybody is learning the same tech, also as apps are made faster in these languages, the business and startup market is in need of developers in such languages, as a good MVP is needed and fast.

Also, most people who learn languages like Javascript are more likely to start a business or their own thing as the entire stack is theirs and they can move from front end to back end to database in just one language.

Statically Typed:

These languages are helpful in getting you a job in Big tech giants like FANG (or MANG now), as these companies care about speed as they have grown so much they need to get faster to keep all the users up to date and for that statically typed languages are way to go, like Google’s servers are written in C++.

Just don’t get confused by what I say (or write) but these Big Tech companies also use Dynamically Typed languages as the languages might be their original stack or the stack might benefit the company. Like Instagram uses Python for their servers (the Django framework to be exact).

Conclusion

The main point I want you to take away from this post is, that the language you learn at the start does not matter, what matters is you stick to one language and learn it inside out. And once you do that you can start applying to roles in that particular language.

Did you find this article valuable?

Support Nibodh Daware by becoming a sponsor. Any amount is appreciated!