 |
C++Talk.NET C++ language newsgroups
|
| View previous topic :: View next topic |
| Author |
Message |
Chris Guest
|
Posted: Sat Apr 17, 2004 10:53 pm Post subject: how to study c++ |
|
|
I studied cpp for 1years
But I lost my way about what I should do then..
I'm trying to study STL, algorithms a little, But I'm still worring
about their efficence for real field..
for example, I'm studying binary tree search algorithm at the moment.
My algorithm book doesn't tell me about how to use in real
programming. So I'm not sure it is good for my programming life.. or
just time killing..
Show me the right way.. plz...
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]
|
|
| Back to top |
|
 |
llewelly Guest
|
Posted: Sun Apr 18, 2004 10:02 am Post subject: Re: how to study c++ |
|
|
[email]imkimes (AT) hotmail (DOT) com[/email] (Chris) writes:
| Quote: | I studied cpp for 1years
But I lost my way about what I should do then..
I'm trying to study STL, algorithms a little, But I'm still worring
about their efficence for real field..
|
Here are some suggested books:
_Effective STL_, Scott Meyers
_Generic Programming and the STL_, Matt Austern
_STL Tutorial and Reference 2nd Edition_, David Musser and I
forget who else.
The ACCU has an excellent index of generally accurate reviews for
books; see http://www.accu.org/bookreviews/public/index.htm .
| Quote: | for example, I'm studying binary tree search algorithm at the moment.
My algorithm book doesn't tell me about how to use in real
programming.
[snip] |
In real programming you use an existing container until you have
reason to believe you have special needs you can meet better than
the standard containers. Implementing a binary tree yourself is
valuable learning exercise, but most of the time, you'll use
std::set or std::map instead of your own hand-rolled binary
tree. Every once in a while, you'll have a specific need the
standard containers don't meet well, and you'll roll your own,
but that's not common.
std::set<> and / or std::map<> are not necessarily implemented as
binary trees, but their required performance characteristics are
roughly similar.
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]
|
|
| Back to top |
|
 |
Dhruv Matani Guest
|
Posted: Sun Apr 18, 2004 10:03 am Post subject: Re: how to study c++ |
|
|
On Sat, 17 Apr 2004 18:53:03 -0400, Chris wrote:
| Quote: | I studied cpp for 1years
But I lost my way about what I should do then..
I'm trying to study STL, algorithms a little, But I'm still worring
about their efficence for real field..
for example, I'm studying binary tree search algorithm at the moment.
My algorithm book doesn't tell me about how to use in real
programming. So I'm not sure it is good for my programming life.. or
just time killing..
Show me the right way.. plz...
|
Algorithms are very important for programming, as is a working knowledge
of mathematics. Some people would go further to saying that mathematics is
very very very important for programmers. They are the followers of Prof.
EW Dijkstra. I have a friend who thinks that way. Then it depends on what
you are inclined towards.
--
Regards,
-Dhruv.
Proud to be a Vegetarian.
http://www.vegetarianstarterkit.com/
http://www.vegkids.com/vegkids/index.html
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]
|
|
| Back to top |
|
 |
Antoun Kanawati Guest
|
Posted: Mon Apr 19, 2004 5:41 am Post subject: Re: how to study c++ |
|
|
Dhruv Matani wrote:
| Quote: | Algorithms are very important for programming, as is a working knowledge
of mathematics. Some people would go further to saying that mathematics is
very very very important for programmers. They are the followers of Prof.
EW Dijkstra. I have a friend who thinks that way. Then it depends on what
you are inclined towards.
|
Pick any algorithms book: it's got a good deal of math. Maybe everyone
is a follower of the late Dijkstra, blessed be his name :-)
Mathematics in programming is not a matter of choice or faith, it is
part and parcel of the deal. You need the ability to perform rigorous
formal reasoning tasks whenever you program anything mildly interesting.
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]
|
|
| Back to top |
|
 |
Jeff Schwab Guest
|
Posted: Mon Apr 19, 2004 5:42 am Post subject: Re: how to study c++ |
|
|
Chris wrote:
| Quote: | I studied cpp for 1years
But I lost my way about what I should do then..
I'm trying to study STL, algorithms a little, But I'm still worring
about their efficence for real field..
for example, I'm studying binary tree search algorithm at the moment.
My algorithm book doesn't tell me about how to use in real
programming. So I'm not sure it is good for my programming life.. or
just time killing..
Show me the right way.. plz...
|
1) Use STL (or other existing libraries).
2) Profile, benchmark, listen to users of your software.
3) Optimize the bottle-necks.
For most purposes, the STL performance is just fine.
Studying binary trees and searches is still valuable, at least for
students. Understanding data structures and algorithms will help you
appreciate the benefits and limitations of the existing libraries, and
to optimize effectively.
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]
|
|
| Back to top |
|
 |
Francis Glassborow Guest
|
Posted: Mon Apr 19, 2004 9:55 am Post subject: Re: how to study c++ |
|
|
In message <AAtgc.9822$hw5.8485@attbi_s53>, Antoun Kanawati
<antounk (AT) comcast (DOT) net> writes
| Quote: | Dhruv Matani wrote:
Algorithms are very important for programming, as is a working knowledge
of mathematics. Some people would go further to saying that mathematics is
very very very important for programmers. They are the followers of Prof.
EW Dijkstra. I have a friend who thinks that way. Then it depends on what
you are inclined towards.
Pick any algorithms book: it's got a good deal of math. Maybe everyone
is a follower of the late Dijkstra, blessed be his name :-)
Mathematics in programming is not a matter of choice or faith, it is
part and parcel of the deal. You need the ability to perform rigorous
formal reasoning tasks whenever you program anything mildly interesting.
|
While this is true in one sense it can give a very false impression.
There is no need to have acquired the kind of skills that are so often
labelled as maths in High School. What is desirable is the kind of
thinking and mental discipline that those who are good at mathematics
have.
It is in the nature of doing maths that the practitioner stands back and
examines problems seeking out the special characteristics of a problem
without locking on to a superficial resemblance to another one.
Mathematicians (even fairly weak ones) try to find the deep structure of
a problem and use that to assist with finding a solution. Programmers
(even weak ones) do something very similar. However there is a great
deal of confusion in many people's minds between the 'syntax' and
methods of such things as trigonometry, simple algebra etc. and doing
mathematics. There is an even more widespread confusion between
'programming' and writing syntactically correct code is some language.
IMO writing code in whatever language I am using today is just a vehicle
for making manifest a deeper set of skills and insights that constitute
the art of programming. Each programming language provides its own
constraints on that expression which can either aid or hinder. But that
is no different from natural language where the same story can be told
in English or Japanese by a skilled author but direct translation will
fail to carry the substance or soul of the story across the language
barrier.
There is a common mode of thinking to mathematics and programming but
being good at mathematics is no more a pre-requisite for being good at
programming than the reverse. (And this is not a new idea, Professor
Hoare pointed this out to me twenty years ago and offered in evidence
that his own education was as a scholar of classical languages and
writing in those)
--
Francis Glassborow ACCU
Author of 'You Can Do It!' see http://www.spellen.org/youcandoit
For project ideas and contributions: http://www.spellen.org/youcandoit/projects
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]
|
|
| Back to top |
|
 |
Antoun Kanawati Guest
|
Posted: Tue Apr 20, 2004 10:14 am Post subject: Re: how to study c++ |
|
|
Francis Glassborow wrote:
| Quote: | ....
Mathematics in programming is not a matter of choice or faith, it is
part and parcel of the deal. You need the ability to perform rigorous
formal reasoning tasks whenever you program anything mildly interesting.
While this is true in one sense it can give a very false impression.
There is no need to have acquired the kind of skills that are so often
labelled as maths in High School. What is desirable is the kind of
thinking and mental discipline that those who are good at mathematics
have.
...
IMO writing code in whatever language I am using today is just a vehicle
for making manifest a deeper set of skills and insights that constitute
the art of programming. Each programming language provides its own
constraints on that expression which can either aid or hinder. But that
is no different from natural language where the same story can be told
in English or Japanese by a skilled author but direct translation will
fail to carry the substance or soul of the story across the language
barrier.
There is a common mode of thinking to mathematics and programming but
being good at mathematics is no more a pre-requisite for being good at
programming than the reverse. (And this is not a new idea, Professor
Hoare pointed this out to me twenty years ago and offered in evidence
that his own education was as a scholar of classical languages and
writing in those)
|
I said that math is necessary, but did not claim that it was sufficient
:-)
But, back to the subject, I believe that programming requires:
a. A solid grounding in formal reasoning.
b. A solid ability to express oneself clearly, for what is a program
but the expression of a thought?
c. Intuition, creativity, aesthetics, and a whole bunch of other
abilities commonly associated with the arts.
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]
|
|
| Back to top |
|
 |
Dhruv Matani Guest
|
Posted: Tue Apr 20, 2004 10:17 am Post subject: Re: how to study c++ |
|
|
On Mon, 19 Apr 2004 05:55:33 -0400, Francis Glassborow wrote:
| Quote: | In message <AAtgc.9822$hw5.8485@attbi_s53>, Antoun Kanawati
[email]antounk (AT) comcast (DOT) net[/email]> writes
Dhruv Matani wrote:
Algorithms are very important for programming, as is a working knowledge
of mathematics. Some people would go further to saying that mathematics is
very very very important for programmers. They are the followers of Prof.
EW Dijkstra. I have a friend who thinks that way. Then it depends on what
you are inclined towards.
Pick any algorithms book: it's got a good deal of math. Maybe everyone
is a follower of the late Dijkstra, blessed be his name :-)
Mathematics in programming is not a matter of choice or faith, it is
part and parcel of the deal. You need the ability to perform rigorous
formal reasoning tasks whenever you program anything mildly interesting.
|
| Quote: | There is a common mode of thinking to mathematics and programming but
being good at mathematics is no more a pre-requisite for being good at
programming than the reverse. (And this is not a new idea, Professor
Hoare pointed this out to me twenty years ago and offered in evidence
that his own education was as a scholar of classical languages and
writing in those)
|
I agree fully with what you have written above, and I myself old similar
if not the same view about this subject! That's the reason I mentioned in
my first message that the person should have a working knowledge of
mathematics. Meaning that he/she should be able to reasonably interpret
mathematical conventions, and should be willing to learn new stuff, and
should be able to do so without much fuss/difficulty. Once you have sound
reasoning, nothing much seems unreasonably difficult! You book's title
suggests something along the same lines: 'You Can Do It!'. I haven't read
it myself, but guess it has something to do with self belief.
Please could you tell me what that evidence was, or provide a link, if
that information is available online. I would be highly interested in
knowing about it.
--
Regards,
-Dhruv.
Proud to be a Vegetarian.
http://www.vegetarianstarterkit.com/
http://www.vegkids.com/vegkids/index.html
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]
|
|
| Back to top |
|
 |
Dhruv Matani Guest
|
Posted: Tue Apr 20, 2004 10:19 am Post subject: Re: how to study c++ |
|
|
On Mon, 19 Apr 2004 01:41:20 -0400, Antoun Kanawati wrote:
| Quote: | Dhruv Matani wrote:
Algorithms are very important for programming, as is a working knowledge
of mathematics. Some people would go further to saying that mathematics is
very very very important for programmers. They are the followers of Prof.
EW Dijkstra. I have a friend who thinks that way. Then it depends on what
you are inclined towards.
Pick any algorithms book: it's got a good deal of math. Maybe everyone
is a follower of the late Dijkstra, blessed be his name
|
You bet!
| Quote: | Mathematics in programming is not a matter of choice or faith, it is
part and parcel of the deal. You need the ability to perform rigorous
formal reasoning tasks whenever you program anything mildly interesting.
|
I don't think so. My friend with whom I have had quite a few heated
debates about these very same points too thinks the way you do. Even he is
a great fan of Prof. Mr. EW Dijkstra. He has been reading his books and
telling me quite a few (new to me) exciting things like correctness of
programs by construction by proving it on paper using Dijkstra's
propositional calculus. He keeps talking about it! I being not too
mathematically inclined can not make much sense of what he is saying, but
have begun feeling that he(Dijkstra) has something nice to offer.
I agree fully with Francis Glassborow, and even more so when he says that
mathematical reasoning, and not mathematics per-se is what is required for
for good coding/programming/designing. In fact my friend himself said once
that mathematical maturity in the logical and reasoning sense are more
important as compared to the pure mathematical knowledge.
However, to gain profeciency in the so called predicate calculus, he needs
to gain a higher level of mathematical maturity in terms of the actual
mathemactics required. Of course, the logical reasoning have to be present,
but he believes that to be a good programmer, you need to have a very
solid grounding in pure mathematics. How far do you think that this is
true?
--
Regards,
-Dhruv.
Proud to be a Vegetarian.
http://www.vegetarianstarterkit.com/
http://www.vegkids.com/vegkids/index.html
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]
|
|
| Back to top |
|
 |
Dhruv Matani Guest
|
|
| Back to top |
|
 |
Apurva Mehta Guest
|
Posted: Tue Apr 20, 2004 10:26 am Post subject: Re: how to study c++ |
|
|
On 19 Apr 2004 05:55:33 -0400, Francis Glassborow
<francis (AT) robinton (DOT) demon.co.uk> wrote:
| Quote: | In message <AAtgc.9822$hw5.8485@attbi_s53>, Antoun Kanawati
[email]antounk (AT) comcast (DOT) net[/email]> writes
Mathematics in programming is not a matter of choice or faith, it is
part and parcel of the deal. You need the ability to perform rigorous
formal reasoning tasks whenever you program anything mildly interesting.
While this is true in one sense it can give a very false impression.
There is no need to have acquired the kind of skills that are so often
labelled as maths in High School. What is desirable is the kind of
thinking and mental discipline that those who are good at mathematics
have.
It is in the nature of doing maths that the practitioner stands back and
examines problems seeking out the special characteristics of a problem
without locking on to a superficial resemblance to another one.
Mathematicians (even fairly weak ones) try to find the deep structure of
a problem and use that to assist with finding a solution. Programmers
(even weak ones) do something very similar. However there is a great
deal of confusion in many people's minds between the 'syntax' and
methods of such things as trigonometry, simple algebra etc. and doing
mathematics. There is an even more widespread confusion between
'programming' and writing syntactically correct code is some language.
|
I would say that the formal nature of mathematics is its greatest
strength. The notations mathematicians use while doing math are essential
to discipline of mathematics. The formal definition of trigonometry and
algebra is what makes them so powerful.
To give you an example of the power of notation, how helpful would it be
to do the following multiplication in the form I am presenting it : "one
hundred thirteen multiplied by sixty three"?
On the other hand if you use the rules of arithmetic and present the
problem in the form : "113 * 63", the problem is quite easily solved with
a pencil and paper. It would seem that the rules of arithmetic have
simplified the problem tremendously. Indeed, it might take a genius to
solve the problem in the original form, while even average school students
can solve the problem in the second form once they learn the rules of
arithmetic.
The formal notation employed by mathematics enforces a strict separation
of concerns. This is why mathematics simplifies many a problem. Any tool
of mathematics uses well defined symbols and simple rules with which you
can manipulate these symbols. These rules and the symbols always have a
proof of correctness to justify them. Once you accept these symbols, you
do not need to interpret them. You just use them in accordance with the
established rules to get your answer.
Now, you spotted that the nature of doing mathematics and the nature of
programming are quite similar. Both require the practitioner to fully
understand the problem and then to spot arguments that will lead to the
solution. The advantage that the mathematician has is that once he
translates the given problem into his formal notation, he is relieved of
the burden of having to interpret what he is doing all the time. Thus he
eases a huge load off his mind.
Modern programming languages do not afford the programmers such a luxury.
However, Edsger Dijkstra developed the predicate calculus which does
provide the programmer with a mathematical tool which he can use to do his
job more effectively. Programs can be derived like mathematical theorems.
The benefits are twofold. One benefit is that if we can prove that the
original rules are correct, then the programs we derive using them are
correct as well as long as we adhere to the rules. Whats more, by using
mathematical symbols, one can often create more elegant algorithms that
one would have done otherwise.
| Quote: | There is a common mode of thinking to mathematics and programming but
being good at mathematics is no more a pre-requisite for being good at
programming than the reverse. (And this is not a new idea, Professor
Hoare pointed this out to me twenty years ago and offered in evidence
that his own education was as a scholar of classical languages and
writing in those)
|
This is true. One does not have to know the traditional tools of
mathematics inorder to write programs. I mean that the Integral and
Differential calculus has little relevance to the construction of
programs. However, inorder to use tools like the predicate calculus
effectively, one really must have a good deal of mathematical maturity.
This maturity can be attained only by doing mathematics, whether in the
process of programming or otherwise.
--
Apurva Mehta
http://nodes.50g.com/nodes.html
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]
|
|
| Back to top |
|
 |
kanze@gabi-soft.fr Guest
|
Posted: Tue Apr 20, 2004 10:27 pm Post subject: Re: how to study c++ |
|
|
Francis Glassborow <francis (AT) robinton (DOT) demon.co.uk> wrote
| Quote: | In message <AAtgc.9822$hw5.8485@attbi_s53>, Antoun Kanawati
[email]antounk (AT) comcast (DOT) net[/email]> writes
Dhruv Matani wrote:
Algorithms are very important for programming, as is a working
knowledge of mathematics. Some people would go further to saying
that mathematics is very very very important for programmers. They
are the followers of Prof. EW Dijkstra. I have a friend who
thinks that way. Then it depends on what you are inclined towards.
Pick any algorithms book: it's got a good deal of math. Maybe everyone
is a follower of the late Dijkstra, blessed be his name :-)
Mathematics in programming is not a matter of choice or faith, it is
part and parcel of the deal. You need the ability to perform
rigorous formal reasoning tasks whenever you program anything mildly
interesting.
While this is true in one sense it can give a very false impression.
There is no need to have acquired the kind of skills that are so often
labelled as maths in High School. What is desirable is the kind of
thinking and mental discipline that those who are good at mathematics
have.
|
It depends on what you consider "high school maths". The important
aspect is not the geometry or the trigonometry, of course, but the
mathematical way of thinking and reasoning; someone who is good at the
proofs in Euclidian geometry is likely to be good a writing robust,
provably correct programs. If someone isn't good in maths because he
doesn't like them (say because he likes seeing concrete results to his
work), he might still make a good programmer; if he isn't good in maths
because he cannot reason mathematically, there's no hope.
With regards to Dijkstra, he never suggested that mathematics alone was
enough. One of my favorite quotes of his (from "How do we tell truths
that might hurt?", available on line as EWD 498 at
[url]http://www.cs.utexas.edu/users/EWD/indexEWDnums.html):[/url]
Besides a mathematical inclination, an exceptionally good mastery of
one's native tongue is the most vital asset of a competent
programmer.
| Quote: | It is in the nature of doing maths that the practitioner stands back
and examines problems seeking out the special characteristics of a
problem without locking on to a superficial resemblance to another
one. Mathematicians (even fairly weak ones) try to find the deep
structure of a problem and use that to assist with finding a solution.
Programmers (even weak ones) do something very similar. However there
is a great deal of confusion in many people's minds between the
'syntax' and methods of such things as trigonometry, simple algebra
etc. and doing mathematics. There is an even more widespread
confusion between 'programming' and writing syntactically correct code
is some language.
|
Excellent comparison. Being able to write C++ without compiler errors
no more makes you a programmer than memorizing the trig tables and a
couple of formulas makes you a mathematician.
| Quote: | IMO writing code in whatever language I am using today is just a
vehicle for making manifest a deeper set of skills and insights that
constitute the art of programming. Each programming language provides
its own constraints on that expression which can either aid or hinder.
But that is no different from natural language where the same story
can be told in English or Japanese by a skilled author but direct
translation will fail to carry the substance or soul of the story
across the language barrier.
|
More importantly, I would say that if you cannot express exactly what a
function should do in your native language, you cannot express it
correctly in C++ (or any other language). And if you can express it
exactly in your native language, and know C++ "reasonably well", you can
also express it in C++. Correctly, modulo any gotchas that you don't
happen to know.
I would even go a step further, and say that if you haven't actually
expressed it in your native language (preferably in writing), you don't
know whether you can or not, and so you are not ready to start coding.
Although this obviously doesn't apply for trivial functions, I find that
anytime I start stubling in a function, the solution is to step back and
write out clearly what the function is to do in French or English. And
only then come back to it in C++ (or whatever programming language I'm
using).
| Quote: | There is a common mode of thinking to mathematics and programming but
being good at mathematics is no more a pre-requisite for being good at
programming than the reverse. (And this is not a new idea, Professor
Hoare pointed this out to me twenty years ago and offered in evidence
that his own education was as a scholar of classical languages and
writing in those)
|
Being able to be good at mathematics is probably involves enough common
points with being able to be good at programming that one implies the
other. Being able to be good at something doesn't necessarily mean that
you are good at it, however; I've met one or two people who were
hopeless at math simply because they were unable to apply themselves to
something that didn't have an immediate pratical use.
Still, if I were hiring, and all other things were equal, I'd choose the
candidate with the better grades in math.
--
James Kanze GABI Software mailto:kanze (AT) gabi-soft (DOT) fr
Conseils en informatique orientée objet/ http://www.gabi-soft.fr
Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]
|
|
| Back to top |
|
 |
Francis Glassborow Guest
|
Posted: Tue Apr 20, 2004 11:24 pm Post subject: Re: how to study c++ |
|
|
In message <pan.2004.04.19.15.31.55.457151 (AT) gmx (DOT) net>, Dhruv Matani
<dhruvbird (AT) gmx (DOT) net> writes
| Quote: | Error: In my other response to you, replace propositional calculus by
predicate calculus. The former known more commonly as Logic.
|
Actually they are both parts of mathematical logic. And are very useful
if you are going to focus on languages such as Prolog but have a much
lesser utility to the C++ programmer.
--
Francis Glassborow ACCU
Author of 'You Can Do It!' see http://www.spellen.org/youcandoit
For project ideas and contributions: http://www.spellen.org/youcandoit/projects
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]
|
|
| Back to top |
|
 |
Francis Glassborow Guest
|
Posted: Tue Apr 20, 2004 11:25 pm Post subject: Re: how to study c++ |
|
|
In message <pan.2004.04.19.15.17.32.897339 (AT) gmx (DOT) net>, Dhruv Matani
<dhruvbird (AT) gmx (DOT) net> writes
| Quote: | However, to gain profeciency in the so called predicate calculus, he needs
to gain a higher level of mathematical maturity in terms of the actual
mathemactics required. Of course, the logical reasoning have to be present,
but he believes that to be a good programmer, you need to have a very
solid grounding in pure mathematics. How far do you think that this is
true?
|
Completely untrue and it is the kind of elitist view that is damaging to
the development of broader programming skills in the community.
In my family every one of my paternal grandfather's descendants has at
least an A level (exam in the UK aimed at specialists at the age of 1
in mathematics. Most of them are NOT mathematicians and would never
consider themselves as such but no one in the family considers that
mathematics up to that level requires some special talent and so they
have never been taught that they cannot do mathematics. I am sure the
same applies to programming. A positive attitude coupled with an
attitude from the teacher that a student's failure is not automatically
the fault of the student makes a considerable difference.
Even if we think programming is hard, we should stop telling people that
it is because doing so just makes it a self-fulfilling statement.
--
Francis Glassborow ACCU
Author of 'You Can Do It!' see http://www.spellen.org/youcandoit
For project ideas and contributions: http://www.spellen.org/youcandoit/projects
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]
|
|
| Back to top |
|
 |
Francis Glassborow Guest
|
Posted: Tue Apr 20, 2004 11:25 pm Post subject: Re: how to study c++ |
|
|
In message <opr6pn6mwvnzsoqz (AT) news (DOT) individual.net>, Apurva Mehta
<apurva (AT) gmx (DOT) net> writes
| Quote: | This is true. One does not have to know the traditional tools of
mathematics inorder to write programs. I mean that the Integral and
Differential calculus has little relevance to the construction of
programs. However, inorder to use tools like the predicate calculus
effectively, one really must have a good deal of mathematical maturity.
This maturity can be attained only by doing mathematics, whether in the
process of programming or otherwise.
|
Well we might as well give up. The chance that most people who have some
interest in solving problems will have any background in even the
calculus of propositions let alone predicate calculus is zero. And it is
about as necessary as that people who want to write poems or paint
pictures should have the same knowledge.
I was teaching myself mathematical logic at 14 and it was and is great
fun intellectually but I know many very competent programmers who would
turn pale if I suggested they needed such a background.
People can (and do) learn to write useful programs (in C++) without any
training in formal methods. I would agree that at least some of those
involved in developing a safety critical application should have some
skills in formal systems but it is unhelpful to expect it of the
majority.
--
Francis Glassborow ACCU
Author of 'You Can Do It!' see http://www.spellen.org/youcandoit
For project ideas and contributions: http://www.spellen.org/youcandoit/projects
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]
|
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|