How to really understand programming? [duplicate]

I have started to learn to program. I am interested in it and dont mind how long it takes to learn. But I am using books to start out and I find that there are some things I get and some things I have no idea.

I can understand the code when I see an example but I feel completely lost if I were to go out and do something on my own. I have barely any experience: maybe 20 or so hours, which I understand is absolutely nothing.

  • When does everything come together?
  • What are some best ways to learn that anyone else has found?
  • Are there any good projects people have done that have been a great learning experience?

3

The absolute best way to learn how to program is to write code.

There’s no way around it, especially as – and you said so yourself – it’s the goal in itself.

Reading is For Background and Research

Books, blogs, podcasts and the likes will get you started and give you general background and knowledge at first, and then help you study more complex algorithms or learn about software engineering techniques and best practices.

Get Started

If you want to learn to code, you need to code. Pick a language, find something you want to start working on, and get down to it. Or find a list of small exercices and do them.

Possible Book Suggestions

Several approaches. In any case, it’s vital that you actually do what the books tell you to do and don’t just simply read them.

For the Practical Mind

If you’re the practical kind, these would be good introductory books to coding. That is, if you’re curious enough to then go beyond what the books teach you:

  • Learn X the Hard Way Series, by Zed Shaw
    • Learn Python the Hard Way (the original)
    • Learn Ruby the Hard Way
    • Learn C the Hard Way
  • Why’s Poignant Guide to Ruby, by why the lucky stiff (aka Johnathan Gillette)
  • Learn You a Haskell for Great Good, by Miran Lipovaca

Some will say they are light on the details and overlook very important concepts, but the point is to get you going and to enjoy programming quick. So if you’re easily distracted and want to see quick results, maybe these are for you.

For the Academic in You

If you’re the studious and academic kind, these are good bibles, if you get past the fact you can also use them to kill someone:

  • Structure and Interpretations of Computer Programs, by Hal Abelson, Jerry Sussman and Julie Sussman
  • Concepts, Techniques and Models of Computer Programming, by Peter Van Roy and Seif Haridi

Some consider them not a good fit to get started, because they are detached from the reality of software engineering in professional settings (mostly because of the languages and tooling used, but also because of the purity generally sought in the answers).

They are extremely good books though.

For the Life-Long Learner

Or at least for the one who goes beyond just learning the basics and wants to dive into the more arcane areas of the craft, both in terms of algorithmics or in terms of software engineering practices:

  • The Pragmatic Programmer, by Andrew Hunt and David Thomas
  • The Art of Computer Programming (can also be a decent armor plate, or provide lots of energy in winter), by Donald Knuth
  • Software Engineering, by Ian Somerville
  • Refactoring: Improving the Design of Existing Code, by Fowler, Beck, Brant, Opdyke, Roberts
  • Working Effectively with Legacy Code, by Michael Feathers
  • Clean Code, by Robert C. Martin
  • Code Complete *, by Steve McConnell

Suggested Helpful P.SE Threads

  • Able to read Code but struggling majorly to write it (actually posted just a few hours before your question)
  • How can I really master a programming language?
  • https://softwareengineering.stackexchange.com/questions/151229/im-having-trouble-learning/151242#151242
  • Learn programming backwards, or “so I failed the FizzBuzz test. Now what?”

* For some reason unknown to me, I dislike this book very much. Blasphemy, I know, right? Too heavy, hard to navigate (subjective), repeats itself too much and could easily be half-the size. Maybe because I read it too late in my career, I don’t know.

6

How do you learn to swim? By swimming.
How do you learn to program? By programming.

You can’t learning to swim by just reading books, nor can you learn to program by just reading books (not to say reading is not important, it is important, in addition to practicing).

So start writing simple programs as much as you can, there are a lot of exercises on the internet.

Trang chủ Giới thiệu Sinh nhật bé trai Sinh nhật bé gái Tổ chức sự kiện Biểu diễn giải trí Dịch vụ khác Trang trí tiệc cưới Tổ chức khai trương Tư vấn dịch vụ Thư viện ảnh Tin tức - sự kiện Liên hệ Chú hề sinh nhật Trang trí YEAR END PARTY công ty Trang trí tất niên cuối năm Trang trí tất niên xu hướng mới nhất Trang trí sinh nhật bé trai Hải Đăng Trang trí sinh nhật bé Khánh Vân Trang trí sinh nhật Bích Ngân Trang trí sinh nhật bé Thanh Trang Thuê ông già Noel phát quà Biểu diễn xiếc khỉ Xiếc quay đĩa Dịch vụ tổ chức sự kiện 5 sao Thông tin về chúng tôi Dịch vụ sinh nhật bé trai Dịch vụ sinh nhật bé gái Sự kiện trọn gói Các tiết mục giải trí Dịch vụ bổ trợ Tiệc cưới sang trọng Dịch vụ khai trương Tư vấn tổ chức sự kiện Hình ảnh sự kiện Cập nhật tin tức Liên hệ ngay Thuê chú hề chuyên nghiệp Tiệc tất niên cho công ty Trang trí tiệc cuối năm Tiệc tất niên độc đáo Sinh nhật bé Hải Đăng Sinh nhật đáng yêu bé Khánh Vân Sinh nhật sang trọng Bích Ngân Tiệc sinh nhật bé Thanh Trang Dịch vụ ông già Noel Xiếc thú vui nhộn Biểu diễn xiếc quay đĩa Dịch vụ tổ chức tiệc uy tín Khám phá dịch vụ của chúng tôi Tiệc sinh nhật cho bé trai Trang trí tiệc cho bé gái Gói sự kiện chuyên nghiệp Chương trình giải trí hấp dẫn Dịch vụ hỗ trợ sự kiện Trang trí tiệc cưới đẹp Khởi đầu thành công với khai trương Chuyên gia tư vấn sự kiện Xem ảnh các sự kiện đẹp Tin mới về sự kiện Kết nối với đội ngũ chuyên gia Chú hề vui nhộn cho tiệc sinh nhật Ý tưởng tiệc cuối năm Tất niên độc đáo Trang trí tiệc hiện đại Tổ chức sinh nhật cho Hải Đăng Sinh nhật độc quyền Khánh Vân Phong cách tiệc Bích Ngân Trang trí tiệc bé Thanh Trang Thuê dịch vụ ông già Noel chuyên nghiệp Xem xiếc khỉ đặc sắc Xiếc quay đĩa thú vị
Trang chủ Giới thiệu Sinh nhật bé trai Sinh nhật bé gái Tổ chức sự kiện Biểu diễn giải trí Dịch vụ khác Trang trí tiệc cưới Tổ chức khai trương Tư vấn dịch vụ Thư viện ảnh Tin tức - sự kiện Liên hệ Chú hề sinh nhật Trang trí YEAR END PARTY công ty Trang trí tất niên cuối năm Trang trí tất niên xu hướng mới nhất Trang trí sinh nhật bé trai Hải Đăng Trang trí sinh nhật bé Khánh Vân Trang trí sinh nhật Bích Ngân Trang trí sinh nhật bé Thanh Trang Thuê ông già Noel phát quà Biểu diễn xiếc khỉ Xiếc quay đĩa
Thiết kế website Thiết kế website Thiết kế website Cách kháng tài khoản quảng cáo Mua bán Fanpage Facebook Dịch vụ SEO Tổ chức sinh nhật