Programming fundamentals for web development
Publication date: 01 - 11 - 2023
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?
Variables
Data types
Operators
Control Structures
Data structuring
Functions
Take a break and have a coffee ☕
You must understand how the information will be stored and how it will flow through your program.
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. 😉
You should know how to concatenate, do mathematical operations and compare your data.
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.
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.
The most important pillar of programming, functions are the nerve center of every program and are going to allow you to execute instructions.
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.
//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:
Python
C#
PHP
Java
Go
Ruby
SQL
Swift
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.