Live data from Hacker News

The Benjamin Franklin method for learning more from programming books

pathsensitive.com

71–80 of 105 posts

Re: The Benjamin Franklin method for learning more from programming books

#71
post #46

Earlier quoted context omitted.

"I grew convinc'd that Truth, Sincerity and Integrity in Dealings between Man and Man, were of the utmost Importance to the Felicity of Life." I live my life according this. I've regretted many mistakes along the way. I have never regretted telling the truth. I might withhold the truth. I might knowingly let people assume things, but that is their own fault. I will not lie. The problem after reading this in high scho…

Technically I believe a philosopher is a lover of wisdom, rather than just truth. But I guess you could rightly argue that truth is a subset of wisdom... :)

Because I love something doesn't mean I'm good at it. A T.S. Eliot fan might appreciate this comment.

Re: The Benjamin Franklin method for learning more from programming books

#72

He doesn't really mention that the reason chess players and musicians can take more with each glance at a position/page is that they see in chunks, not individual elements - that comes from learning the patterns, e.g. in chess "short-castled white king with pawn on h3", in music "C7 chord with melody on the 7th" etc. It's just like adding more layers to a neural network, each layer building things from the elements o…

Another big difference is that the chess players and musicians he mentions are already experts. If you are learning a new language, you probably don't know the syntax, and maybe even don't have a clue about the programming paradigm.

Re: The Benjamin Franklin method for learning more from programming books

#73

For those who are looking for ways to improve on how we learn, I recommend the book "Make it stick": http://www.makeitstick.net/ It was a real eye opener for me.

For similar content in video lecture form, "Learning How To Learn" covers the same topics, and is free from Coursera:

https://www.coursera.org/learn/learning-how-to-learn

It's taught by Barbara Oakley, and the content of her book "A Mind For Numbers" is complementary to "Make It Stick."

Re: The Benjamin Franklin method for learning more from programming books

#74

Most programming books do not let you pause to reflect. They just go on and on. Consider Fluent Python by Luis Ramalho. If you read through the book, you will not get much out of it. However, if after each chapter, you try to come up with a practical application of the concepts discussed, then you will have a better chance at building a mental model around the topics. The code presented is just a solution to a proble…

In the case of "Fluent Python", the author fairly explicitly calls out it is not for rote learning of the basic language:

> ..."if you read it too early in your Python journey, it may give you the impression that every Python script should leverage special methods and metaprogramming tricks."

Re: The Benjamin Franklin method for learning more from programming books

#75
Until a few weeks ago I had never bought a programming book, instead electing to learn on the job. I've noticed that since I'm not a novice programmer anymore, by far the most efficient way to learn is to use the method in the article. I've been working through K&R C and have been doing exactly what the article says--read the code, understand how it works, then write it. When it breaks, go back and learn why. After a few exercises, you'll find yourself adding your own flair and style, which is essential for your growth as a programmer. Plus, it's a much more fulfilling feeling of accomplishment when you can create something from scratch, rather than copy-pasting.

Re: The Benjamin Franklin method for learning more from programming books

#76

He doesn't really mention that the reason chess players and musicians can take more with each glance at a position/page is that they see in chunks, not individual elements - that comes from learning the patterns, e.g. in chess "short-castled white king with pawn on h3", in music "C7 chord with melody on the 7th" etc. It's just like adding more layers to a neural network, each layer building things from the elements o…

Learning to improvise jazz seems different to Franklin's method, in that you don't listen to a jazz great's solo, put it aside and later try to reconstruct it; you have to play it exactly, writing it out if necessary, and play it over and over until it starts to become intuitive; until the muscles learn it.

I think that this Franklin method is basically how I learned. Jazz solos are not generally random; they are based on particular chords and/or scales/modes. The best improvisers tend to be good composers in general, and improvising is composing real-time. Get a good handle on what chord/mode to center you're composing around, and construct a jazz solo likewise.

Re: The Benjamin Franklin method for learning more from programming books

#77

Most programming books do not let you pause to reflect. They just go on and on. Consider Fluent Python by Luis Ramalho. If you read through the book, you will not get much out of it. However, if after each chapter, you try to come up with a practical application of the concepts discussed, then you will have a better chance at building a mental model around the topics. The code presented is just a solution to a proble…

In the case of "Fluent Python", the author fairly explicitly calls out it is not for rote learning of the basic language: > ..."if you read it too early in your Python journey, it may give you the impression that every Python script should leverage special methods and metaprogramming tricks."

But if you are familiar with a lot of the concepts and the basic syntax of Python, its wonderful. I never understood how all the magic methods in Python worked (and how nice they were) until I read that book.

I haven't finished it, but because of it am now able to write and read Python much, much better.

Re: The Benjamin Franklin method for learning more from programming books

#78
post #8

Books present information in various ways. Some books have questions that you can answer yourself to teach yourself how to do things. It looks like this author would be a fan of Learn C the Hard way by Zed Shaw. But, if you are buying a book to learn how to do something coming in with some kind of goal is more instructive than reading a book and regurgitating the answers. The author has a good idea on how to make the…

Heretic. Kernighan and Ritchie is the one true gospel.

Protestant maybe? His chapter about K&R certainly has the feeling of Luther's 95 theses.

Re: The Benjamin Franklin method for learning more from programming books

#79

For those who are looking for ways to improve on how we learn, I recommend the book "Make it stick": http://www.makeitstick.net/ It was a real eye opener for me.

For similar content in video lecture form, "Learning How To Learn" covers the same topics, and is free from Coursera: https://www.coursera.org/learn/learning-how-to-learn It's taught by Barbara Oakley, and the content of her book "A Mind For Numbers" is complementary to "Make It Stick."

+1 for the Learning How To Learn MOOC. Short and easy to follow, but high quality content.

Re: The Benjamin Franklin method for learning more from programming books

#80

He doesn't really mention that the reason chess players and musicians can take more with each glance at a position/page is that they see in chunks, not individual elements - that comes from learning the patterns, e.g. in chess "short-castled white king with pawn on h3", in music "C7 chord with melody on the 7th" etc. It's just like adding more layers to a neural network, each layer building things from the elements o…

Q. Who are the great programmers, with inimitable or at least unmistakable and unique styles? Is there such a thing, as happens with music improvisers, composers, artists, writers?

I find that "great programming" is less about the style of the code itself. That part is craftsmanship, which beginners do poorly, but once you learn it, you've learned it. Expert coders may have differing styles, but it mostly just looks like "good style". Like how two expert carpenters might make slightly different style of chairs, and you can tell that both are made really well, but neither style is distinctive enough that it will blow you away.

No, true "artistry" in code I find comes less from style in code and more from architecture. Like, when you first learn about the unix pipeline, and realize how all these tiny programs are composable, and it blows your fucking mind? Or when you're faced with a huge codebase, framework or engine, and you start to explore how it works, and you realize how smartly designed everything is, and how easy it is to do stuff in it? (it doesn't happen often, but when it does, it's wonderful)

That's what great programmers do.

Post reply on HN