Last Updated:

9 difficulties to learning Java.

difficulties to learning Java

1. The first question you ask yourself is: Where to start?

So, you decide to learn Java, try to take the first steps, buy a book and after a while you understand, it is written as if the genius wrote himself a cheat sheet – everything is complicated and short.

It seems that something is clear, there are familiar words, but it is not interesting and somehow viscously progresses. Enthusiasm subsides a bit. You think a book is not an option, I'll go on the Internet on forums and ask me what I need to do to write my first program. In response, there are a lot of posts, mostly scolding moderators for duplicating the topic, mockery of pseudo gurus and links that you followed, but did not understand anything written there.

The desire to ask other questions disappears completely. But you don't give up — you're trying to write your first program — but it wasn't there, the elementary program doesn't run. Instead of "Hello world!" on the screen is a mistake that tells you little.

You sit and think: "I didn't understand much from the book, on the Internet I am received with hostility, as soon as I appear with my stupid questions, I cannot even run the first program. Maybe I'm not as smart as everyone else and Java isn't for me? How do others start?" And you start to get mad at yourself.

2. Another thought that visits a beginner: "Java is too complex a language, probably not everyone is able to program in it."


Once you've had a hard time launching your first program, you feel like the smartest person on earth. But after a while, the question arises: If I have such difficulty running an elementary program, how will I write enterprise-level programs?

To do this, you probably need to have brains no worse than those of the creator of the spacecraft. I don't think I'm going to pull. To learn how to program at this level, you need to live several lives.

3. The next fear of the newcomer: "No one likes newcomers, no one wants to help them, they are laughed at and mocked"


If you start the first steps in any direction, you know that in the beginning it is always difficult. Because it is not so easy to break through the first barrier of misunderstanding, condemnation. What is needed here is will and perseverance.

Not everyone has them. Not only that, you are often besieged by smarter colleagues, put in your place, sometimes humiliated and thereby amuse your ego. It is not easy for you at first, and then some "pseudo gurus" are trying to put pressure on you and mock you. It often happens like this: something did not work out - and there is no one to ask.

Professionals often do not like to distract themselves in order to help a beginner, because for him this is already a passed stage, and he looks far ahead and does not want to look back. Even if he answers you a couple of times, do not think that he will solve all your problems all his life, because he has enough of his own. And you are left alone with your problems.

4. The fourth problem of a beginner: "Where to find the necessary information?"


There's a bunch of disparate information on the Internet, you don't know which one to take on. You have to collect everything bit by bit, systematize it yourself, which is inconvenient and takes time, which is already a little.

The Internet is a big garbage dump, and you are convinced of this every time, trying to find something you need. Before you find the answer to your question, you have to sort through a lot of garbage. You literally dig through a dumpster, knowing that someone dropped a gold coin in there. Finding up-to-date information is very difficult.

All this leads to the fact that your interest in learning decreases, and then you begin to move very slowly or completely stop.

5. Consider another problem: a beginner is sure that you need to read more than a dozen books to learn how to program.


Have you ever had this thought: "Only geniuses can learn from a book, or those close to them" or "To finish reading the whole book you need to have super discipline"?

You try to conquer a book several times, but you are sure to get stuck in some place and there is no more strength and desire to go on. The question arises: if I can't master one book, what can we say about ten? You are angry at the author of the book who did not bother to explain everything in normal human language. Instead, he uses some abstruse words, after which the brain begins to melt from overheating.

6. Another thought that beginners visit: "Java is developing very quickly, I can not keep up with it, especially since I have not even started learning yet."


Java is developing at such a pace that no one knows where it will find application in a couple of years. He has many directions, each of which can be studied for the rest of his life, but never understand all his subtleties. Now Java is a kind of Serpent Gorynych, whose head is cut off (in the form of outdated technologies), and in this place two grow, which are even stronger than the previous one. And so on ad infinitum.

Therefore, it seems that the train has already left, the one who managed to jump on it are lucky, and we will have to continue to program on our "native" Pascal and Visual Basic, deep down envious of everyone else. To yourself, you keep repeating that you are not only at the beginning of the journey, and you have not even set foot on this path.

7. The next problem of a beginner: "I want to get a job as a programmer, but without experience they do not take anywhere"


You learn a new programming language to realize your creative potential and earn money on it. But the problem is that the employer often looks at your experience, and you only have a university program there, which in our time is very lame and is not an indicator. Unless, of course, you have studied somewhere in Oxford or Cambridge (then you do not need to look for a job, it will find 🙂 you herself) In most cases, the reality is that after passing the university program of study, you get the following qualities:

  • the ability to negotiate with people (the teacher becomes your best friend when the time of the session comes)
  • ability to quickly navigate in an emergency situation
  • the ability to find a solution to your problem at the expense of other people (write off, pass off someone else's decision as your own, ask a friend to take an exam for you)
  • inability to plan time
  • lack of discipline
  • lack of real knowledge of programming.

Even if you've learned visual basic or Pascal, and if you write it on your resume, the employer will laugh in your face. Upon graduation, thoughts involuntarily come: "What to do? Where to gain experience? Why didn't I think about it before, instead walking around and having fun? I had to master everything myself, and not rely on the university." The feeling of lost and misplanned time does not leave you.

8. The eighth obstacle that sits in the head of a beginner: "You need to have a good command of the English language to learn how to program in Java"

Unfortunately, all sane literature and information on Java are in English. And you are not that in English, in Russian, then you can not understand what the author of the book wants to convey to you. Hence the following opinion: before you start learning Java, you need to master the English language, and this will take a couple of years. Especially if in English - a complete zero.

You think no, Java is definitely not for me, I don't know English and there is no desire to learn it. Why didn't translators bother to translate at least the main books on Java into Russian? Yes, so that it was written in a human way.

9. Soon all beginners come to this question: "Which programming environment to choose? So many people, so many opinions."

Choosing a programming environment is like choosing a machine. You start asking your friends what kind of car to buy. Everyone offers their options, depending on what they drive. It seems to you that you buy a car once and for life. As a result, you buy the cheapest and unpretentious.

When you ask someone why you should choose, for example, Eclipse and not Netbeans, the reasons for the choice are not so obvious. One likes the design, the speed of work, the third - convenience. You think how nice it would be if all these advantages were collected in one program in which everyone would develop their applications. As with the car - how nice it would be if all the best that is in the cars was collected in one.

But there is no such thing. And you have to rush between choices, you try to start programming in one environment first, then switch to another, because someone on the forum recommended it. And so you jump between them, losing precious time that could be spent on mastering the language itself.