This content originally appeared on DEV Community and was authored by Sina Nikmaram
Welcome to Oversimplified, a series where I oversimplify CS concepts in an attempt to help us all better understand them.
What is a Programming Language?
- Programming Languages are tools that provide us with a syntax (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 humans, and can be transformed or compiled into machine code.
(If you want to take a deeper dive into how computers read and execute code I recommend watching this video.)
Low-Level vs High-Level Programming Languages
- Abstraction is a buzzword that refers to the level of control a language requires us to have over hardware processes.
-
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
Strongly/Statically Typed vs Weakly/Dynamically Typed Languages
- Types refer to a programming languages behavior in regards to variables.
-
Strongly/Statically typed languages:
- Require you to explicitly define the data types of variables.
- Do not allow the assignment of values that have a different data type than the variable.
int num = 10
str greeting = "Hello World"
-
Weakly/Dynamically typed languages:
- Infer the data type of a variable based on the data type of the value.
- Allow us to assign and reassign any value to any variable.
num = 10
num = "Hello World"
Best Programming Languages to Learn for 2022
-
Entry level: High-level Dynamically Typed Languages
- JavaScript (Web Development)
- Python (Data Science & A.I.)
- Swift (Mobile)
-
Robotics and Gaming: High-level Statically Typed Languages
- C++
-
Blockchain: High-level Statically Typed Languages
- C++
- Solidity
- Go
-
Enterprise: High-level Languages
- Java
- Python
- JavaScript
- C++
This content originally appeared on DEV Community and was authored by Sina Nikmaram
Sina Nikmaram | Sciencx (2021-11-28T06:20:44+00:00) OverSimplified: Programming Languages. Retrieved from https://www.scien.cx/2021/11/28/oversimplified-programming-languages/
Please log in to upload a file.
There are no updates yet.
Click the Upload button above to add an update.