From: "Florian G. Pflug" Date: 2001-09-23T03:01:21+09:00 Subject: [ruby-talk:21551] Re: Math and Programming On Sat, Sep 22, 2001 at 10:55:39PM +0900, Avdi B. Grimm wrote: > Well, that would have been me, anyway. I started programming because I > hated math and wanted the computer to do it for me ;-) What the computer can do for you is not math. Math is not about calculation - math is about logic and abstraction. It's sad the math is so widely though to be just about calculating results and dealing with numbers. Math is much more. It's about abstracting reality, thus simplifying it enough to enable us to deal with it. IMHO there is no distinction between "math skills" and "programming skills". It's the same kind of skills you need to master either one or the other subject. Of course you are right if you say that you don't need a lot of mathematical knowledge for programming. But you need the same skills as someone doing math, mainly the ability to abstract reality (because reality is not only too difficult for us, it's also too difficult for the computer), and you need logic because thats what computers are based on. I give you an example: You need to design a personal-organizer application. You will need some kind of address-book functionality. Now you have to decide .) What data shall be stored (first name, last name, phone nr) .) How is the data organized. Are there some related fields? .) Is every attribute of a person, like name, addres,... really a property of only one person (the company is a counter-example) .) Do I know exactly which attributes I need to save? Or do I need to give the user the ability to create his own fields? After a while of thinking you will come up with some kind of data structure. Maybe you will store persons, and companies, and link each person to a compony (it doesn't matter now how you do that exactly.). What you have done now is abstracting the reality (reality being relationsships of persons, their addresses, phone numbers and companies they work for in this case), and making up a simplified model of reality. Now this is exactly what mathematicians do - they e.g. look at the natural numbers (1,2,3,4,5...), and see them as a abstract concept following some rules (like that each number has a successor). Now, if you are a good programmer (which I have absolutly no doubts about), you surely also have the skills to understand math. And you would surely have no problems reading a book that demands this kind of skills. You might have problems reading a book which demand a huge amout of mathematical knowledge. But skills and knowledge are two verry different things. greetings, Florian Pflug Who believes that most people would have the skills for math - but for some (educational?) reasons they are afaid of it