First, I do not think that learning to program computers must be part of a decent education. Many people learn to solve simple integrals in high-school, but the effect, beyond simple brain-training, is nil.
For programming it’s the same. Learning to program well takes years. I mean years of full-time studying/programming etc.
However, if you really want to learn programming, the first question is not the language, but what you wanna do. You learn one language until you have built up some self-confidence, then learn another. The “what” typically breaks down very early. Sorry, I cannot give you any hints on this.
And, first exercise, you should post this question (or search for answers to this question, as it has been posted already too many times) on the correct forums for programming questions. Finding those forums is the first start into learning programming. You’ll never be able to keep all the required facts for programming in your head.
I’ve never heard of processing, but I like Lua (more than python), and Lisp. However, even Java is just fine. Don’t get into the habit of thinking that mediocre languages inhibit your progress. At the beginning, nearly all languages are more advanced than you.
What I want is to be able understand, attain a more intuitive comprehension, of concepts associated with other fields that I’m interested in, which I assume are important. As a simple example, take this comment by RobinZ. Not that I don’t understand that simple statement. As I said, I already know the ‘basics’ of programming. I thoroughly understand it. Just so you get an idea.
In addition to reading up on all lesswrong.com sequences, I’m mainly into mathematics and physics right now. That’s where I have the biggest deficits. I see my planned ‘study’ of programming to be more as practise of logical thinking and as a underlying matrix to grasp fields liked computer science and concepts as that of a ‘Turing machine’.
And I do not agree that the effect is nil. I believe that programming is one of the foundations necessary to understand. I believe that there are 4 cornerstones underlying human comprehension. From there you can go everywhere: Mathematics, Physics, Linguistics and Programming (formal languages, calculation/data processing/computation, symbolic manipulation). The art of computer programming is closely related to the basics of all that is important, information.
Well, now that I understand your intentions a little bit better (and having read through the other comments), I seriously want to second the recommendation of Scheme.
Use DrScheme as environment (zero-hassle), go through SICP and HTDP. Algorithms are nice, Knuth’s series and so, but it may be more than you are asking. Project Euler is a website where you can find some inspirations for problems you may want to solve. Scheme as a language has the advantages that you will not need time to wrap your head around ugly syntax (most languages, except for Lua, maybe Python), memory management (C), or mathematical purity (Haskell, Prolog). AFAIK they also distinguish between exact (rational numbers, limited only by RAM) and inexact numbers (floating points) -- regularly a confusion for people trying to do some numeric code the first time. The trade-offs are quite different for professional programmers, though.
First, I do not think that learning to program computers must be part of a decent education. Many people learn to solve simple integrals in high-school, but the effect, beyond simple brain-training, is nil.
For programming it’s the same. Learning to program well takes years. I mean years of full-time studying/programming etc.
However, if you really want to learn programming, the first question is not the language, but what you wanna do. You learn one language until you have built up some self-confidence, then learn another. The “what” typically breaks down very early. Sorry, I cannot give you any hints on this.
And, first exercise, you should post this question (or search for answers to this question, as it has been posted already too many times) on the correct forums for programming questions. Finding those forums is the first start into learning programming. You’ll never be able to keep all the required facts for programming in your head.
I’ve never heard of processing, but I like Lua (more than python), and Lisp. However, even Java is just fine. Don’t get into the habit of thinking that mediocre languages inhibit your progress. At the beginning, nearly all languages are more advanced than you.
What I want is to be able understand, attain a more intuitive comprehension, of concepts associated with other fields that I’m interested in, which I assume are important. As a simple example, take this comment by RobinZ. Not that I don’t understand that simple statement. As I said, I already know the ‘basics’ of programming. I thoroughly understand it. Just so you get an idea.
In addition to reading up on all lesswrong.com sequences, I’m mainly into mathematics and physics right now. That’s where I have the biggest deficits. I see my planned ‘study’ of programming to be more as practise of logical thinking and as a underlying matrix to grasp fields liked computer science and concepts as that of a ‘Turing machine’.
And I do not agree that the effect is nil. I believe that programming is one of the foundations necessary to understand. I believe that there are 4 cornerstones underlying human comprehension. From there you can go everywhere: Mathematics, Physics, Linguistics and Programming (formal languages, calculation/data processing/computation, symbolic manipulation). The art of computer programming is closely related to the basics of all that is important, information.
Well, now that I understand your intentions a little bit better (and having read through the other comments), I seriously want to second the recommendation of Scheme.
Use DrScheme as environment (zero-hassle), go through SICP and HTDP. Algorithms are nice, Knuth’s series and so, but it may be more than you are asking. Project Euler is a website where you can find some inspirations for problems you may want to solve. Scheme as a language has the advantages that you will not need time to wrap your head around ugly syntax (most languages, except for Lua, maybe Python), memory management (C), or mathematical purity (Haskell, Prolog). AFAIK they also distinguish between exact (rational numbers, limited only by RAM) and inexact numbers (floating points) -- regularly a confusion for people trying to do some numeric code the first time. The trade-offs are quite different for professional programmers, though.
edit: welcome to the web, using links!