Kickstarting Your Coding Adventure

Learn to Code with Introduction 102

This article will guide you through the initial steps of your coding career, including how to learn programming languages. Before delving into the best learning resources, we'll clarify some essential terminology that may initially seem confusing.

Compiler

You might hear this word a lot at first. A compiler is simply a translator between a programmer and a computer. We write some sentences, and the compiler translates them into assembly code, which the computer understands as zeros and ones.

Assembly code

It's an early low-level programming language designed to offer a more human-readable way to write instructions for the CPU.

Syntax

it’s like a set of rules that defines how to write valid code in a programming language.

Every programming language has a compiler that checks the syntax and some other things to make sure the code is ready to be executed by the computer. With time and experience you will know that programming languages syntax is a bit similar.

Terminal

Typically refers to the software program that provides a text-based interface for interacting with the computer's operating system.

rm /usr/test.txt

Example: In this code snippet, I'm telling the computer to delete a file named text.txt from a directory called "usr".


C++ vs. Python: Choosing Your First Programming Language

Next, we’ll discuss starting with two programming languages: C++ and Python. You can choose either or learn both. However, if you opt for both, I recommend starting with C++. It provides a strong foundation in understanding how computers and compilers manage memory and CPU operations. On the other hand, if you’re looking for a quick and practical start, Python is a great choice. It’s highly popular, versatile, and opens up opportunities in numerous fields.

PythonC++
SyntaxEasier to learnhas more rules but also more features
Popularityhas a huge community with a lot of beginners tend to learn it at first.Not huge but has a lot of supporters specially experienced ones.
Application DomainWeb Development, Data Analysis, Data Science,…etcGame Development, Embedded Systems, Networking, ..etc

So, let's take a look. We can divide the resources into comprehensive series of articles and complete video courses to thoroughly practice the language.

C++ Resources

Articles:

C++ Tutorial - Geeks for Geeks: it’s one of the best series to learn from it literally takes you to be a full professional we can say it covers 90% of what you would want to learn in C++.

Learn C++ - Tutorials Point: This is also a very advanced series that guides you from A to Z. It includes some additional topics like multi-threading and sockets, which are useful if you are determined to go the extra mile and work with C++ in the future.

I don't recommend this, but if you only want to learn the basics, you can stop reading the articles when they start discussing OOP.

OOP, or (Object-Oriented Programming), is a programming paradigm that revolves around the concept of "objects," similar to real-world objects (companies, real estate, etc.). To be more descriptive, it allows you to define real-world objects in programming languages.

We will be sure to discuss it later in our series.

Videos:

C++ for complete beginners - Udemy: This course is a step-by-step guide that takes you from installing and setting up the environment to explaining OOP concepts.

Learn C++ in 1 Hour - Programming With Mosh: Some might say that YouTube is too outdated for programming tutorials, but that's not true. There are some valuable resources available. This is a quick crash course that helps you learn the syntax with a brief overview.

C++ Full Course - Youtube: There is another excellent video that covers everything you need to start with in C++, including installation and all the fundamentals.

Python Resources

Articles:

Geeks for Geeks - Python Tutorial: This special series contains a lot of useful information and is very beginner-friendly.

Tutorials Point - Python For Beginners: As always, it goes the extra mile with its articles, including some that are important to know at the beginning, such as error handling, multithreading, and some built-in libraries.

Built-in libraries are collections of ready-to-use functions that can save us a lot of time when coding.

Videos:

Programming With Mosh - Python in 1 Hour: a quick and simplified tutorial.

Bro Code - Python Full Course: This special video has done very well with the content. It includes a lot of additional information, such as encryption, API concepts, and teaching you how to create a user interface app with buttons and frames.

Python for Data Analytics - Full Course for Beginners: This is also a great starting point for anyone looking for a job in Data Science or Data Analysis.

Introduction to Python Programming: A somewhat fast-paced course, but still very good.

Additional Resources:

Data Structures in C++