Actually, I'll add, C++ and C# as well.
Well, I'm into Computer Science since 1996, so I understand a bit of everything plus a lot of different OSs, I study 10 hours per day every day. However back in the 90s we didn't have books or universities about programming, all were passed through if you knew somebody in that profession. Which I did and in that time, he showed me .NET and MySQL, and that offered a lot of jobs also Java. Today you have a lot of options but I'm already discarding new languages as I believe they will jot succeed.
My always dream was to create game, and software. I don't understand all programming concepts and I'm studying all languages at the same time, so I'm heavy loaded. But that keeps me more aware.
I made a choice: use Python for everything but if you want performance, apps, security, compatibility, Multiplatform. What should I choose? The real question here is: which language should I go 100% and that language will teach me all I need about programming BUT without getting lost in that language forever (I discard any Assembly possibility) and one that has full documentation, support and libraries.
In my experience: I found a lot of info for python and java. But hardly I have ever found anything for C lang, C++ and, what about C# (it's only for Windows, is it easy, I saw a lot of documentation). Thanks!!
Python can be linked with C++ both language are similar in many places (using same libraries or concepts to build libraries) - except memory and static types. C++ is more assembler and have different syntax (need 3x-4x coding more).
If you do engineering it is perfect stack - Java is to slow in coding (4x more code) and little faster than Python - whatever it is hard to mix Java/C++ what is easy Python/C++.
In the most program you do not need super performance but if you need C++ is the best and have rich Object Language much richer than Java and more poor than Python. Python is true object language - everything is object.
Whatever sometimes more important is framework than language for specific use.
I mean C++ is a superset of C, so might as well use C, am I right? It's just a case of simple bike, automatic car or manual car. python is simple bike, used for town based biking, like for going to school, etc. java is automatic car(like the memory management), while c is manual car(oil changes, motor changing, etc.). It's like comparing honda civic to bugatti chevron. Bugatti chevron is fast and all, but it isn't general purpose, it's purpose is for racing. honda civic is general, and that's what this guy is looking for, i think.
You can use C++/C with Python. Current C++ is not the old one so memory management can be automated whatever memory management in Python and C++ is different. You need understand how both behaves. Pointers, references, stacks, core types - in Python it is simple. Same with int in Python is one type in C++ 8 types for int with overflows.
Everyone says Python is great but they also say that it doesn't cover all programming concepts which puts you down the road. What book can you recommend me to get out of the beginner? I have seen that most content only lets you in the beginner zone. I struggle to read Python's manual, I have to decipher it. For now, I know what is built-in commands, some web scrapping, and some libraries. What else am I missing here?
Great answers! It really unlocked many doubts. But to start 1. where can I find poper C++ manual and which is the best book/video/DVD to cover all programming concepts at once like the book "The Linux Programming Interface" which covers all about the kernel
I would go with Python, it is fast to code, readable and very powerful without giving you too much to think about (e.g. memory management). If you're looking for speed, Cython is a fairly good way to get there, since Python is a C-based language it can be compiled to C using Cython and will get you a very significant boost in speed! You can also make use of C libraries if you prefer. The only downside to Cython over Python is that it is compiled and not interpreted, which can make debugging a pain (but you might find yourself doing most of the debugging in Python before switching to Cython). C languages are a bit of a pain to read up on (API, libraries etc.), but Stack Overflow has you covered in most cases!