OverSimplified: Programming Languages
Sina Nikmaram
Posted on November 28, 2021
Welcome! In this series, I try to oversimplify CS concepts in an attempt to help us all better understand them. Thanks for your time, enjoy!
What is a Programming Language?
- Programming Languages are tools that provide us with a set of rules and keywords which we can use to communicate with computers.
Okay so... how does this help us communicate?
- Computers only understand Binary (1's and 0's) or Machine Code.
- Programming Languages allow us to write code that is legible to us, but can also be compiled into machine code.
(If you want to take a deep dive into how computers read and execute code I recommend watching this video.)
Low-Level vs High-Level Languages
-
Lower Level Languages (Assembly, Machine Code, etc...):
- Require management of hardware processes
- Harder to read/write
- Quicker to compile/execute
-
Higher Level Languages (Python, JS, etc...):
- Hide hardware processes from us / abstract them away
- Easier to read/write
- Slower to compile/execute
- Abstraction is a buzzword that refers to the level of control a language requires us to have over hardware processes.
Statically Typed vs Dynamically Typed Languages
- Types refer to how a language treats variables.
-
Statically typed languages:
- Define the data types of variables
- Variables can not have a value with a different data type
int numTen = 10
str greeting = "Hello World"
-
Dynamically typed languages:
- Data type of variable = data type of the value
- Allow us to assign and reassign any value to any variable
numTen = 10
numTen = "Hello World"
Best Programming Languages to get you employed in 2023
-
Entry level:
- JavaScript (Web Development)
- Python (Data Science & A.I.)
- Swift (Mobile)
-
Robotics and Gaming:
- C++
-
Blockchain:
- Solidity
- Rust
- Go
-
Enterprise:
- Python
- C++
- Java
💖 💪 🙅 🚩
Sina Nikmaram
Posted on November 28, 2021
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.