Should i go for learning programming through books or online courses?

i am not a job enthusiast but a teen. i learnt html css and js but i feel demotivated. my knowledge in those is slacker than hell. i lack js dom. and lack advanced html css i was blundering around like a stupid kid not knowing what to learn what to do. i achieved nothing. and forgot some of the concepts too but i can get those surely by revising a few days.

so… i am finally preparing some future goals. so for learning programming with c#. but the thing is -

a lot of confusion.

where to learn from? my parents could not afford any money for programming.

i have a few resources.

  1. Learnvern - learnvern.com

it is a total free websites that gives you hindi and soon coming more langauges courses i am fine with hindi as it is my mother tongue.

learnvern strongly says prerequisites as c or c++ are recommended and mostly focuses as you are a software dev.

  1. book -

i got q book fundamental of programming with c# which is a typically university book with 1200 some pages.

  1. lectures bob tabor

very easy explainer on Microsoft virtual academy. explains everything slow calm and best way

the thing is

i am thinking of going with bob tabor.
but i am thinking that if i read the book from start to finish and practice a lot with it, then i can be an expert.

i typically want game and app dev with c# as a teen
any advice what to do? lectures or book

book can get you expert as it is in more depth and bob tabor also includes advance concepts but less than the book much less.

advice please

2 Likes

Even if you have perfect memory you won’t become an expert by reading a book on a topic. The reason for this is a book is just 1 guide to knowledge, or one specific take on a subject. If you read another book on the same topic, you’d end up learning something else, or getting a different view on the topic. As such you cannot rely on a single source to give you the full picture.

Furthermore, without taking what you read into practice, you will forget what you learned. I assume this is what happened with HML/CSS before, and what will happen with whatever programming topic you end up looking into next.

Sure you will remember some things naturally, but a large portion of what you read will be forgotten without any re-enforcement on your part. You will also miss out on any thing you personally run into, IE problems/issues the book probably doesn’t cover. In fixing/dealing with the issues yourself you build up some experience yourself, rather than trying to “remember” whatever experience is presented to you via the book.

I recommend you do read the book, but with whatever you read go out and use it to build something. Odds are you will run into issues building something on your own, and that is ok. Figuring out how to debug/understand the issues you have and finding a way to fix them is what will help you remember and give you experience. Keep things small so you don’t get overwhelmed, which will help you remember and learn individual concepts. Yes its more work to learn this way, but its much more efficient in helping you remember and build experience.

Good luck, keep learning, keep growing :+1:

5 Likes

in addition to what brad said, something else that can be helpful in regards to utilizing online resources rather than books is the community (like this forum). when you’re doing online courses, it’s much easier to reach out and ask for help since there are heaps of forums and chat groups that have done that exact course and can easily answer your questions. i’m not trying to completely bash books, but i’d recommend using them as a supplement to online courses rather than as your main resource. hope this helps! have a great day : )

2 Likes

I would say to learn online.

But beyond that, I do pick up a coding book and scan through it to see if there is anything with which I am not familiar. Heck, I always say that every JS programmer should read the YDKJS once a year until you understand everything in it - then you can cut back to once every 12 months. But seriously, I also like to read through documentation, like I used to sit on my porch and read a couple pages of the React, Redux, Jest, etc. docs each night.

But in terms of just learning the basics? I think online is good. And get used to using online documentation for reference.

3 Likes

For me personally, online resources work best for this topic. However I really enjoy books, and I learn very well if I have a good book to reference and revisit. In my humble opinion, I think that having a combination of online and book learning is kind of essential and a more well rounded approach to learning this type of material. Just my personal opinion and perspective on things.

Hope I could help.
Best of luck to you :pray:

1 Like

(post deleted by author)

2 Likes

If I can recommend a course, it would be CS50: Introduction to Computer Science (it’s free) by Harvard. The course ain’t easy per say, but you will learn a LOT about CompSci and some Web Dev too while you are at it.

When I started learning, I’ve also opted for the online stuff

alright, I was just saying this because Elon musk learned programming through books.

Elon did learn a lot of his current approaches from the world of software. You can see a lot of the same mindset in other companies he has founded.

Take for example one of his big companies, SpaceX.

SpaceX is a world leading launch provider due to excellent cost, reliable scheduling, and dynamic offerings of multiple launch platforms. A key reason for all of this is SpaceX’s approach to building and advancing spaceflight. Namely taking risk, building things, experimenting and learning from those experimentations.

SpaceX came to the brink of going out of business as its first rocket (Falcon 1) failed its first 3 flights, making it look like “private company rocketry” just wasn’t possible, it was only something complicated, and complex that big nation states could do it.

Except the 4th mission made it to orbit successfully, marking the start of the a new age for the business. The 5th was the first and last launch of the Falcon 1 rocket, which delivered its payload to orbit. Rather than sit, the Falcon 1 was retired in favor of the Falcon 9, which had the insane goal being partially reusable using a propulsive landing system. Not only has no commercial company made it to orbit, but that commercial company would continue to experiment, fail, learn and continue experimenting.

Today the Falcon 9 is the easily the most reliable, cheapest, rocket available primarily due to its reusability capabilities to the point, as of this post the “life leader” first stage booster has broken the 10 flight mark, which was the original estimation of reusability without major refurbishment made by Elon.

So why am I talking about all of this awesome space stuff? Its because these company took a similar approach to learning from their failures, and continued experimenting in what is literally rocket science.

SpaceX engineers did learn from books, but the really learned from experience and trying things out. They didn’t strive to learn everything the first time or be perfect or stick to the book, they focused on the process of learning so they could iterate their way to becoming a global leader in rocket science.

Today SpaceX is building and testing the Falcon 9 replacement, the Starship System. Which is the system that is designed to take humans all the way to Mars. They are designing, testing and building this system the same way as before. Trying, learning, iterating, failing and trying again. Yes they have some starting points, the Falcon 9 is partially reusable, the Shuttle is another comparable prototype. But to really learn, you need to test. You need to build, you need to fail, and learn from those failures.

Sure SpaceX does rocket science, but it all roots back to the same mindset Elon took with him when he made PayPal, and Tesla.