A
A
Amarg02015-05-03 12:29:27
Programming
Amarg0, 2015-05-03 12:29:27

How is the crisis of a novice programmer treated?

In general, this is the situation: I started learning c # from Schildt's book (before that, only a primitive basic university level c, c ++), everything goes easily, smoothly, and at times, well, very boring. And gradually, from one gray chapter to another, the very interest in programming disappears. Not that I expected a celebration of life from teaching, but still.
Perhaps it was necessary to start with something else, or I incorrectly consider training as a whole, because I want tasks, small programs, because understanding the material is very easy, but I also easily forget it. And when I thoroughly sit down to write any flashed idea, I understand that I don’t find practically any tools at hand.
Doctor, what's wrong with me?

Answer the question

In order to leave comments, you need to log in

17 answer(s)
M
Maxim Kudryavtsev, 2015-05-03
@kumaxim

Mr. beginner, you have a perverted approach to programming in general.
A program is a way to do something more efficiently ... a way to achieve some given goal with fewer resources.
Let's take, as an example, the same accounting at the enterprise. Why do you think 1C Accounting has spread so widely in the Russian Federation and the CIS? This program allows an accountant to generate a report for the regulator (FTS, PFR, etc.) in 2-3 mouse clicks, instead of a person sitting with his hands looking for payment orders, calculating taxes, etc. The software simply pulls up a bank statement, analyzes it and issues a piece of paper ready for printing, which saves the accountant a lot of time. Calculation of paid taxes and reports to social funds is generally a beauty - 8 mouse clicks and you're done :-)
What did I describe above? This is a way to solve one specific problem with much less resources, in this case - time. This program saves time on preparing paperwork, calculating tax amounts, reduces the likelihood of errors, etc. This is its main value, which its creators bring to society
. And so, then you will decide for yourself what is your main goal? What is your main message to society?
How do I do it?
At first I had a small online store selling catalysts for gasoline (in the search for "metal air conditioners for cars"). Under certain conditions, fuel consumption on small cars decreased from 20% to 45
%my projects had a small mobile application for tracking the progress of enforcement proceedings in the FSSP (for the more exacting, already dead). This saved me and my friends (not lawyers) quite a lot of time arguing with bailiffs, what they should do, etc. Anyone who has come across this service should know the efficiency and efficiency of their work, especially in the regions ...
Now I am writing a small website builder that will help one web studio that is friendly to me greatly optimize the process of creating low-budget business card websites
Why am I writing all this here? I am trying to convey to you that it makes no sense for you to learn programming in any language for the sake ofprogramming. It makes no sense for you to learn algorithms, structures, patterns, etc. for their own sake.
When you write a program, you must understand the purpose for which you are writing it. Will writing it bring you at least a couple of hundredths of a percent closer to achieving your goal, will it fit into your message to society. Realize it purely for yourself, you do not need to write it somewhere.
Speaking of purely practical tools (standard library functions, frameworks, etc.)... Personally, I can consider myself a professional in any technology, not when I read 1-2 books and / or wrote 1.5 tasks from there. With this level, I can't say that I know the language/technology in principle, I'm just familiar - yes, but I don't know it. I can consider myself a professional after I decide at leasthundreds of tasks using this technology and wrote at least 1 million lines of code, it was written, and not generated by rake / gii / artisan or something else.
I wish you not to stop, develop. Mastery comes with experience .
PS: I ask everyone to refrain from holivars on the topic 1C

D
Dmitry Makarov, 2015-05-03
@DmitryITWorksMakarov

Start writing a project. At one time, when I was learning to program (though according to another book: "C# for Professionals", some of the editions), I also got bored ..... I started writing projects (for example, solving a system of linear equations with an arbitrary order, which I also did something with neural networks, something with a COM port) .... there was some kind of self-confidence ..... there were questions .... I searched the "Internets", returned to the book ... .as a result, I mastered the language, and I use the book as a reference.

D
Dmitry Kinash, 2015-05-07
@Dementor

I don’t know how typical or exotic my case is, but I didn’t purposefully learn to program and learned everything in the process.
I wanted to make a website and I just opened the source code of a similar page and began to study how everything works there - this is how I learned HTML and CSS. I wanted to make a gallery and just started doing it - in the process I mastered PHP (then it was still the third version). At the system administrator's part-time job, they asked me to automate the daily routine operation with applications - I mastered 1C 7.7. At the next job, I was assigned to support accounting software for budgetary organizations and the only source of information was only the source code of the program - this is how I mastered Foxpro and SQL. And all this happened in the early 2000s, so to speak, in the pre-Google and pre-Stekoferflo period.
And somehow I wanted to learn Java. I had some kind of paper book from Peter, then an electronic version of Ecker's philosophy, looked at the forums ... But it didn't work and I abandoned it. And somewhere a couple of years ago, it was necessary to make a mobile application for my project and again everything went like clockwork - everything that lay in the subcortex in Jave surfaced, and the rest was quickly caught on stackoverflow, javatalk and startandroid.
So my advice is: get yourself a job and just do it.

S
Sergey, 2015-05-03
Protko @Fesor

Doctor, what's wrong with me?

Lupus
from what you have painted you have as a whole and there is no this learning process. Theory is good, but without practice you will not be able to assimilate the knowledge gained. So more practice.

G
Gems, 2015-05-04
@Gems

To learn how to write programs, you need to write them.
There is such a good expression right about your case "to do something, you need to do something." I give!

V
Vladlen Grachev, 2015-05-03
@gwer

Reading a book to learn how to program is useless. You don't learn to program until you start programming.
How many books does a turner or carpenter need to read to become a highly qualified specialist? Do not assume that programming is different.
Post your bikes. But on their basis, books will begin to be read in a completely different way.
Well, not Shieldtom alone.

U
uvelichitel, 2015-05-03
@uvelichitel

Doctor, what's wrong with me?

Dry theory my friend
But the tree of life turns green
© Doctor Faust

E
Eserchik, 2015-05-06
@Eserchik

In the learning process, a "problem-oriented approach" plays an important role.
The task of programming is to solve problems or problems!
That is, set the task at the beginning of solving it.
In the process of solving, you will encounter misunderstandings, so you will look for their solution in theoretical materials.
I would do this:
1) Programming for the sake of programming does not make sense.
You need a result of work that would satisfy your ego (a result that a real user can touch and evaluate, and possibly buy)
2) I would replace C # with something more practical, for example, Java or Obj-c,
I will explain C# used in the B2B sector or B2C, usually these are some projects for companies, that is, until you have a company and a project, no one will appreciate the result of your work, so there is no point in doing this. (You will be bored, because this is "Monkey labor") It is
better to start learning from the development of mobile applications, so the number of downloads and flattering reviews will warm your ego, i.e. there is already a goal for what to do it
3) How to do it better.
Take any application with a large number of downloads and try to do the same, but only better (Better in the interface or some goodies. In general, the main thing is to do better).

G
globuser, 2015-05-19
@globuzer

Mmmmmmm, have you set a specific goal for yourself?
Do you just want to learn how to code, or do you want to learn how to code for your job and career, making money, and solving problems?
What is your main motivation? Everything depends on this! If it's just for yourself - it all passes quickly, if there is no terribly interesting interest.
But he must be something all the same, constantly nourished and reinforced, at least with curiosity: "what will happen if I do this?"
If you are motivated to learn how to program to make a living, develop and build your career in this business, then one book is clearly not enough for you. Especially Schildt, especially only in Xi. Pump up or buy or take popular books on programming, the basics of computer science, the basics of mathematics and algebra, try to understand everything, work through each algorithm, its solution. Try different books, each chapter, theory, back up with practice.
Come up with tasks for automation, for programming, for solving. Try to decide. Set yourself complex and unsolvable tasks, but which you would like to solve. Look for answers, on the Internet, in books, in forums. In difficulties, the truth of knowledge is born, which is well absorbed and, most importantly, remembered. This will be your value in learning to program, and not just theory. I personally encountered it, the theory is quickly forgotten. And if one book does not work out or is boring, try another. In the history of the C programming language and its dialects and prototypes, I have collected a bunch of books, both in electronic and paper form. Combining them, combining them with blogs of professional programmers, using and reviewing other people's sources from github, reading professional magazines, ideas, articles, videoconferencing, you will be backed up by sufficient baggage of interest and desire to cover it all. And do not forget about mathematics, the theory of algorithms, data structures, statistics, probability theory, algebra, love and appreciate, study and repeat fundamental things. In the world of programming, they are common.
Squeeze all this hodgepodge together and there will be a good basis for learning and understanding, getting used to, mastering the profession of a programmer.
The crisis of a novice programmer can be treated with even more programming and setting more and more DIFFICULT tasks and problems, in which your future will be solved!

A
Artem Spiridonov, 2015-05-07
@customtema

Replace "programming" with any other work - nothing will change.
Work, just work.

R
RandomKK, 2015-05-03
@RandomKK

So don't read Shield there is so much water that you can drown.

C
Crash, 2015-05-04
@Bandicoot

Create projects that can be useful in one way or another - to yourself or to someone else. Do not write "on the table", do not solve common problems.

S
Slender 1, 2015-05-05
@DEFAULT0

Everyone needs a different approach, try starting with the Head First book , and preferably not a digital license of luck.

A
Alexander Dubina, 2015-05-07
@struggleendlessly

startup will save you

M
MrDywar Pichugin, 2015-05-03
@Dywar

There is nothing strange in this situation.
Sometimes you need to take a break.
The book is good, but go to the channel https://www.youtube.com/user/CBSystematicsTV/video... scroll to the end, and start with the very first videos about C#.
This will distract from boring reading, when you get tired of watching, return to the book.

S
Sandrokes, 2015-05-06
@Sandrokes

Есть один рецепт - практика, и либо всё пройдёт, либо начнётся аллергия :)
Между обучением и самостоятельной работой лежит огромная пропасть, заполнить которую может только практика! Подобно верёвочному мосту, дощечка за дощечкой каждая на первый взгляд бесполезная программа будет закреплять полученные навыки, однако нельзя уповать исключительно на примеры из книг и готовые решения. Часто, такие примеры подробно рассматривают решение одной конкретной задачи, их можно, и нужно развивать, дополняя пройденными ранее элементами, закрепляя их на практике. Всегда надо помнить, что пример это частный случай, и для развития надо смотреть шире.
Formal knowledge of the language is far from the most important thing in programming, much more important is the ability to logically and competently formulate your thoughts, set and solve problems, create new knowledge, not be afraid to ask and experiment - the rest will come with experience.
In this light, programming (in my opinion) is inextricably linked with rhetoric :)

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question