An Interest In:
Web News this Week
- March 25, 2024
- March 24, 2024
- March 23, 2024
- March 22, 2024
- March 21, 2024
- March 20, 2024
- March 19, 2024
November 28, 2021 06:20 am GMT
Original Link: https://dev.to/sinaprograms/oversimplified-programming-languages-3370
OverSimplified: Programming Languages
OverSimplified is a series where I try to oversimplify CS concepts in an attempt to help us all better understand them. Thanks for your time and enjoy!
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 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
Statically Typed vs Dynamically Typed Languages
- Types refer to a programming languages behavior in regards to variables.
- 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 numTen = 10str greeting = "Hello World"
- 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.
numTen = 10numTen = "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++
Original Link: https://dev.to/sinaprograms/oversimplified-programming-languages-3370
Share this article:
Tweet
View Full Article
Dev To
An online community for sharing and discovering great ideas, having debates, and making friendsMore About this Source Visit Dev To