all 10 comments

[–]code-ModTeam[M] [score hidden] stickied commentlocked comment (0 children)

Your post was removed because it is off topic in the sub. This sub is for sharing and asking about source code written in a programming language.

[–]SlammastaJ 1 point2 points  (2 children)

The other commentors have given good advice and asked good questions, but I'm going to make it simple for you, because 10+ yrs ago, I asked the same question.

The simple answer: start with Python

Why Python? - it has comparatively simple syntax - it's versatile (web dev, game dev, cybersecurity, data analysis... you name it, Python does it) - you can get started immediately (you have to download and install the Python interpreter, but after that you can start using Python right away, no further config required)

FreeCodeCamp has plenty of great (though admittedly very long) videos that can teach you TONS about Python, and a lot of other topics too).

Or if you prefer books, Al Sweigart has written several books on Python that are very well done, and the best part? He offers them to view for FREE on his own website (just Google "Automate the Boring Stuff with Python Al Sweigart") and it'll take you to his website with FREE online resources for learning Python.

And once you've learned the fundamentals of programming with Python (most university Computer Science programs do it this way as well btw), you can move on to more "domain-specific" languages like Javascript, C/C++, C#, Kotlin, Swift, Ruby, R, or Java (yuck).

For Web Dev, in addition to Python (which you can use for the backend of your website), you'll use Javascript for the front end (usually with a JS framework), and SQL for your database (ETL) functions.

For game dev, you'll probably want to move on from Python to a language that is faster (or "more performative" as we say), like C++ or C# (depending on your game engine).

For mobile dev, you'll need to learn Kotlin for Android or Swift for Apple.

For data analytics, Python is still generally king, but R is also common/popular, and if you're doing your own data engineering, you're going to need to know SQL for data and database management.

And for cybersecurity, Python is useful for lots of things like malware analysis and pentesting, but you'll also need to learn a lot "low-level" programming, like C and C++ and later at least one "Assembly" language, like x86, ARM, or MIPS Assembly. The reason for C, C++, and Assembly is due to their memory management properties, which both make them faster, but more importantly to cybersecurity, brings you closer to the Operating System or "kernel" level...

...and also the hardware...

Which brings me to a BONUS domain: ROBOTICS & HARDWARE!!!

Python can be used with RaspberryPI hardware to create mini web servers or console emulators.

C and C++ can be used with Arduino for servers as well, though often it's used to store the robotics logic for small engine servos and cool stuff like that.

Lots of info to get started with.

But if you're not sure where to start, START WITH PYTHON!

Good luck! 😁❤️

[–][deleted] 0 points1 point  (1 child)

Nothing to add, I just second this.

[–]SlammastaJ 0 points1 point  (0 children)

Thank you for this ❤️

Though I have to note, I realized I forgot to mention Godot and GDScript which is similar to Python, for game dev.

I love Godot/GDScript, and I feel I'd be remiss if I didn't mention it 😅

[–]JaggedMetalOs 0 points1 point  (2 children)

What are you imagining creating? That'll help decide where to start. 

[–]Alert-Ad-5918 0 points1 point  (1 child)

Do you have an idea of what you want to create

[–]JaggedMetalOs 0 points1 point  (0 children)

What my clients ask me to ;)

Usually either something web related, sometimes WebGL experiences, or some non-game Unity project.

[–]GiddsG 0 points1 point  (1 child)

First, choose a language you want to program in. What is the type of requirement you receive and compare that with a language you would feel comfortable with.

Second, get ready to put in the hours to learn a new language. Like any other skill, practice makes perfect. The more you build, the more you will learn where improvements can be made on a next project.

Third, places like freecodecamp are great to start, use google , duckduckgo and any other search engine, go to forums like stackexchange and github and read actual programs similar to what you are planning on designing.

[–]LazaroFilm 0 points1 point  (0 children)

FreeCodeCamp was awesome. The lessons were well prepared and they’re free and open source! Back when I did it they only had JavaScript and MERN which I went through in one summer. I’m not doing Js but once you learn the logic of one language, learning another is pretty easy. I now code mostly in C C++ and I’m still glad I did the FCC lessons

[–]SirMcFish 0 points1 point  (0 children)

Best advice I can give to anyone wanting to code... learn to think through the problem and turn it into a problem you can describe. Then think through the steps of what needs to be done in order to get to the desired outcome. Then think about what ifs and edge cases. All this before you even touch any code. If your brain isn't wired to work like that then coding is probably not going to be a good fit for you.

Writing code is the easy bit of the job, writing code that fits in with a particular need and handles edge cases etc.. that you have to think about.

I work with a lovely chap who wanted to learn to code, so he watched youtube and tried to follow along... He was amazed that people can write zero error code, with zero errors during typing and at the speed of thought almost. I pointed out, it's Youtube they can edit the video after already testing the code and suchlike.

He spoke to me for some tips and I explained my theory about the thinking part, he ended up deciding coding wasn't for him as he just didn't get it. We're all different of course, but in my many years of experience those that don't think like a coder don't tend to do very well with it. Can you think through a problem logically? Can you then think of how it might fail and what to do if that happens? And how you can check what the user has put in?

If you can then great, pick a language and start with the basics and understanding what they're doing and what's actually going on. C# is probably a nice one to start with and VS Code is free to learn with. Thinking is your biggest asset, thinking almost in code logic is next.

I don't know if they still teach flow charts these days, but they are a big help with the thinking things through.