N
N
NickLJ72015-01-22 01:20:11
Python
NickLJ7, 2015-01-22 01:20:11

Programming from scratch. How to start?

Hello. I need your help. I'm thinking of getting into programming, but I don't know where to start.
I read a bunch of tips on the Internet, but everyone has their own case. Therefore I will be grateful for your answers.
A little bit about yourself. There is no experience, as well as knowledge (except for the dry elementary school theory about PL and their application + hello world in Pascal).
Classes with the book ended unsuccessfully after meeting with the first "difficult" task.
Which language to choose if you need to understand the basics from scratch (completely)?
PS I heard that in order to form the correct perception, you need a SP with static typing
(that is, not a popular Python). Is it true?
With the scope of application of knowledge is not defined. Perhaps, the development of games / sites, cross-platform applications. I did not think to work as a programmer, because. no knowledge.
Thank you for your responses.

Answer the question

In order to leave comments, you need to log in

10 answer(s)
P
Pavel, 2015-01-22
@ProgramCodePav

Hello. You have already understood that the main thing is desire. But if you study (and this is boring), then you need to do the coolest things for you. It is equally important to see the result, so it is better to have several small projects than one big one that you do not finish. The answer to the need for a strongly typed language is yes.
Bottom line:
You must first study the logic of the PL (pascal, at first C ++ will do), then take on OOP (object pascal, C ++, C #, Java and many others). And experience also rules. No matter how many books you read, experience decides. Read and write code. Tired of reading, write code. Write a program for your birthday. Write programs to solve typical problems (if you're learning) and don't worry about homework :)
On business. I also started with pascal, then delphi (object pascal) ... a bunch of technologies and languages. Came to Java Android.
It is necessary to distinguish between layout and programming. Layout - to mark up sites using html / css, and programming - solving data processing problems (free wording). Programming can be on the web, but not layout - this is programming programs on the server that process Internet resources and similar network tasks.
And now we need to answer the question: How much time do you have and what kind of programmer would you like to be (good, best or as a hobby)?
If you have a lot of time, patience and a desire to become the best, then you need to learn from scratch:
pascal (not completely, but just learning how to solve a standard list of tasks - working with arrays, calculating expressions, working with files, working with data structures - it's easier that way).
In principle, it will take about 2 weeks, if you try. Then you will already have an understanding of the logic of the language. You can sit down on more complex ones (I advise c# / java, c / c ++ are interesting, but more difficult).
If you are short on time or just want to get started now, then I advise you to start learning Java. IMHO, Java is one of the lightest of the advanced languages ​​(see the book Head First Java).
If you look from afar, I advised Pascal only because it is very simple and functional ... It just helps to understand data types, the importance of respecting array boundaries, and data structures allow you to work almost like with OOP languages ​​​​(such as Java / C ++ / C # /etc.). However, learning java will be only a little more difficult, thanks to the book Head First Java - it is perfectly composed, with pictures, arrows and full of analogies, and the downside here is throwing it into hell (in OOP), where there are all sorts of obscure classes, etc., distracting from the very foundation of programming logic.
By languages. (I don’t really follow it, I’ll tell you from my own feelings)
Now two areas are especially emerging on the market - mobile development and web development (for the server).
Cope with these tasks cool Java, .net C#, C++.
Java is the lion's share of development for Android, One of the most popular languages ​​for server programming, big data and other computing, and other developments.
C# is the most active competitor in server programming for Java, development for winphone, windows with MS directives (because C# is developed by MS).
C++ is everywhere, but it is mainly used for system programming, drivers and program sections where a high speed of program execution is needed (search engines, voice processing). I like it the most, but this is for myself) This language is the most difficult to learn, but with some work experience (2-3 years) you can go to top offices.
------------
To be honest, my knowledge of Computer Architecture courses and algorithms helped me a lot in my studies. This is not required, but very interesting)
Bottom line:
If you want a beaten path, but a little longer - start with pascal and then sit down on java / C #. This path does not require special knowledge, except for the languages ​​themselves (unlike C ++, where basic knowledge of how a computer works is needed).
If you are smart and strong (know how to motivate and achieve), then start right away with java. The first couple of programs will be difficult. Google will do them for you, but in general it is a very easy language.
C++ - I don't know. Many advise to start with it. In general, it is quite simple and structural at the beginning, it becomes more complicated rather quickly, but logically. A good language, but its problem for beginners - you need to take into account a lot of nuances.
By the way, java has a small plus - javarush.ru. An interesting project) freemium, but you can go through levels 10-15 for free, this, in fact, will allow you to get acquainted with the language.
PS: if you do not dare, start any. Start complex, simple languages, do it, break it. This will really help. Try it, invent your own.
I wrote something too long... night. :)
Good luck!

T
tsarevfs, 2015-01-22
@tsarevfs

The choice of programming language is not important. Stop reading advice. Take any of Python, Java, C++, you can't go wrong. In python, it will be much easier at the very beginning. C++ will give you the most complete understanding of programming (much of the pain and humiliation at the start).
Start reading books (the choice of books for each language is covered in hundreds of questions on the toaster), do assignments. Might be worth finding an online language course.
For success, first of all, you need 100% certainty that you need it. You have to put in a lot of effort to get results. But I think it's worth it.

R
RiON69, 2015-01-22
@RiON69

I advise you to start with Python.
Create a plan of action like this:
1. Read at least 1 book about Python
2. Practice a lot
3. Write a couple of small applications for yourself
To practice and quickly master the language, I recommend starting with www.codecademy.com/tracks/python
For practice and development of software thinking I also recommend www.checkio.org
But you still need to read at least one book

T
tuccar, 2015-01-22
@tuccar

Read the book SICP (Structure and Interpretation of Computer Programs). We must start with her.
www.ozon.ru/context/detail/id/5322055

O
Oleg_Danilov, 2015-01-22
@Oleg_Danilov

I started learning the basics of programming with the universal language C # (I started going to Unium courses). It will allow you to create websites, applications, and games. There is an excellent course on this language at MVA from Dmitry Soshnikov from scratch:
www.microsoftvirtualacademy.com/training-courses/e...

I
ivkol, 2015-01-22
@ivkol

choose a language and solve problems

E
Espleth, 2015-01-22
@Espleth

Only one answer is needed for such a question, and not 6, as there are already here: use Google. Almost any question (including this one) that you have in the near future / has already arisen, you can google it.

I
Ilya Bobkov, 2015-01-22
@heksen

Try to create a window under windows in c++ (visual studio). Understand handlers, etc.

B
beduin01, 2015-01-22
@beduin01

A great book for beginners ddili.org/ders/d.en/index.html
On the plus side, the entry threshold is as low as in Python.

N
NickLJ7, 2015-01-22
@NickLJ7

Understand. Let me clarify the discussion: the main task is to understand the very essence of programming, to understand how and what to do.
About Python

Typos are especially insidious in a dynamic programming language: a developer can look at broken code several times and see nothing until he finally finds an identifier typed with an error.

Was that meant?

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question