So, you have an idea for a great program, but you have no idea how to implement it? Don't worry, we'll help. True, you will have to spend a lot of time learning a programming language, but this is normal. Let's say even more, many successful programmers are self-taught. Once you've learned the basics, you'll be able to create simple programs in a minimum amount of time. Creating more complex programs, of course, is a more serious task, but as they say, patience and work will grind everything!

Steps

Part 1

Choosing a programming language

Part 2

Program development

Part 3

Prototyping

    Focus on any one function of the program. More precisely, the prototype is always the main function of the program. Let's say you create an organizer program - then the main function will be a calendar and the ability to add events.

    Make sure the prototype runs smoothly. The prototype should be such that it can be used instead of the developed program. The prototype will become the basis, the foundation of everything, so it should work accordingly. In other words, every prototype function must work flawlessly.

    • Rapid changes can be made to the prototype and tested.
    • Of course, the task of testing a prototype requires the participation of many people at once.
    • The prototype can and will change, that's a fact.
  1. Don't be afraid to rework the prototype over and over again. This is its essence - first experiments, then release. It is on the prototype example that you can see if everything works as it should. If the prototype fails, it doesn't matter, just rewrite it from scratch, start all over again. It's better that way, believe me.

Part 4

Program creation

    Create a pseudocode base. This will become a kind of skeleton of your project and the basis for future work. Pseudo-code differs from regular code in that... it is not “compiled” (not processed in the compiler), but it is perfectly readable by programmers and helps to understand what should happen at one or another step of the program.

    • Pseudocode, however, uses the same syntax as normal code, so pseudocode must be written in the same way as a program.
  1. Refine the prototype. You can take the prototype itself, you can take the pseudocode - either way, the point is to make the prototype better, better, faster!

    Start working on the program code. Here, in fact, we got to the point. It is the work on the program code that will take most of the time, not to mention countless compilations, no less countless tests and searches for bugs ... If a whole team is working on your program, then you should start with pseudocode so that everything goes smoothly.

    Don't forget to comment the code. Describe functions and features that you implement in code. This is necessary not only so that someone else, having opened your sources, can figure out what's what, but also so that you yourself do not get confused in your own code if you return to it, say, in a year.

Part 5

Program testing

    Test all new functionality. Everything you add to the program must be tested, retested, and retested. And than more people have a hand in this, the better, the better more bugs can be found. Testers, of course, should be aware that they are working with a far from final version, and therefore errors are possible.

    • This stage of work on the program is often called “alpha testing”.
  1. Test the final version of the program. So, all the functions that should have been in the program have been added to it. Now what? Now again tests. Long, captious, thorough tests - and work on the bugs, of course. Now your program should be tested by even more people than before.

    Test the release version. As you continue to make corrections and additional materials to the program, do not forget to test everything.

Part 6

Creation of additional materials

    Think what you need. This will depend on the program, so consider if you need, say, audio recordings? Graphic arts? Content? Think about it before release.

    Consider whether it is worth outsourcing all this. If you need a lot of things, but you or no one in your team can draw or do sound recording, then you should think about outsourcing. You can easily find freelancers who will prepare everything you need for you.

Programming is a lot of fun, it also allows you to be creative and open up new career opportunities. If you want to learn how to program, then from this article you will learn in which direction you need to move and what to study.

Steps

Part 1

Language selection

    Choice of programming language. Computer programming is essentially writing a set of programs that a computer will follow. These instructions can be written in different "languages", which are different ways of organizing instructions and text. However, to create different types programs use different languages, so choose a language that will be useful for you to study. Some other language can always be learned later.

    Consider C, C++, C# and similar languages. Basically, these languages ​​are used to create computer programs. C and C++ are easy and good for beginners, but C# is getting more and more popular.

    Consider Java or JavaScript. If you're going to be working on web plugins or phone apps, it's a good idea to learn these languages. Now it is very much in demand, so knowledge of these programming languages ​​will definitely come in handy.

    Try Python. This programming language is widely used across platforms and is great to learn. Many swear by oath that for beginners it is very simple, so try it!

    Consider PHP. This language is commonly used for web programming, especially for hackers, plus it's easy to learn and in high demand.

    Consider other programming languages ​​as well. There are many of them, and all have their own areas of application. If you want to work as a programmer, you will absolutely need to know at least two languages, so start studying today!

    • The smartest thing to do is to look at job postings for programmers that interest you and find out which of the common languages ​​they are interested in.

Part 2

Language learning
  1. Consider going to a university or other educational institution. Although most companies, when hiring a programmer, primarily look at his skills, and not on a degree, but a diploma still gives an advantage. In addition, at the university you will be able to study more and more effectively than if you studied on your own, and you will also be taught and guided by professionals.

    • There are many scholarships and grants available for degree holders in this field of study. Don't be intimidated by tuition fees: it's possible!
  2. Study at an online university. Are you studying at a decent online university for money and getting a degree, or are you just participating in a free program like the wonderful Coursera MIT (Massachusetts Technological University), programming can still be learned.

    Try using online resources. To learn programming, you can use free services like the University Consortium from Google or the Developer Network from Mozilla. These companies need new developers to help with the platforms, so their resources are some of the best on the web.

    Learn with online tutorials. There are many programmers who are willing to teach you the basics, and maybe something more advanced, on their websites. To find something similar, just search through the search engine for training programs in the language you are interested in.

    • Many free online classes are available to learn coding from. The Khan Academy teaches computer coding, with easy tutorials and videos. Code Academy is another free site to learn from, with step-by-step tutorials.
  3. If you can, better start young. There are several programs for teaching children to code. For those who are younger, programs like Scratch from MIT are especially useful, and the younger you are, the easier it is to learn a programming language (and indeed any language).

    • Avoid kits, as these rarely teach anything useful.

Part 3

Self-study
  1. Start with a good book or an educational book on programming. Find a good, up-to-date book on the programming language you're interested in. Reviews on Amazon and similar sites will help you choose something worthwhile.

    Get an interpreter for that language. The interpreter is just another computer program, it converts the ideas you write down in the programming language into "machine language" so that you can see how things work. Many such programs are readily available, you will need to choose something suitable.

    Read the book! Take from the book examples of programming in the language and enter into the interpreter. Try changing the examples and making the program execute different commands.

  2. To be a good programmer, you have to keep up with evolving technologies. This is a continuous learning process; you need to constantly learn new languages ​​and new approaches and, most importantly, you need to constantly program something new!
  • Get a good reference book. This should definitely be the latest version - languages ​​continue to evolve.
  • You don't have to take it right away complex languages like Java, start with python, it instills self-confidence in beginners, in addition, it has almost any aspect of programming.
  • Start with something interesting, find motivation to overcome obstacles and develop skills logical solution tasks.
  • Java has a very important concept - multithreading. Study carefully.
  • If you're learning Java, try NetBeans 7.3.1, it's fun and easy.
  • The syntax is actually very important. You can use it your way. Study the example programs, then start writing something of your own.
  • Use Eclipse to write the program. This very useful program can find bugs in the code, fix it immediately, and in addition, a special analysis program can be used to navigate between different code files.

Is it possible to quickly learn to program? How long does it take to master the simplest technologies? Where to start learning? Quora users share their opinions on these issues.

Anthony Pham, software engineer at Isagenix

I can only speak for myself. So, I started working as a programmer only 3-4 months ago and it still seems to me that I don’t know anything at all. Therefore, I believe that it is almost impossible to learn how to program quickly. (It all depends on what period of time you mean by the word "quickly").

At the end of February of this year, I was offered a position on an open source software development team. I had about 2 months to become a Java developer and get to grips with Java, Spring, JavaScript, CSS, HTML, AngularJS, and learn how to use XML, Babel, Nodejs, PostgreSQL and much, much more. Since I managed to handle all this, I was placed as a junior full stack developer based on .NET.

Since I was hired for this position, I have mainly learned how to refactor the code (since they have accumulated a huge technical debt over the years), how to work in an agile development environment, and also how to create unit tests - the best of everything.

And to be honest, I can't say that I know much, although I certainly know more now than I did 3-4 months ago. And this is one of the most intimidating things about programming, the realization that there is an infinite amount of information in this field, and probably this is one of the reasons why it is so hard to start your journey, because it is extremely difficult to understand where to start learning from. From the very beginning of this journey, you will constantly learn something new, especially if you come up with unusual ideas and ways to implement them.

As I have learned over the past few months, the ability to learn is one of the most important skills. Choose a language, development environment, find a suitable project - and start writing code. Google will be yours best friend looking for the information needed to do certain things.

The ability to properly search for the right information is an invaluable skill that will come in handy in any area of ​​\u200b\u200byour life. You just need to decide and start doing something. In order to be able to solve the problems you face in the future (and programmers, in fact, are people who solve a number of specific problems with code), you need to try and fail.

I like the Steve Jobs quote: "Everyone in our country should learn to program, because it teaches you to think." The words “it teaches you to think”, in my opinion, just mean the ability to solve problems.

Learning to code is a continuous and never-ending process, but one way or another, it will take some time to acquire a number of necessary skills.

Edaka Mortorey, has been working with the most different languages and companies

Each person has certain talents laid down from birth. Some are slightly more proficient in programming, so they will learn faster than those who are less given it.

But no one can quickly master the skills of programming. To become a good programmer, you need to learn a huge amount of information. While it is possible to create programs without learning about computational complexity theory, this is supposed to be one of those things that a good programmer should know. Also, for example, there are a huge number of application program interfaces that are not always easy to recognize.


You should be aware of how to debug and optimize your code. Refactoring is also an essential skill. In addition to the process of creating code, a programmer must also be able to work with a source code control system.

Need to know about data infrastructure, security and privacy. I have never heard of anyone being able to learn all this "quickly".

Ulrich Roman, academic degree in physics, software developer for over 20 years

I think many people combine two different concepts here:

  1. Mastering a New Skill
  2. Learning how to apply and further developing this skill

I sincerely believe that every person with a sufficient level cognitive abilities can learn something quickly. And by “quickly” I mean a time period calculated in days, weeks or even several months, depending on the complexity of the topic being studied.

Now let's move on to programming.

I believe that people, having sufficient basic and background knowledge, can master the basics of programming quite quickly - within a couple of weeks. In this case, knowledge of mathematics, as well as the basic concepts of algorithms, can also help. But what is most important: people who begin to learn programming must have a well-developed logical thinking.

Once I decided to teach my father-in-law how to program. At that time, he was already a retired teacher with a sharp enough mind. However, in his entire life he never encountered higher mathematics, algorithms, and it was not very necessary for his work to logical thinking. Needless to say, after suffering for almost a year, I abandoned this useless undertaking.


Another example: I knew a guy who had a higher education in mathematics, but he was never interested in computers. But after reading enough information about software and how it affected the development of the current world, that young man became interested in this topic so much that he decided to learn how to program. And a year later he left with his old work for a programmer. And, he did quite well.

So, back to your question: how do people learn to code so quickly?

Most of them just get the basics right before they start learning how to code, so they can focus on the learning itself with complete peace of mind. Those who do not have these basic skills must first master them, and only then learn programming, or do it in parallel.

Although I have already learned and know a lot, the most important knowledge in my life still continues to be the truth that I must constantly continue to learn something new or improve my skills and expand the field of knowledge.

Gaston Fontenla Nunez , programmer at Circo Studio

I, too, have been asking this question for quite some time. I recently discovered the answer to this.

In the Algorithms and Programming course I taught, I had students who had never seen a single line of code in their lives. Some of them had an aptitude for mathematics, as well as the ability to think outside the box. Others were the most ordinary students, not particularly interested, rather, they just listened.


And a few classes ago, I advised them where to find useful materials and video tutorials, and also gave them a few simple tasks to solve. A week later, they sent me their solved problems - having studied the information on the Internet, they did an excellent job with the task. Based on this, I made the following conclusions:

Anyone can learn to solve simple problems in a few days and even learn the basic syntax of C (or any other language):

  1. Learning to program is a complex and multi-step process. It's like learning a language, when in order to consider yourself a professional, you need to learn as many ways as possible to say a phrase. All this takes time and effort. In addition, there are levels of mastery. You can't say you "learned to code" if you can write a simple program.
  2. The material being studied is extremely important. The Internet provides a huge number of sources; all you need to learn to do is to learn to distinguish between a specific and laconic explanation from a mere brief one, and also to weed out overly wrapped, long and generally useless material. Also, if you have a mentor who can help you with clarification, then your learning will probably go much faster.

I don't consider myself an expert or a noob. I am somewhere in the middle, but I continue to study every day, clarify questions that I do not understand and try to help if it is in my power. I know how to do really cool and complex things in C++, it took me about 2-3 years to learn it on the job. If you, like me, are passionate about what you do, then you will need somewhere around 4-5 years.


There is a huge amount of educational material on the Internet, which is why people learn so quickly. If you don't understand what an article is about, you're just reading another. Forums and blogs are also extremely helpful.

For example, I had no education related to programming, I didn’t even have computer science at school. But, three years after graduation, I was already preparing for the International Olympiad in Informatics, and then began to work as a teacher at the university. I repeat: I am not a genius at all, I had low grades at school, it was also hard for me to study at the university. But I wanted to get better. Perseverance and self-confidence, hard everyday study and a little bit of luck have helped me rise to a new level.