In general, programming and IT have become the holy grail for many aspiring professionals. Many turn to the subject without prior knowledge and still make it to the top skill level and enter their career in coding. However, if you are starting completely from scratch, you need to learn a specific programming language first. How should you do it exactly though?
Use the most powerful academic tools to write better with AI, check for plagiarism and detect AI content!
- Picking up your first programming language can be overwhelming, but patience and practice are crucial.
- Utilize online resources, courses, and communities to guide your learning journey.
- The goal isn’t just to learn a language, but to develop a problem-solving mindset as a programmer.
When getting into programming, the first thing you start learning is a coding language. You choose which one exactly you want to work with and start with the basics. Naturally, you want to build up your knowledge gradually.
The OP felt lost as even though their studying process seemed to be logically organized, they still didn’t get the progress they wanted:
“I feel like im wasting so much time. Maybe there is something with my learning technique I try to think logic all by myself then also try to write syntax this is where I suck, im able to solve some piece of a puzzle, and when it comes to linking everything it makes me feel overwhelmed. it’s been a month I have covered only 3-4 topics of JS maybe the easiest ones. With this speed, it feels like it will take me years to complete only the basics.”
The author turned to the Reddit community with a simple question and a cry for help:
“Please guide me on how to learn your first language and how much in deep one should go through.”
Programming is a Path Not a destination
Some people noticed OP saying that they were wasting time learning, which, in the case of coding, was found to be a wrong take.
“That there is your issue, It sounds like you’re in a rush to learn something new and frankly difficult, all on your own, so you can put the title “Developer” on your resume. This whole approach you’re taking towards programming is wrong. Programming is a very long and never-ending learning process, it’s not the language that you need to learn, it’s the logic behind it, thinking like a programmer, thinking like a machine, this takes a lot of effort, dedication, and passion. Once you learn to think like a programmer, you can learn any language easily, it’s all a matter of different syntax, same logic.”
“This. Programming isn’t a sprint. It’s a marathon”
“It was really slow at first, it’s just like learning another verbal language. You need to find something to do where you get a lot of time with the language to get a feel for it. I started learning Python and did that for about two years on my own, then once I jumped into Typescript it was a lot easier to pick up. Then I jumped to Rust and had a hell of a time, so I stopped learning Rust to pick up Go as my hobby language. Eventually, I’ll come back to Rust, but not today. It just takes time, the more time you spend the better you get and the better you get the easier it is to learn new languages.”
Starting with CSS or Simpler Programming Languages
On the other side were Redditors who advised enrolling in CSS courses. And it seems like the best and beloved-by-all recommendation was Harvard’s free CS50X course.
“+1 to this. Rather than “learning a language” OP should really focus on learning programming/CS fundamentals. CS50 is probably the best course to get started and it’s free.”
“CS50 changed my life. I recommend it wholeheartedly. If I ever meet David Malan in person I’m going to give him a big hug and make him super uncomfortable.”
“Following a well-structured course really helps with this. And in general, see if you can find courses that focus on building stuff rather than worrying about syntactical mistakes (that’s what Google is for – I still regularly Google super basic syntax and have been programming for a few years now).”
There were also a few comments mentioning learning another language first, like HTML, for example.
“C would be much simpler for learning how memory works.”
“I would do first HTML and CSS before JS. It makes more sense to put it together IMO. If I went straight into programming I find Python a nice one for beginners.”
“It might sound counterintuitive, but what helped me a great deal with JS was learning about HTML and CSS. I thought that learning about design with HTML and CSS gave me a better understanding of what kind of dynamic changes you want in an application. Especially when you link HTML, CSS, and JS together, you may find JS a much more logical and fun tool.”
Using All The Resources
In replies to OP, many also started to recommend courses and resources that were helpful during their learning process. We collected a few of the most popular options, mentioned by the Reddit coding community:
- AI- Ask the AI model like ChatGPT to walk you through the code task you’ve been doing. It will give you a step-by-step explanation that might help you find the missing parts of the task.
- Udemy courses
- YouTube, Reddit, Stackoverflow – Use these platforms for researching the needed tasks and projects and find answers
- Google Bard – also an AI that can be asked to give you feedback and suggestions on completed lines of code.
- Learn with Leon – a free software development job bootcamp
- The Odin Project
There were also a few recommendations as to the topics, that should be covered before jumping straight into using syntax and writing code:
- if, If else
- for, while loops
- affect the outside world – print stuff on screen, get text input from the terminal, read/write to a file.
And know that anything you think can be built using these concepts (maybe a little annoying but practically yes).”
“Learn how to put stuff on the screen. Then the rest. That’s the only way of validating that what you try to do is actually what you do…. For some stuff, it is valid to use \s…”
“There are some other items we should learn first: your basic gates (AND, OR, NOT, NAND, NOR, XOR), Flip-Flops, Multiplexers, Shift Registers, ALU, Clock Oscillators….yeah, then just get that graphics driver and kernel programming done. Now you are ready to learn to draw stuff on the screen! /s”
The Guide to Programming You Needed as a Beginner
What we can take out of the post is that the coding path is not the easiest one. Especially when you get into it without any prior knowledge of IT, CS, and programming. We dived online to see if we could find a guide to self-learning, that would cover all the aspects that coding beginners should pay attention to in their journey.
Here’s what we found:
- Learn Computer architecture and Data basics
- Learn how programming languages actually work and what exactly they are
- Learn how the Internet works and therefore understand how computers interact with each other.
- Dedicate time to practice command-line basics
- Take up CSS and HTML programming
- Track your code using GIT (the Version Control System) to collaborate with other developers and get relevant code updates
- Use databases and SQL to store and sort data
- Learn more about web frameworks and MVC as there will be many instances where you might need to write code to develop a web app
- Use and work with package managers which will help you maintain systems or software projects that depend on external web libraries.
The Main Point
Learning to code can be tough, especially for beginners. Picking up your first programming language can feel overwhelming. But, as the online community shows, it’s essential to be patient and keep trying.
Starting with the basics, like understanding how computers work, can make things easier. Using resources like online courses, asking for help, and practicing can also be super helpful. The main thing is to keep going, learn from mistakes, and remember that every coder started somewhere. It’s less about knowing a language perfectly and more about getting the hang of how to think and solve problems like a programmer.
Follow us on Reddit for more insights and updates.