HackerTrans
TopNewTrendsCommentsPastAskShowJobs

What is the most effective way to learn programming?

8 points·by luis_journey·7 tháng trước·15 comments

15 comments

toomuchtodo·7 tháng trước
Find problems to solve with code, and write code to solve those problems. You’re building muscle strength in the ability to rapidly pattern match to potential reference code paths.

https://projecteuler.net/
killingtime74·7 tháng trước
For me it was going back to university/community college and learning in a structured way. In Australia you can do a masters by coursework that covers broadly the same things as an undergrad degree in less time.

I was able to get a "real" software job on graduation.

I liked knowing I wasn't wasting my time learning random things when I had no idea what to learn
chistev·7 tháng trước
The advantage of school is that it provides a structured curriculum, otherwise you'd be drowning in a sea of content with no guidance.

But, don't you think there are resources that can help with that too.
killingtime74·7 tháng trước
Probably yes. For me I could just enroll a few weeks after deciding to do it and start learning (they are open for enrollment twice a year). Less need to evaluate/decide what path to take.
brudgers·7 tháng trước
An excuse to be a beginner is another advantage of school.
MilnerRoute·7 tháng trước
I always recommend Harvard's CS50 class. (It's online, and free - and it covers a lot of key concepts and exposes you to a lot of different languages.) Most of all, it'll give you some really good experience and the confidence that goes with it.

At some point you should start uploading your code to GitHub, and maybe trying to contribute to other Open Source projects. (I assume your goal isn't just to learn programming, but to learn it well enough to get a job?) There used to be lots of good Meetups where you could meet other programmers and network and learn new things...
sloaken·7 tháng trước
I agree with n3t. What is your goal. Depending on why you want to learn programming would help answer the question. Most of the answer here I agree with. But if your goal is: to teach a little child, or find a job, or bragging rights at the bar, or personal enrichment, or ... it goes on and on.

Also knowing programming / coding / SW development / algorithms, although having a lot of overlap, there are different paths.
bhu1st·7 tháng trước
You need a fire on you a* to build a software yourself. Next time you have an urge to buy an app or a software, give a shot at vibe coding it with AI and piecing the software together yourself. You will learn a lot along the way.

At some point, spend a good time learning the grammar and syntax of a programming language (can be any). This will make you navigate vibe coding with ease.
chistev·7 tháng trước
You won't learn by vibe coding. Maybe a bit if you're reading the code, but you aren't forcing yourself to think up the logic
markus_zhang·7 tháng trước
There is zero context. Please begin by learning how to ask questions.
gethly·7 tháng trước
Find something you want to make and then start making it. You'll learn what you need along the way.
javantanna·7 tháng trước
Honestly, I struggled to learn programming through tutorials and step-by-step courses. What finally worked for me was building things. I learn the basics first—loops, conditionals, OOP—then look for unique project ideas with a real wow factor and build them end to end
bgbntty2·7 tháng trước
I'm not a good programmer by any means, but here are some ideas that have helped me along my journey:

* pick a language. It doesn't matter which one. A popular one will have more tools already built for it and a bigger community;

* learn the basic grammar of the language - it's usually trivial, unless it's your first language;

* understand what kind of algorithms and data structures exits and what problems they solve. You don't need to implement them yet, just know they exist;

* find something interesting to work on, if you can. Are you interested in something specifically? Do you want to know how to make a game or how to automate some everyday tasks, for example?

* find something your friends are contributing to or working on, and ask them questions;

* search online whenever a though pops up in your head. Not only for references from a manual, but for best practices and even open-ended questions. If you're not sure if something is correct, search for articles or comments that say it's wrong or that it's dangerous or that it's the best. Don't rely on 1 source of information. If you're using AI, ask it to give you links so you can read what actual people wrote. Don't feel inferior for making 50 search queries in an hour and writing 10 lines of code;

* take time to set up your environment. Look for ways to make it better, to automate a lot of what you do. It may be boring, but it will save you a lot of time down the road;

* try different technologies, languages and tools. Some suck objectively, some will suck for you personally. Don't stick with the first thing;

* look for similar threads elsewhere so you get more suggestions;

* learn how to freely acquire books and papers that are behind a paywall;

* take your time and enjoy the process.
n3t·7 tháng trước
What's your goal?
__patchbit__·7 tháng trước
Get paid to on delivery of finished product.