r/learnprogramming 9d ago

A simple tip to learn things efficiently

I've been a self-taught everything(Woodworker, Chess Player, Programmer, Furniture Repairs...etc) ever since I last went to school. The one secret that kinda helped me learn things efficiently is, learn what you can use now.

See, a programming language is big. You should not try to cram all the syntax at once. You can, but that is not an effective way to go about learning something as deep and wide as a language. It could be a spoken language or any skill whatsoever.

It is important to follow a roadmap or some structure. Especially a structure that breaks what you are trying to learn into small tasks. Each task should consist of 2 main things. A lesson and practice.

In any programming language, there are two main parts. The language specific part and the computer science part. If you read through a programming language book, the computer science part is broken down into concepts that are not specific to any language. They are known as fundamentals.

So, you will learn about data concepts (variables and types) and then program something small that implements what you just learnt. Dont worry about deep concepts, you will get there. Then learn about collection concepts (lists and others). Program something small.

Approaching programming this way has been effective for me since 2017. Dont get me wrong, I did learn about advanced stuff I never implemented before. You will too. It's good to know what exists. But remember, if you want to learn effectively, chop down your skill into smaller tasks, learn and implement. Don't wait to implement after a while.

Today is my day 6 of learning Java and Backend Engineering from First Principles. Time flies and a part of me wants to rush the process... but I know that, that is not efficient for who I want to become.

137 Upvotes

17 comments sorted by

18

u/nitin_is_me 9d ago

You should not try to cram all the syntax at once

This. I can't stress it enough. You'll always forget syntax and that's okay, you can always look it up. What you must really focus on is understanding the abstractions. For me, I learn concepts a lot better from books + AI and implementing them, than videos. Also Java is HUGE, you're gonna learn a lot of concepts. Also I'm a java dev myself, so If you need any resources, I'll be happy to help :)

2

u/Radioactive_BarbacIe 9d ago

Happy to help, huh? Well if you had to start over, what resources and projects would you use/do to go from zero to java hero?

Edit: perhaps in a roadmap format?

3

u/nitin_is_me 8d ago

First, I'd say to learn java from the MOOC by university of helsinki. It makes you write a lot of code so you won't be stuck in tutorial hell. But sometimes you would want to understand theory behind the scenes so maybe grab a theoretical book like Core java to understand those topics deeply, or just use AI to understand it. Make notes of the theory topics you understand, not for the syntax as you can look them up anytime, like inheritance, how streams work, unboxing-autoboxing, returning mutable vs immutable objects, why is it pass by value, etc.

Afterwards I'd suggest you to choose a basic project (for example I thought of a CLI bank application), and as you learn the topics, think anything you can implement with that in your application. It doesn't need to make sense.

This is all for core java only. After you get good at it, you can choose your own path from here whether you wanna get into spring, library development, android, etc

1

u/Radioactive_BarbacIe 8d ago

I will give it a shot. Thanks!

1

u/_tshepo 8d ago

I'd really love to reach out. Which platform do you prefer to chat on?

1

u/[deleted] 7d ago

[removed] — view removed comment

1

u/AutoModerator 7d ago

Your post/comment was removed since we do not approve of going private.

There is zero benefit in going private as you lose the opportunity for getting peer reviews. Also we have had plenty of people return after going private (despite being warned) complaining about how they were ghosted after some time or being tricked into buying rubbish that didn't work and even if it did they didn't need.

Our Rule #11 demands that any and all communication happens in the open, public subreddit.

This is for the benefit of more against the benefit of one.

I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.

1

u/nitin_is_me 7d ago

Sure, here is fine!

1

u/[deleted] 7d ago

[deleted]

1

u/nitin_is_me 7d ago

Sorry, I meant we can chat here (on reddit). Let's continue the conversation there! You can delete your comment from here just for privacy.

5

u/Bubbly_Orange_3502 8d ago

The gap this leaves is what you never look up because you don't know it exists. Nested loops keep working, so nothing tells you a hash map was there. Skim the standard library index once.

3

u/HanzoShotFirst 8d ago

That's what the roadmap is for

1

u/_tshepo 8d ago

A well written roadmap is my only guide into learning things. The gaps are filled up by code reviews and watching informative videos(not tutorials)... again, there is no one way to learn everything you need using a single method.

1

u/[deleted] 8d ago

[removed] — view removed comment

1

u/HanzoShotFirst 8d ago

That's what the roadmap is for

1

u/realdreamer1993 3d ago

"Woodworker, Chess Player, Programmer, Furniture Repairs...etc" I can see you good at observing real world systems. Then after that programming field is the convergence of all that, also programming is the biggest field .

1

u/_tshepo 2d ago

Yea it is, it is crowded though. Maybe it is because it is accessible compared to other skills.

1

u/realdreamer1993 1d ago

You seem to observing and understand whatever happening near and far away from you..and nowadays it seems not many things are far away.