Your Web News in One Place

Help Webnuz

Referal links:

Sign up for GreenGeeks web hosting
November 28, 2021 06:20 am GMT

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.

Alt Text

(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
    1. JavaScript (Web Development)
    2. Python (Data Science & A.I.)
    3. Swift (Mobile)
  • Robotics and Gaming: High-level Statically Typed Languages
    • C++
  • Blockchain: High-level Statically Typed Languages
    1. C++
    2. Solidity
    3. Go
  • Enterprise: High-level Languages
    1. Java
    2. Python
    3. JavaScript
    4. C++

Original Link: https://dev.to/sinaprograms/oversimplified-programming-languages-3370

Share this article:    Share on Facebook
View Full Article

Dev To

An online community for sharing and discovering great ideas, having debates, and making friends

More About this Source Visit Dev To