If you really want to understand core concepts then start with C and cover the basic topics like printing, input, variables, primitives, macros, command line, arrays, struct, union, function, pointers and DMA then start implementing Data Structures and Algorithms in C. Shift to Traditional C++ and learn about OOP Concepts after covering all that do Modern C++ (Modern C++ doesn't have proper documentation so this would be hard) then look at the code of open source projects and try to understand them. Have a language reference by your side and find something if you don't understand. Join communities if you can't get help online.
If you want to take the easy way then start with Python. Its syntax is easily to understand. But it doesn't really explain all concepts in depth (at least I couldn't understand the concepts of it much).
Disclaimer: I am not discouraging anyone. Its up to you if you are able to understand the core concepts in any language. C was my first language so I mostly tell people to learn that first.
Depends on how you define "core concepts"
Those concepts which are normally in any language and could be used to relate real life probelms.
Yes, but this is very wide surface. Some languages are ver far away from each other, for example, Prolog, Agda, C, TLA+
Yes things may differ because of different purposes but terminology from which it derives is same (sort of).
Not quite. When people learn type system from C/C++ they end up with wrong mental model about types (often hate types), you need to get introduced on types with good type system and type checker with nice error messages, for example, Elm.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.