P
P
Pantene7422018-04-07 23:17:59
Qt
Pantene742, 2018-04-07 23:17:59

How to teach C ++ to a programmer who did not study at a university in this field?

I work as a Full stack JavaScript developer. I have experience in PHP, Python.
Recommend good books. Which are suitable for a person who did not study at the appropriate university.
In plain language about C++ and Computer Science, this is ridiculous. But Advise clear books on easier.
Why do I want to learn C++?
For fun and development. most likely I will continue to work with JS. Perhaps add Java.
For the sake of development and general understanding of programming. Many things from C ++ are transferred to popular languages ​​or they are already there in the form of a copy. (In this language, you can try any programming idea manually)
I want to understand at a basic level.
Iron architecture.
OS architecture.
compilation principles. Interpretations. Logics. (Preferably in a simpler way) not like in the popular book Principles of compiling and interpreting programs (So far it is difficult for me)
More practical application of C ++. STD/BOOST. process flow control (OS API)
Interaction with IO devices. (understanding the logic - I'm not going to write drivers)
OOP templates Paradigms on a practical example. (Games, GUI... Network application)

Answer the question

In order to leave comments, you need to log in

5 answer(s)
D
Dmitry Alexandrov, 2018-04-07
@Pantene742

Studied or not, it doesn't matter at all. There are no simple books in principle, moreover, they become outdated very quickly. Language develops and changes just as quickly. In addition, qt, msvs and gcc, although they are C ++, are very different from each other. Further, it is trivial to learn C ++ for a very long time and constantly, it is impossible to learn it for fun and generally learn it.
For what they wrote "I want to understand at a basic level." It is better, faster and more profitable to learn simply C. you can also use it for its intended purpose in other languages.

C
chromimon, 2018-04-08
@chromimon

Teaching you C++ is not the goal of a university at all.
The language can be perfectly studied either at vocational schools or at school or in general on your own.
The university provides more general knowledge than a banal programming language.

I
Igor, 2018-04-08
@assembled

It is better to start with learning C, according to the book "The C Programming Language" by Kernighan and Ritchie, everything is explained there in an accessible and understandable way, and the K&R standard works on most compilers. C, although more primitive, is easier to learn. Then you can start learning C++. In my opinion, C++ is terrible, bloated, and has a lot of redundancy; but today without it, nowhere, a lot of applications are written on it.
And they do not transfer anything from C ++ to other languages, it is C ++ that absorbs everything like a sponge, everything that is needed and unnecessary.
I would not try other paradigms in C ++ except for OOP, everything will be terrible and incomprehensible. Each paradigm has its own, more suitable languages, for example:
- functional: Lisp, Haskell, Erlang, J (for masochists, by the way, it also applies to vector programming);
- logical: Prolog;
- OOP except C++: C#, Java, Python, Ruby and many more other languages;
- to understand the architecture, you can learn assembler.
To understand the basics of compilation, it is better to start with the book "Let's create a compiler" (I don't remember the author's name), then you can already take on more serious books.

V
Vladimir T, 2018-04-08
@32bit_me

I can recommend more courses on Stepik.org

S
SingularityNRN, 2019-01-19
@SingularityNRN

Regarding compilation, lexical / syntactic analysis, I can advise "Compilers: principles, technologies and tools", it is also called the book of the dragon. I myself study at a university and while writing my term paper I actively studied from this book, it helped me to master the basics and prepare for the exam in the shortest possible time (~ 1 month). Look for something from more recent publications (otherwise you will be "stupid" in places of inaccurate translation).

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question