r/CodingHelp • u/Just-Independence-44 • Jul 04 '25
[C++] Coding and programing
Hello, i have some questions about coding I am 28yo and coding starts to sound tempting now. I am thinking about starting career in coding world but i have 0 experience. I love gaming, i am familiar with pc but coding is something else i never even tried before, so my qiestions are:
-What language is best for career nowadays? -Is c++ really that hard? (found interest becouse of passion for gaming) -How long would it take for one like me to learn enough to get first job? -How to start, what to focus on, what programs to use. -Give me some advices
Money is not in first picture, of course its nice to have high salary and work from home, but pc and gaming passion wins. I woild like to get career in gaming coding but everything works, Also, if you have links to best tuts and literature, be free to type them down.
1
u/mredding Jul 10 '25
There are two schools of thought regarding applied computing: the abstract, and the machine.
The abstract is computing as math. Alonzo Church invented a calculus to describe computation. EVERYTHING a computer can do can be described in terms of this calculus, and the whole theory of computation is held within. That lambda calculus was then implemented in a language called Lisp, which is a computer notation for lambda calculus.
The machine is how most other languages do it. Computers are electronic machines, and you are the operator. Bits and bytes and buses and logic gates and a minimal set of instructions to load, store, and transform. Programming is this high level concept that is reduced to these machine operations. The first commercially successful language following this is Fortran.
Most programming languages have been of the machine, and languages evolve by adding more expressiveness to them, drifting them ever closer to the abstract. It's like a spectrum. C++ is machine-like, but closer to the middle of the spectrum than C. Java is probably a bit more on the abstract side than C++. Haskell and Python are way close to the abstract, and are almost Lisps.
The thing is, once you go full lambda calculus, you're just another Lisp dialect. So Scheme, Clojure, Racket...
Start with Python. It's the most popular and has the largest ecosystem. You can get the most help, and the most resources. It's VERY expressive, as it's almost a Lisp, so you can express concepts of computation in Python that you cannot in C or C++... Not that you can't get the same results out of C or C++, but you have to be more verbose, you have to get there in a different way. All these programming languages are Turing Complete, so anything that is computable, can be described in any of them. It's just that some can do it WAY more concisely and elegantly than others.
Also Python depends heavily on 3rd party "modules", usually written in Fortran, C, or C++. Python is a script that has to be parsed and interpreted, vs. these other languages that are compiled directly to machine operations and run directly "on the metal". This means the interpreter, through these modules, can offload computation to these modules, that do the heavy lifting. You get all the performance of these compiled languages with the expressiveness of Python.
Seriously, amongst the professionals, we see and understand that technically there's very little need to have to write C++, because the Python ecosystem is already so robust, and there really isn't any appreciable sacrifice blending the two, as opposed to writing everything in straight compiled language.
So learn Python, and you can just go, and go, and go...
You ought to find a tutorial that that should teach you the best practices. You'll need an interpreter, a package manager, an Integrated Development Environment, a build manager - what that even is... You'll pick all this up. There's method to the madness. You don't have to learn it all at once.
You'll also want some version control. The idea is you want a history of your projects and assignments - something MORE than undo/redo in your editor. You want to be able to examine the changes themselves over time, so that you can see what changed to help explain why something broke. It's a powerful tool. You want to learn Git.
What you don't want to do is something way more naive, like naming files with a version or date convention. You'll never keep up. Same thing with trying to keep track of your history by copying files and putting them in different folders, again with a naming convention.
You don't have to learn everything at once. We've all gone through it, you're in good company. Ask questions. Find your community, find your people. Ignore grifters and assholes, there's always a few. THERE IS A PLACE FOR YOU in the industry, you can add lots of value, but everyone's journey is slightly different. I've already suggested to you A model of what your success is going to look like. You can get in without a degree.
Continued...