Where to start programming? Programming path
If you are planning to enter the world of programming, you have questions such as where to start programming, how to become a programmer, what is the path of learning programming, with what course should we start programming? What are the different trends in programming? What is the difference between mobile and desktop programming? What is the difference between mobile and web programming? What is the difference between web design and web programming? In this article, we are going to answer these questions and tell you how to enter the world of programming and what is the best way to learn programming?
One of the most lucrative and of course very popular jobs among graduates of technology-related fields and of course other fields is programming. Before entering the world of programming, all these people have many questions in their minds, such as where should I start programming? What is the best programming language?
How much time should we spend learning programming and such questions. Many friends and people around me ask me what exactly is your job or where should we start to become a programmer? In this article, I intend to share my personal experiences that I faced during my 12 years of programming so that many of these questions may be answered. Of course, there are many questions and ambiguities in this field, but I will try to mention the most important ones in this field.
Interest and patience
In the first step, we must determine with what purpose we are going to enter the world of programming? Usually, people enter this profession with two goals, one is their interest in programming and the other is financial. As I said at the beginning, programming is considered one of the most lucrative jobs (although not as much as a movie superstar or a football player) and a person who enters this job professionally can reach a high income level after some time. reach
But just having a financial goal is not enough. It is natural that every person should be interested in that work in order to progress in any work. Especially programming work that requires a lot of patience and you as a programmer sometimes have to dedicate several hours of your precious time to solve a problem or write an algorithm.
Programming doesn’t have day and night, most programmers are nocturnal (as the saying goes, I am a lonely man at night :D). There are situations where you may not be able to sleep more than 5 hours in 48 hours. So remember, the most important thing is to be interested in programming, and it is this interest that gives you patience in your work and helps you deal with the insomnia and problems of a programmer.
Where to start programming?
Determining the route
You must first determine in which field you intend to operate, the programming job is divided into various branches, from designing system programs to web design and writing mobile programs, all of them are under the programming branch. Your mood has a big impact on the path you choose. Let me give you an example, if you are very interested in nature and art, you can be sure that you can succeed in the field of web design as well as user interface design.
Back-end coding (writing codes related to a program that cannot be seen by the end user) requires patience, unlike user interface design and web design, which calls for creativity and art. For example, people who are very interested in solving complex problems can be successful in the field of Back-End programming and of course system programming, also this category of people will be successful in the field of writing software frameworks.
Where to start programming?
Constant study
Do not doubt that you must study. The world of programming is constantly changing, and new technologies and versions of programming languages are released to the market every year. For example, 6 versions of C# programming language have been released so far, and each version includes new features. You should set aside time for reading books and this time is permanent. Constant study is the condition of your success.
You should be able to use the resources available on the Internet in the best way. Improving your internet search ability will help you a lot. Many times you come across problems that the only solution to these problems is to refer to the resources available on the Internet. Many articles are published on different websites that you should read in addition to books.
A person who does not study is like water in a pond that does not flow. Try to use resources in English as much as possible. (Of course, factor ITPRO in this case :D) Many people have problems with reading books in English, but if you finish one book, it will be very easy for you to read the next books. Most of the resources that exist in Farsi will only confuse you due to mistakes in translation or even excessive translation.
Choose the right language
Many people have trouble choosing a programming language. It is very important that you choose a language that is based on your interests. As we said, the programming branch is divided into many sub-branches, such as Desktop Application and Web Application or mobile applications as well as web applications. Each of these branches requires learning one or more programming languages.
Mobile applications are written based on several different platforms. For example, for Android, you must learn Java programming language. Writing Android applications is heavily dependent on the Java language. Of course, there are other frameworks, such as Ionic or Apache Cordova, as well as Xamarin, with which you can write programs for Android. But Android programs are written directly in Java, which are called native programs. they say For iOS applications, you should be familiar with Swift, which has a direct relationship with the Objective-C language. Or for Windows Phone programs, it is possible to write programs with C# or HTML, CSS, and JavaScript.
Web programming:
If you plan to do web programming, you must first determine what technology you want to use. The most famous in the field of web programming are PHP and ASP.NET, of course there are other technologies such as JSP, but they are not as popular as PHP and ASP.NET. Many people are constantly debating whether PHP or ASP.NET is better. But let me tell you that whether you learn ASP.NET or PHP professionally, you can design any site. Currently there are large sites that were written with PHP, for example Facebook is completely based on PHP and MySQL or sites like ITPRO and StackOverflow are written with ASP.NET. In my personal opinion, the advantage of learning ASP.NET compared to PHP is that your hand will be open to writing other programs such as Desktop Application, because by learning ASP.NET you must also learn C# language. Both PHP and ASP.NET are rooted in the C language. In addition to PHP and ASP.NET, you must also be familiar with HTML, CSS, and JavaScript. You should also be familiar with databases, usually PHP programmers use MySQL database and ASP.NET programmers use SQL Server database. Of course, you can use the MySQL database in ASP.NET and vice versa. Another new technology introduced is NodeJS, which is completely based on JavaScript, and many programmers choose NodeJS as their choice for web programming. It is also very popular.
Many people who are new to the world of web programming do not know the difference between web design and web programming. A web designer is someone who designs the skin or template of a site, that is, the appearance of the site that the end user will deal with, but a web developer is the person who writes the code related to a site, codes such as bank communication Information, user validation, etc., besides having creativity and artistic flair, a web designer must be familiar with the following:
- HTML language for creating web pages
- CSS language for styling web pages
- JavaScript for writing user-side code
- jQuery is a javascript based library
- Bootstrap for ease of work in creating web pages
- Photoshop to create a basic website design
The things that have been said are the basic requirements for a website designer, along with these things, familiarity with color theory and graphic concepts are also very important and help to create attractive designs.
Where to start programming: the way to learn programmig
The things that have been said are the basic requirements for a website designer, along with these things, familiarity with color theory and graphic concepts are also very important and help to create attractive designs.
Desktop programming
Most of us deal with this type of programs every day, programs like Word or Excel. These are desktop programs. A desktop programmer can create these programs from Java and .NET. choose one Of course, there are other technologies such as C++ MFC or C++ QT, but for the convenience and speed of Java or NET work. Recommended. Both languages have a good job market, if you choose Java, learning Java should be your priority.
1.Guaranteed and supported introductory mobile programming course (Android)
2. Guaranteed training course with advanced C# programming support
But if you choose .NET, you can choose between Visual Basic and C#. I suggest you to choose C#, because the market is better and the resources and books that exist on the internet are mostly based on C# language. Perhaps the advantage that Java has over .NET. He mentioned the ability to run Java programs on different platforms such as Linux, Windows, etc. NET of course. also supports this feature, but not fully! In addition to learning programming languages, include learning databases such as SQL Server or Oracle as part of your program.
Having a conditioned mind
Learning a programming language alone will not make you a professional programmer. Becoming a professional programmer requires a lot of effort. I will give an example, if you learn English very well in your own country, when you travel to an English-speaking country, you will have difficulty communicating.
Programming is the same, a programming language is nothing more than a few keywords. But learning these keywords alone will not help you. You should be able to solve a problem by coding, which requires familiarity with programming algorithms. Your mind should become a mind that quickly produces a solution for it after seeing the problem.
This mind is called a mind conditioned for algorithms or an algorithm-generating mind. This mind is achieved only by practicing and writing dozens of different programs for you. For the first year or two, you will be heavily challenged with algorithms. But after some time, your mind becomes conditioned to write algorithms and even for problems that are new to you, you can easily and quickly create solutions.
How do we work?
Many people have this question in their minds that it is better to work for ourselves or to be employed somewhere? Do not doubt that it is better to get hired in an organization to begin with. We even suggest that if you are just starting out, work as an intern for a company to learn the ropes. Being around experienced people will help you a lot. In the previous part, I said that studying has a great impact on your progress, but studying alone is not enough and a lot of your knowledge will quickly be erased from your mind if you do not do something practically.
You have to engage yourself in work so that you can use what you learn. A successful programmer is successful because of experience, not because of what he learned by reading. Study and experience are complementary in this work. When you get hired in an organization, you learn how to use your knowledge in real projects. Over time, all these will become experiences and will make you a successful programmer.
Over time and with experience, you can work for yourself. At this stage, you have to create a brand for yourself. You may need to do some projects at much lower prices at the beginning of this stage so that others know you. When you plan to work for yourself, be sure to have a personal website and put your expertise on it. You can build a brand by operating on sites that exist in your field of activity.
Learning from others
Studying other people’s codes has a great impact on your progress. Try to download and study other people’s code samples from the Internet. You can even play with the codes. The further you go, the more you know, this knowledge is through studying and learning from others. Participate in groups where other programmers are present and discuss with them. Use their experiences. Ask your questions on specialized websites and get answers. Connecting with other programmers will speed up your progress many times over.
Practice and do the project
If you want to become a professional programmer, constantly define projects for yourself. There is no need for projects to flow to you from others. Dedicate the times you have free time to training and writing different programs. You think you can write a database, define a project for yourself and start working. It is not necessary that the project you define will be presented as a product, look at it through the eyes of practice and learning.
I myself often define such projects for myself and write code for myself, they are different topics, for example, I decided to write an ORM some time ago, there are many ORMs, such as Entity Framework and NHibernate, which are very powerful. They are, but I defined the project and started coding. The most important advantage of this work for me was learning issues that I was not familiar with before, and these issues helped me in several projects.
Develop ideas and work on your ideas, there is a saying that says that the wheel should not be reinvented, but many people who want to enter a profession, in order to become a professional in that profession, maybe start from the beginning to create a value Maybe you created something better. Be confident and start, you will feel the change after some time.
Techniques and tools
When you reach an intermediate level in a language, move on to learning programming techniques as well as using peripherals. For example, one of the topics that a programmer should be familiar with is Design Patterns. Learning techniques will help you solve your problems in less time and of course write better code. Also, use different tools, there are many tools that will help you and your work as supplements. Finally, I will review the things that I mentioned in this article:
- Get into programming if you are interested in it
- Choose your path based on your interests
- Every day, devote time to study and research
- Choose your programming language based on what you want to do
- Condition your mind for algorithms
- If you decide to work for yourself, first be sure to get hired as an intern or employee in a company.
- Use the experiences of others
- Practicing a lot makes you a professional
- Get to know different techniques and tools in programming
I hope that this article has been used by friends and loved ones who are planning to enter the world of programming