Last time this subject came up, you seemed to be embarking on learning programming through Haskell. If that’s what you did, could you write about your experiences?
Read up on it, decide that it is worth it, gather tutorials and books and then postpone it because there have been and still are more important and in some cases necessary things to learn. And I didn’t really want to learn programming, I still don’t. I want to be able to read, understand and appreciate code and algorithms in general. I don’t want to become a poet, I want to be able to read and appreciate poetry. My main interest right now is to survey human knowledge and search for unknown unknowns to be able to judge the current state of affairs and put everything into perspective. Being able to read code is like learning a foreign language, it opens up a whole new world of knowledge and installs a new cognitive toolkit. I just don’t have the time and resources to concentrate enough on a single area to become proficient enough to make valuable additions to that area. And I don’t think it is even necessary to be able to contribute yourself to a field to judge its importance and tell apart what is valuable from what is worthless or just wrong.
I ask myself, what do I want and how do I achieve it? What am I doing and why am I doing it? How do the answers to those questions align? What I am doing is to survey the landscape of human knowledge to establish an informed set of achievable desires. If I don’t know what is out there, what is possible, how can I tell that what I want is desirable? I am trying to find out what I ought to want, which set of desires is consistent, achievable and does yield the maximal possible satisfaction given the nature of reality.
I already know the LW answer, figure out friendly AI which is then going to figure out what you want. If I’d fully accept that answer there would be no sense for me to learn to read code at all right now because I don’t expect to be able to earn more money that way, money that I could then donate to the SIAI. The only reason to learn to read code that would be left then would be as recreational activity.
And I didn’t really want to learn programming, I still don’t. I want to be able to read, understand and appreciate code and algorithms in general. I don’t want to become a poet, I want to be able to read and appreciate poetry.
That’s like trying to understand math without ever solving any problems with your own hand. It’s not a viable way to understand anything, though I suppose it may be a viable way to fool yourself into thinking that you understand things.
That is what I am actuallydoing. That’s not what I meant. What I meant is that you don’t have to be able to write the sequences from scratch to understand them.
Here’s a phenomenon I was surprised to find: you’ll go to talks, and hear various words, whose definitions you’re not so sure about. At some point you’ll be able to make a sentence using those words; you won’t know what the words mean, but you’ll know the sentence is correct. You’ll also be able to ask a question using those words. You still won’t know what the words mean, but you’ll know the question is interesting, and you’ll want to know the answer. Then later on, you’ll learn what the words mean more precisely, and your sense of how they fit together will make that learning much easier. The reason for this phenomenon is that mathematics is so rich and infinite that it is impossible to learn it systematically, and if you wait to master one topic before moving on to the next, you’ll never get anywhere. Instead, you’ll have tendrils of knowledge extending far from your comfort zone. Then you can later backfill from these tendrils, and extend your comfort zone; this is much easier to do than learning “forwards”. (Caution: this backfilling is necessary. There can be a temptation to learn lots of fancy words and to use them in fancy sentences without being able to say precisely what you mean. You should feel free to do that, but you should always feel a pang of guilt when you do.) — Ravi Vakil
And I didn’t really want to learn programming, I still don’t. I want to be able to read, understand and appreciate code and algorithms in general.
Lots of people learn programming because it’s a useful tool for whatever else they’re doing. Quite a few biologists, for example, learn Perl because it’s the traditional bioinformatics glue language.
I would recommend that if someone can learn programming, then they should do it, preferably in a mainstream language like Python. It gives you all sorts of cool data-mangling powers. Actually becoming good at programming is less important, though still very useful.
Read up on it, decide that it is worth it, gather tutorials and books and then postpone it because there have been and still are more important and in some cases necessary things to learn. And I didn’t really want to learn programming, I still don’t. I want to be able to read, understand and appreciate code and algorithms in general. I don’t want to become a poet, I want to be able to read and appreciate poetry. My main interest right now is to survey human knowledge and search for unknown unknowns to be able to judge the current state of affairs and put everything into perspective. Being able to read code is like learning a foreign language, it opens up a whole new world of knowledge and installs a new cognitive toolkit. I just don’t have the time and resources to concentrate enough on a single area to become proficient enough to make valuable additions to that area. And I don’t think it is even necessary to be able to contribute yourself to a field to judge its importance and tell apart what is valuable from what is worthless or just wrong.
I ask myself, what do I want and how do I achieve it? What am I doing and why am I doing it? How do the answers to those questions align? What I am doing is to survey the landscape of human knowledge to establish an informed set of achievable desires. If I don’t know what is out there, what is possible, how can I tell that what I want is desirable? I am trying to find out what I ought to want, which set of desires is consistent, achievable and does yield the maximal possible satisfaction given the nature of reality.
I already know the LW answer, figure out friendly AI which is then going to figure out what you want. If I’d fully accept that answer there would be no sense for me to learn to read code at all right now because I don’t expect to be able to earn more money that way, money that I could then donate to the SIAI. The only reason to learn to read code that would be left then would be as recreational activity.
That’s like trying to understand math without ever solving any problems with your own hand. It’s not a viable way to understand anything, though I suppose it may be a viable way to fool yourself into thinking that you understand things.
That is what I am actually doing. That’s not what I meant. What I meant is that you don’t have to be able to write the sequences from scratch to understand them.
I hope you did some programming as learning how to understand code would be difficult without actually making some.
Lots of people learn programming because it’s a useful tool for whatever else they’re doing. Quite a few biologists, for example, learn Perl because it’s the traditional bioinformatics glue language.
I would recommend that if someone can learn programming, then they should do it, preferably in a mainstream language like Python. It gives you all sorts of cool data-mangling powers. Actually becoming good at programming is less important, though still very useful.