B
B
badabom2015-01-13 18:45:37
JavaScript
badabom, 2015-01-13 18:45:37

How to understand the essence of programming (more in the table of contents)?

Hi all.
How to understand the essence of programming in general terms? To have an idea about it.
I'll try to clarify my question:
Let's say we see how artists draw (on paper or using a computer). We see that the drawing begins with a structure, a general shape, a frame of objects, then small details, light, shadows, colors are added.
Or we see how a potter creates a jug, or how a car is created in a factory: from an "empty" body to a finished car.
For clarity, there are a lot of videos on Youtube where you can watch this process or the TV show "How it works".
What is important in all these examples is that we see the process of creating something and have a general idea about these processes and how the final product is created. We do not need to spend a lot of time studying manuals, books, in order to have a general idea about these things. This is especially useful for those who are thinking of doing a certain business and before that want to see the process itself, the essence of the activity in question.
Let's say a person wants to start drawing, but doubts whether it will suit him or not. He watches a video that shows the process of creating a drawing, from the initial strokes to the final picture. A person sees how a drawing is created, how additional details, shadows, color are gradually added to it. After watching this process, a person thinks: “Yeah, this is what suits me. This is what I definitely want to do.” Or vice versa: “How did it occur to me to think about doing this? It doesn’t suit me at all.”
A person does not spend hundreds of hours and days studying composition, how perspective is built, how light falls, how shadows are formed, in order to understand whether drawing suits him or not, whether he wants to do it or not.
So: how to understand the essence of programming in general terms? To have an idea about it. Are there any articles, books, videos or other materials that can give me a general understanding of programming? Or is it necessary to spend a lot of time studying the material in order to understand whether it suits me or not?
Maybe there are some interpretations that explain the essence of programming in general terms?
I would also like to have an idea about OOP.
I need all this in order to decide whether this is what suits me or not. And it may turn out that I spend a significant part of the time studying the material, then suddenly I realize that this is not mine. And the time has already been spent, I could spend it on something more worthwhile. After all, time is the most valuable resource we have.
I hope I made my question clear. Thank you for your attention.

Answer the question

In order to leave comments, you need to log in

20 answer(s)
T
tugo, 2015-01-13
@tugo

No, programming is not for you.

U
Unknown Hero, 2015-01-13
@UnknownHero

A person does not spend hundreds of hours and days studying composition, how perspective is built, how light falls, how shadows are formed, in order to understand whether drawing suits him or not, whether he wants to do it or not.

If you think like this, then take any program, such as Skype.
Start imagining how the development team makes changes every day, comes up with features, makes mistakes, or vice versa creates new features for their colleagues.
Imagine how millions of users save tons of money and time with this program.
Think about the company's income.
Now imagine yourself as a programmer in this team and think that a week ago you wrote new functionality for this program, and tomorrow millions of people will use it.
Did you like the role of a programmer?
From my point of view, this is not how it works. Anyone can like a picture of an artist and want to become an artist.
But after 100 hours of training, he gave up this business, because. He didn't like the process.
Therefore, it is better to understand it in the process.
Programming now covers a lot of areas, people come up with shops, services, robots, gadgets, and everyone needs programmers.
A programmer is someone who can turn an idea into a working program and solve their own or someone else's problem.
The more experienced the programmer, the more complex the tasks he will be able to solve.
If you like this idea, then you can choose this path.
If in doubt, I think only practice will help.
And what about different languages ​​or technologies ... In any field, you will need to have considerable initial knowledge and constantly learn.
You just need to take one thing and learn.

A
Alexander Taratin, 2015-01-13
@Taraflex

Write tic-tac-toe, then snake, then tetris, didn't you like it? - let's go to sculpt jugs.

S
Sergey, 2015-01-22
@senal

Go to some kind of hackathon and try to join some kind of team, of course warning that you don’t know how to do anything, but you won’t interfere either. See how it all looks, spend two days of your time.

M
Michaelis, 2015-01-13
@Michaelis

Many have already painted here what you should definitely try, as well as much more.
But if you are interested in the process itself from A to Z in general terms, then here it is:
1. First you choose the area in which you will program or you already have a ready idea or task.
2.Next, you choose the programming language with which you will type the code (the Internet is full of information on the choice of language)
3.After you download a special program in which you will write the code.
4. After the code is written, you check it for errors, optimize it, etc.
5. After that comes the linking into a finished program for sale (or other purposes)
That's all. The nuance lies in the writing of the code itself. After all, it may seem routine, boring, which is why you are told to try and learn a programming language. And yet, many programs that are installed on your computer were written by more than 1 person and the code there is simply huge. Thousands of lines of code.
I will not describe the pros, etc. You can read about it on the Internet :) Good luck to you, whatever you choose))

L
lastnast, 2015-01-15
@lastnast

It's better to do it than not to do it and regret it later, thinking, oh, if I had started studying then, I would now ...

B
bogolt, 2015-01-13
@bogolt

Seeing and trying are two different things. So different that it's often boring to watch someone do something, but it's interesting to do it yourself. And vice versa.
I don't think you can understand anything about an activity you're interested in without trying it.
But there is no need to spend hundreds of hours for this anyway. There are a huge number of simple lessons, video lectures for dummies, books for beginners. Why don't you try any (well, or one of those that are popular) to see if you need it?
In short, find any popular course on a topic of interest (websites, games, applications), start reading / watching and be sure to do it in parallel. All courses for beginners usually describe what programs need to be installed so that you can run working examples on your own. Further it will become clear - if it is interesting to try to create something while driving an omnipotent machine, then do it.

T
tsarevfs, 2015-01-13
@tsarevfs

It is really easier to look at how a drawing is created, but before you can draw something well, you will have to spend a lot of time and effort.
In order to get a minimal understanding of programming, it is not necessary to spend years. Take an online language course, for example, python is not bad for a quick start:
python-rutour.rhcloud.com
or
www.codecademy.com (if you know at least a little English)
If it works, then read books on the language and algorithms. If funds allow, work with a teacher or in a group.
Don't expect everything to be easy.

G
gatoazul, 2015-01-17
@gatoazul

Open the Scratch environment and chase the cat around the screen. So you will quickly understand what programming is and whether you need it.

A
AxisPod, 2015-01-28
@AxisPod

A person does not choose his profession with his mind, what he wants to do in life. Either he understands this subconsciously, or he bends before problems and follows the path of least resistance.
And you need to forget about programming, it is not yours. Programming requires an abstract mindset, you don't have it.

M
Maxim Gavrilov, 2015-02-28
@thestump

You wrote this question, do you regret taking the time to write it? What you were doing when you wrote this question is a programmer. If you are interested in the video - watch the video of how someone types, for example, in a Word. Just sitting and typing text on the computer, sometimes making notes on paper - this is the everyday life of a programmer. How is the program compiled? An empty file is created and text is typed into it. Then the next one, and so on. When enough files are collected, the program is ready...
This is what I mean by wasting time, and then something happens. Then nothing will happen and then there will be time again that you will waste again. To think that's why I wasted my time here, but there ... If you think so, then why don't we all spend time constantly diving, surfing, sitting constantly on the embankments and doing a lot of other things that are more pleasant for us than anything else.
The answer is simple: today and now we are here and doing what we are doing and we were not doing something else because we were doing this and we could not be doing something else because we were doing this very thing - what we were doing. This is important to understand and accept. The sooner the better.
I also want to say about artists: tell me how the artist determines the proportions when mixing paints? What is he guided by when he mixes paints? How does an artist mix paints? ... Do you think that Rafael was in a high all the time when he painted pictures? What makes you think that drawing was the occupation of Leonardo de Vinci? This is about what is mine / not mine. We don't know what is whose, we either do it or we don't. Yes, it's better to do what you like. However, doing what you like is not always suitable, not always pleasant and not always fun ....
Everything is much more complicated

N
NikitaIT, 2019-09-22
@NikitaIT

I have been working as a programmer for 4 years. I wrote my first program 8 years ago. And now I can confidently say that I do not have enough expertise to answer such a question. However, I can trace how my own understanding of this has changed over time.
When I first started, it seemed to me that programming is like a language translation. After all, everything is the same, you read the text, understand it and try to write the most similar one in another language. At the same time, parts of the words of the language from which you are translating are not in yours and the meaning, for example, sayings, is difficult to convey through the language barrier without chewing.
Having gained some experience, I realized that for programming, as well as for translation, it is important not just to match phrases or sentences in a dictionary, it is important to understand and transfer what the original author wanted to say.
Now I am convinced that programming is not just a translation.
The programmer spends most of his time creating abstractions, he comes up with the idea of ​​naming all the oak plank cubes in the warehouse as boxes and makes every worker in the warehouse say "Take that box over there" and not "Take that oak plank cube over there."
The programmer does not just write lines in a file in another language, he creates a language in which he will describe what he does and in which anyone should easily learn to write from the first reading. This language does not have to be code, there are languages ​​for visual design that do not require writing code as such. And programmers do all this by choosing a language with which they can write their own language to solve a problem at minimal cost, for some it is machine code, for some it is G (a program for scientists - LabVIEW).
Also, a programmer often solves problems related to programming - setting up the environment, solving algorithmic problems, organizing a workflow, interacting and managing a team, communicating with the source of the task, whoever/whatever it is. Those for whom related tasks are difficult often suffer from programming, because writing code in itself is mostly routine, and related tasks allow you to cut off most of this routine and create more.
The whole point of programming is to simplify what seemed complicated before, by creating transparent abstractions, delimiting and unifying concepts.
It's like getting theoretical scientific knowledge , don't you think?

S
Stanislav, 2015-01-13
@mzcoding

How do you know if it fits or not? Do you like writing code? And so go to youtube, enter Java lessons and see how they write. Classes and in general all OOP are usually described in UML diagrams, search in Google)

I
Ilya Bobkov, 2015-01-13
@heksen

Author, come up with your own project and start doing it. Don't look for excuses. Complete it in any way, at any cost, and sell it. And then you will understand the point. Mine is not mine, it's self-deception. Suitable - not suitable - too. And time will have to spend and not a little.

M
max7 M7, 2015-01-13
@max7

Your analogy is incorrect. On the example of a car. Programming - development, car project, creation of project documentation, instructions for production. What you described is the process of the program "in hardware".

A
Alexey, 2015-01-13
@rdifb0

It's very simple, you either like it or you don't like it. All! This is the only important quality (if you are honest with yourself of course).
I want to sculpt pots - sculpt. If you want to create applications - become a programmer. Like to draw - become an artist.
Why complicate things. Why do you need to understand the essence? The bottom line is that this is either a creative or service process. Programming is creative, and for example, being a manager is a job.
I would single out only two but:
First. You only have two skill slots. Main occupation and hobby.
Second. Decide what the skill will be for you. Way of earning money, or outlet/entertainment/retreat/etc.
Choose two classes. Decide which cell to put in (you need to clearly understand the responsibility of each cell) and go ahead.
But you need to remember! If both are pumped equally, then there will be no fish, no meat. You choose one - it will absorb (in a bad way), bind, get bored. It is impossible to unite, there will be a fly in the ointment (+ see the previous sentence).

T
tuccar, 2015-01-13
@tuccar

To understand the situation exactly the way you want, you need to read the book SICP (Structure and Interpretation of Computer Programs).
www.ozon.ru/context/detail/id/5322055

S
Sergey Chistyakov, 2015-01-14
@piro1107

I don't understand what the problem is. If you started the painting analogy of programming, then go ahead. Do you want to see the result? Prog or picture. Do you want a process? There are streams on programming. If you decide to hit OOP, then look towards C ++ / Qt, because C ++ itself is logical, concise, and Qt is completely object-oriented. And at the expense of time, I think, in any case, it will take a long time to get used to it.

A
asd111, 2015-01-14
@asd111

In general terms, programming is when you write text, where each line is a command for the computer, and then the computer performs one or another action in accordance with the written commands.

G
garadash, 2015-01-16
@garadash

A person can eventually have a hobby, millions of people in their free time do things that are completely opposite to their main profession or occupation.
In any case, a week will be enough for you to understand the basics of programming and even write a simple but working program yourself. You just need to choose a more or less free period from the main work and focus on studying the basics. And then everything will fall into place; leave it as a hobby, do it thoroughly, or forget it altogether.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question