Building Blocks of any Programming Language
Tags: programming, codenewbie, computerscience, beginners
Published: 2020-07-21 17:59:00

Explore the **Concepts** and **Topics** common to all programming languages, that either a Beginner to Programming or Programmer must know!

**Do you want to learn a programming language for the first time?
Do you want to improve as a Programmer?**
Well, then you’re in the right place to start.
Learn any Programming language without difficulty by learning the concepts and topics common to all programming languages.

Let me start by answering the following questions:-
Why learn Programming?
What is Programming?
How to Learn a Programming Language?

## Why learn Programming❔

### Programming develops Creative Thinking
Programmers solve a problem by breaking it down into workable pieces and understand better. When you start learning to program, you develop the habit of working your way out in a very structured format. You analyze the problem and start thinking logically and this gives rise to more creative solutions you’ve ever given.

> Whether you want to uncover the secrets of the universe, or you just want to pursue a career in the 21st century, basic computer programming is an essential skill to learn.
– Stephen Hawking

>Everybody in this country should learn how to program a computer… because it teaches you how to think.
- Steve Jobs

### Programming provides Life-Changing Experience
Programming always provides you with a new challenge to take the risk every time and that teaches you to take the risk in your life too. The world is filled up with websites, apps, software and when you build these yourself you’ll feel more confident. When a programmer solves a problem that no one has ever solved before it becomes a life-changing experience for them.

## What is Programming🤔?

A *program* is a set of instructions to perform a task on a computer.
*Programming* is the process of designing and building an executable computer program to accomplish a specific task.
Well, according to me programming is like raising a baby. We provide knowledge(data) to help understand a baby what’s happening around. We teach a baby to be Disciplined(and much more) by making rules.
Similarly, a Computer is like a baby. We set rules and provide data to the Computer through executable programs with the help of a *Programming Language*.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/874h6kif4nebz62v7ovr.jpeg)
(Photo by Clément H on Unsplash)

That’s it👍. If you can understand this basic concept of programming, you’re good to go. Pick up a programming language and start learning. Read the following section to get an idea of where to start.
My recommendation is to choose Python Programming Language as a start, coz it’s Beginner-friendly. If you’re interested in [Python, check out my blog👇.](https://medium.com/techsoftware/python-programming-a-beginners-guide-4445e0876808)


## How to Learn a Programming Language?

Anyone can start to learn a programming language, but to learn it effectively you need to learn the **Building Blocks** of a Programming Language.👇

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/vu98ax3ei4zx0verespc.jpeg)
(Photo by La-Rel Easter on Unsplash)

### Syntax
In the English language, Syntax is the rules for how a sentence is constructed.
In a programming language, Syntax is the rules for how each instruction is written.

### Semantics
In the English language, Semantics is the actual meaning of statements.
In a programming language, Semantics is the effect the instructions have(logic).

### Data Types
A Data type is a classification of data we want to store in memory.
Data types can vary from one language to another. But the type of data we would like to store is common across all languages.
The type of data a data type supports to store are Numbers(Integers, Floating-point numbers), Characters(Strings), Booleans(True/False), Arrays, etc...

### Terms
When it comes to a programming language there are these terms(buzzwords) you may come across in your learning journey. Some commonly used terms are Variables, Expressions, Statements, Functions, Classes and many more. You don’t need to worry if you feel any difficulties, use this Dictionary👇 as a resource.

**Resource:-**
[Data type](https://en.wikipedia.org/wiki/Data_type)
[The Tech Terms Computer Dictionary](https://techterms.com/)

**Coming up** are the most important concepts for a programmer to improve their skills. And these concepts help you excel the technical interviews for Programming based Job-roles!

## Data Structures
A data structure is how we can store, access, organise and manage the data we have created in a computer.

>In computer science, a data structure is a data organization, management, and storage format that enables efficient access and modification. More precisely, a data structure is a collection of data values, the relationships among them, and the functions or operations that can be applied to the data.
— Wikipedia

👉A good programmer must know when and where can we utilize a data structure in a program. And this comes with practice, so use this resource and start practising using your favourite programming language👇.

## Algorithms
An algorithm is a step-by-step procedure to solve any computational problem. And when it comes to Computer Science, there are a bunch of algorithms which are must to know ones.

>In mathematics and computer science, an algorithm is a finite sequence of well-defined, computer-implementable instructions, typically to solve a class of problems or to perform a computation.
— Wikipedia

Well, there are many types of algorithms but the most fundamental types of algorithms are:
1. Recursive algorithms
2. Dynamic programming algorithm
3. Backtracking algorithm
4. Divide and conquer algorithm
5. Greedy algorithm
6. Brute Force algorithm
7. Randomized algorithm

Use the following resources to practice and know more about Data Structures and Algorithms.

[Solve Data Structures Code Challenges](https://www.hackerrank.com/domains/data-structures)
[Data Structures- GeeksforGeeks](https://www.geeksforgeeks.org/data-structures/)
[Solve Data Structures Code Challenges](https://www.hackerrank.com/domains/algorithms)
[Algorithms- GeeksforGeeks](https://www.geeksforgeeks.org/fundamentals-of-algorithms/)

## Best Practices
The last one is the best practices and coding style.
This is an important point for a programmer to work in a team set up, coz programs and codebases you write must be programmer-friendly.
And even this comes with practice, so take time and refer the resource👇, whenever you’re ready.👍


## The trend in Programming Languages

[Most Popular Programming, Scripting, and Markup Languages](https://insights.stackoverflow.com/survey/2020https://insights.stackoverflow.com/survey/2020#technology-programming-scripting-and-markup-languages)

[Most Loved, Dreaded, and Wanted Languages](https://insights.stackoverflow.com/survey/2020#technology-most-loved-dreaded-and-wanted-languages)


## Keep Learning👨‍💻👩‍💻
Now, I guess this is where I say GoodBye👋. But, Hey it’s time for you to start learning📖 with your newfound Knowledge🧠 and Power💪.
🙂Good Job that you made this far and Thank you so much for reading my Blog. And stay tuned by following my page for updates.😇