Programming fundamentals for web development

Programming 101

Publication date: 03-03-2022

Learning to program from scratch

If you want to start programming it is necessary to have some basic concepts that will help you to better understand this path. This post is a general guide about programming fundamentals, languages, paradigms and specializations that will help you to clarify your decision.

First of all, there is no single programming language, as of the date this article is written there are many languages in existence, each with its own characteristics. What all programming languages do share are their fundamentals, although each one has its own syntax or particular way of writing an instruction.

Second, you don't need to be a math genius to program, you can rest easy about that myth πŸ˜‚, that "programming is for geniuses" is from people who are afraid to try something new. Everyone can learn to program with the necessary discipline and willingness to learn and know how to deal with challenges; I'm not going to lie to you, programming is easy to understand but hard to digest, think about it πŸ˜‰. It takes practice but until you master the concept πŸ’‘, applying it becomes simple.

Math is going to help you develop logical thinking but it is not necessary at a hardcore level unless you go into data science or artificial intelligence, otherwise a good Googling to understand how to do a calculation is not going to detract you. πŸ˜—πŸŽ΅

Third, knowing how to make queries is TOTALLY VALID. Programming is equivalent to handling a lot of information and roadblocks are common during the learning or development process, nowadays there are forums, search engines like Google (or Yahoo for those who use it πŸ˜†), Stack Overflow, groups in social networks and Telegram, and if you are lucky enough even a mentor.

Fourth, DO NOT BE AFRAID TO MISTAKE, programmers are lucky to have a community willing to help but I'm not going to lie to you, there will always be someone out there who will call you a fool for doing X query... That's what compiler errors and bugs are for 🀣. Just don't pay attention to that kind of people and look for your answer (this is linked to the previous point).

The worst thing that can happen with errors is that your computer gets stuck because of some infinite loop, a deleted database 🀐, bugs πŸ‘Ή, the collapse of the global financial system or that Facebook (Now Meta) leaves the planet without WhatsApp again.... But nothing to do with a building collapsing or that you used the scalpel where it wasn't meant to be. πŸ™‚

πŸ“’ Note: made fools those who manage technology possess great power and demos thanks to ${your_preference_deity} for Git.

Having made the above clear, let's move on to the next point. πŸ‘‡πŸ»

What are the programming fundamentals I need to learn?

  1. Variables

  2. You must understand how the information will be stored and how it will flow through your program.

  3. Data types

  4. You must consider and apply common sense when using data, it is not the same to perform a mathematical operation with numbers than to try to do it with text strings, think about it. πŸ˜‰

  5. Operators

  6. You should know how to concatenate, do mathematical operations and compare your data.

  7. Control Structures

  8. Now that you know what data you have, you must determine how it will flow through your algorithm. This is possible thanks to loops and conditional blocks.

  9. Data structuring

  10. You must control how the data will be stored to determine its flow. The most basic form of data storage is with variables but you should know about Arrays, Lists, Dictionaries and Objects.

  11. Functions

  12. The most important pillar of programming, functions are the nerve center of every program and are going to allow you to execute instructions.

  13. Take a break and have a coffee β˜•

  14. Don't get crazy trying to understand everything.

There are other points you need to understand as well.

Other basic programming concepts

Algorithms

Algorithms are nothing more than a succession of steps to follow to achieve a goal. It is something that we apply every day unconsciously, like when we cook. Following a recipe is a good example of how to execute an algorithm because we are following some steps to achieve something and with practice we can execute that recipe without the need to consult it and we even get the ability to alter it.

There are methodologies where they teach you algorithms with flowcharts or pseudo code, to be honest, look for the one that is easier for you to understand the concept.

Diagrama de flujo
A random flowchart example from Google.
//Pseudo code example

If this condition happens ( condition ) {
"This code block happens";
Else {
"This other code block happens";
}
}

Programming languages

As I mentioned at the beginning of the post, there are many programming languages and it is advisable that you specialize in one and after that choose another if you require it since the fundamentals are the same and what changes is the way of writing the instructions. Here is a list of some of these programming languages:

Each of them specializes in a different development and paradigm (🚫NOT HTML🚫). There are even languages that can cover different fields of software development such as JavaScript and Python.

It will be your decision which language to start learning to program with. If video games are your thing C# will be your best choice to learn Unity. Want to learn how to make mobile apps? Java, Swift and even JavaScript can help you. Want to learn artificial intelligence? Python is for you. Do you want to learn web development? Here there are two options: Front-End and Back-End development. For the Back-End you can learn PHP, Python, Node with JavaScript or SQL, for the Front-End your best ally is JavaScript, and if you realize it is a language that gives for several fields.

If your intention is to learn web development, I invite you to read this JavaScript Programming Fundamentals where I explain in more depth what is mentioned in the chapter above in addition to other technologies for building web pages such as HTML and CSS. Once you have a foundation you can choose to develop with other technologies such as TypeScript along with Angular, Vue or React.

Sir Arthur Dayne