How to Learn to Program Yourself: 6 Basic Types
If you're really serious about coding and really want to learn how to learn how to code on your own, start learning types of programming. In this article, you will learn about 6 types of programming. Choose, learn. Start with the one that best suits your mindset. This is as important as the choice of the first programming language.
"Ok, I see. How will be correct?"
How to learn to program?
Study the typology and choose the most consonant strategy for yourself
In 2002, not a single educational institution where you could be taught the basics of programming had such an item in their curriculum. In 2018, we have convenient editors for working with code, where half of the patterns are automatically set by hotkeys, free online courses and step-by-step product development videos. But this is all for those who do not plan to learn how to write code by hand, but only want money from projects made “on their knees".
Lay a solid foundation for learning – learn your mindset, and it will not be difficult for you to find a development method that interests you. But if you are not familiar with the term “thinking types”:
Search the Internet or special literature on psychology for some more or less serious type test and pass it. This will make it easier for you to understand what type of programming you are naturally inclined towards.
“I'm too lazy to take any tests. I don’t understand why I can’t just choose what I want – why complicate it with some types?
By taking the time to learn about yourself at the initial stage, you will ease your way up the career ladder and will better understand the origins of various processes in programming.
Relearning is painful
For example, you ignored the recommendations and did not continue to read the article. You love procedural programming and get 60,000 zepe for working on projects. At some point, a task comes that forces you to leave the familiar and familiar types of work on the code. And here you catch yourself feeling that the functional code does not lend itself to you. Because "the brain is crammed with patterns of procedural thinking." In order not to mock yourself, read on what types of programming are and take your time choosing a language.
6 types in programming
For those who want to know how to learn to program on their own
1 Imperative type
It is also called procedural programming. An example of constructing algorithms using imperatives is the Turing machine.
Known languages:
- C/C++;
- Ada;
- Pascal;
- Go
To solve problems, you need a language that a machine can understand. Tasks are solved in accordance with the chosen system or planned plan. For example, an action with an object:
- object is declared
- the object is defined,
- an action is performed on the object
In the case of this type of programming, language optimization is carried out on a machine-to-human basis. In order to correctly set this vector, the following basic principles of object-oriented programming are applied.
If you remember the course of mathematics, namely, about functions and value assignment, then the fact that the same values u200bu200bhave the same result will also arise in memory – regardless of how often the function is executed and where it is located in the task.
In procedural programming, the values of variables can change depending on how the program will be written. Thus, the result depends on certain conditions and is not independent.
2 Declarative type
If in imperative programming the process of performing a task matters, then in a declarative type it is not so important. How the problem will be solved is a secondary issue, the main one is that it be solved.
For example, when working with HTML markup, there is no need to formally assign attributes to an object. The task is to place the button? Make the markup and specify the text of the button – you're done!
3.Functional type
Let's take a look at math again. The results of executing arbitrary functions are easiest to represent as a table with data. But no matter how we represent this data – in the case, as already mentioned, with imperative programming – the result is not a constant value. It is affected by changes that occur while the program is running. The result thus loses its inviolability.
"I see. What about the functional type?
Everything is much smoother here. During the process, you can operate not with specific values, but with other variables. Such as source functions, increment functions, and result functions.
Despite the fact that functional programming does not have a result that is considered a disadvantage, depending on specific conditions, this type of programming is considered to be difficult.
Indeed, if you undertake to write application problems in Lisp lojure or Haskell, redundancy cannot be avoided.
This type is distinguished by little competition in the labor market and higher salaries. If you are not afraid of the complexity of functional programming, it will not be boring, because working with data in this form is an exciting experience.
But, these are not all types, so do not rush to study.
Read on, it remains to learn 3 more types of programming without which the typological picture will be incomplete.
4 Boolean
Here – logic, mathematics, simplicity. Languages:
- Planner,
- Prolog
"Who needs such a simple language?"
Well, probably the appearance of this question suggests that “massive functional” is still suitable for you. And yet, logic programming is used to:
- Creation of AI;
- Brain workouts;
Not so much functionality, the set of actions is very limited, so this type is probably. combined with others, because for independent work it is practically not needed.
5 Dynamic type
Not exactly a programming model, but rather a concept that helps in working on solving complex complex problems. To solve it, one complex problem is divided into several simple ones. Thus, the number of execution cycles is reduced.
The ideal kind of dynamic type of programming would be one simple task that is done only once. In real development, such tasks are rare.
Dynamic programming is such a flexible concept that it can be easily applied to any language. Therefore, it does not have independent language groups.
Another curious feature of this “ghost type” is that, despite the lack of their own languages and applicability in all types of programming, working with a dynamic concept requires a special way of thinking.
Like all types.
6 visual type
Or graphical programming. The peculiarity, as the name implies, is that you are not working with text. Your language of communication is visual information.
“What does it look like?”
In addition to language groups, there are separate groups in development that are associated with forms and graphics. If we are talking about graphics, the language can be not only Scratch or BluePrint. Visualization can be done in different ways.
Other visualization development tools:
- Borland Delphi,
- C++,
- Visual Studio,
- Adobe Dreamweaver
This is far from a complete list.
Visual programming both looks and "sounds" – tempting and simple. If you are a beginner, you may think that it will solve all your problems. But not all education gaps are solved by graphic type or simplified by logical type.
Note: A graphic type in its purest form is as rare as a logical type. Choose a language and learn. Remember and understand the structure of the code. Then something serious will turn out. And more:
Do not consider this typology the only one or the main one. There are many types of programming:
- synchronous,
- asynchronous,
- event,
- sequential,
- parallel,
- on current tasks with the introduction of AI and taking into account statistical data
How to learn to code on your own and why it's important not to get stuck in one of the traits
Having chosen one paradigm at the start, do not let yourself get stuck in it, remember what was discussed at the beginning of the article. Leave room in your mind for growth and learning.
Of course, you can choose one type and be a deep specialist, for example, only in functional programming. But how to learn to program freely? Master all 6 types of development step by step. But let the foundation be the language that at this stage is clearer than the rest. It is easier to always start with what is naturally best developed in you.
When the foundation is thicker by several more layers, consisting of languages, code structures, start exploring other types. The most related to the already mastered. So, the answer to the question of how to learn to program is very simple. Start learning with the one that is related to you and gradually increase the “load” by learning new types. Can you really build a house out of hay and clay if a high-quality and moderately expensive brick was brought to the building materials store?
Note: Don't get attached. Not to languages, not to professions, not to the development environment. Try to start with what works well and don't close yourself off from other possibilities. Realize your potential in any stream. Don't look for yours.
Now you know about the existence of 6 types of programming and you can choose the one that suits you best or meets current tasks.
The next step is to choose a language. But more on that in the next article.