Math Talk
Math Talk
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Programming skills required by mathematicians?
Goto page Previous  1, 2, 3, ... 9, 10, 11  Next
 
Post new topic   Reply to topic    Math Talk Forum Index -> Math Talk
View previous topic :: View next topic  
Author Message
Frederick Williams
Guest





PostPosted: Thu Jun 26, 2008 11:00 am    Post subject: Re: Programming skills required by mathematicians? Reply with quote

Phil Hobbs wrote:
Quote:

[...] For the theoreticians I know, it would be how to hammer in a
nail without bending it. ;)

The answer to that problem is to use a hammer to knock in screws: screws
being thicker than nails are less likely to bend.

--
He is not here; but far away
The noise of life begins again
And ghastly thro' the drizzling rain
On the bald street breaks the blank day.
Back to top
  Ads
Advertising
Sponsor


Han de Bruijn
Guest





PostPosted: Thu Jun 26, 2008 11:00 am    Post subject: Re: Programming skills required by mathematicians? Reply with quote

Herman Rubin wrote:

Quote:
Computers are essentially a fixed program, the
hardware, which then has a small initialized amount
of software, quite variable, which enables it to
try to do what the user wants. Keep this in mind;
understand what the hardware can do, which is
different on different machines, and think in those
terms, not the current poorly designed languages.

Guess you're still thinking of an IBM mainframe with APL on it ?

Han de Bruijn
Back to top
  Ads
Advertising
Sponsor


evw@infometrics.nl
Guest





PostPosted: Thu Jun 26, 2008 11:45 am    Post subject: Re: Programming skills required by mathematicians? Reply with quote

On Jun 26, 12:49 pm, Frederick Williams
<frederick.willia...@tesco.net> wrote:
Quote:
Phil Hobbs wrote:

I agree that C++ is a good choice.

You must be joking!

To the list of suggested books,

If books are being suggested, then I would recommend two programming
books: Meyer's _Object-Oriented Software Construction_ and Ableson and
Sussman's _Structure and Interpretation of Computer Programs.

Ah, now we are talking. Without wanting to start a flame war, do
consider Lisp. It is interactive and very efficient for software
development, has excellent compilers, numerical facilities and
incorporates many programming paradigms. In Common Lisp you have
CLOS, the most advanced OO-system. Its notation takes getting used to
for some, but once you got it, it is exceptionally clear and shows the
usefulness of program-data equivalence. Lisp is truly extensible, it
does not grow old and any expression ever written in it is still
readable.

Ernst van Waning


PS Perhaps some quotes may be helpful?

"Lisp has jokingly been called 'the most intelligent way to misuse a
computer'. I think that description is a great compliment because it
transmits the full flavor of liberation: it has assisted a number of
our most gifted fellow humans in thinking previously impossible
thoughts."

- Edsger W. Dijkstra, CACM, 15:10



"the greatest single programming language ever designed"

- Alan Kay, on Lisp



"Please don't assume Lisp is only useful for Animation and Graphics,
AI, Bioinformatics, B2B and E-Commerce, Data Mining, EDA/Semiconductor
applications, Expert Systems, Finance, Intelligent Agents, Knowledge
Management, Mechanical CAD, Modeling and Simulation, Natural Language,
Optimization, Research, Risk Analysis, Scheduling, Telecom, and Web
Authoring just because these are the only things they happened to
list."

- Kent M. Pitman
Back to top
  Ads
Advertising
Sponsor


evw@infometrics.nl
Guest





PostPosted: Thu Jun 26, 2008 3:39 pm    Post subject: Re: Programming skills required by mathematicians? Reply with quote

On Jun 26, 3:04 pm, Han de Bruijn <Han.deBru...@DTO.TUDelft.NL> wrote:
Quote:
e...@infometrics.nl wrote:
On Jun 26, 12:49 pm, Frederick Williams
frederick.willia...@tesco.net> wrote:

Phil Hobbs wrote:

I agree that C++ is a good choice.

You must be joking!

To the list of suggested books,

If books are being suggested, then I would recommend two programming
books: Meyer's _Object-Oriented Software Construction_ and Ableson and
Sussman's _Structure and Interpretation of Computer Programs.

Ah, now we are talking. Without wanting to start a flame war, do
consider Lisp. It is interactive and very efficient for software
development, has excellent compilers, numerical facilities and
incorporates many programming paradigms. In Common Lisp you have
CLOS, the most advanced OO-system. Its notation takes getting used to
for some, but once you got it, it is exceptionally clear and shows the
usefulness of program-data equivalence. Lisp is truly extensible, it
does not grow old and any expression ever written in it is still
readable.

Ernst van Waning

PS Perhaps some quotes may be helpful?

"Lisp has jokingly been called 'the most intelligent way to misuse a
computer'. I think that description is a great compliment because it
transmits the full flavor of liberation: it has assisted a number of
our most gifted fellow humans in thinking previously impossible
thoughts."

- Edsger W. Dijkstra, CACM, 15:10

"the greatest single programming language ever designed"

- Alan Kay, on Lisp

"Please don't assume Lisp is only useful for Animation and Graphics,
AI, Bioinformatics, B2B and E-Commerce, Data Mining, EDA/Semiconductor
applications, Expert Systems, Finance, Intelligent Agents, Knowledge
Management, Mechanical CAD, Modeling and Simulation, Natural Language,
Optimization, Research, Risk Analysis, Scheduling, Telecom, and Web
Authoring just because these are the only things they happened to
list."

- Kent M. Pitman

Sure. But suppose you want to DO something with a programming language
and pay main attention to the material, instead of the way how to code
it. That's why my favorite language is Pascal: simple & straighforward.

http://hdebruijn.soo.dto.tudelft.nl/www/programs/delphi.htm

Han de Bruijn

The OP asked a question and I added an alternative to consider. BTW,
due to its extensibility, we usually get things DOne by bending Lisp
to the problem domain at hand, instead of the other way around. As
usual, Dijkstra knew what he was talking about: take another look at
the quote I sent earlier.

Ernst van Waning

PS some more quotes:

"One can even conjecture that Lisp owes its survival specifically to
the fact that its programs are lists, which everyone, including me,
has regarded as a disadvantage."

- John McCarthy, "Early History of Lisp"


"Lisp is a programmable programming language."

- John Foderaro, CACM, September 1991


"Programs must be written for people to read, and only incidentally
for machines to execute."

- Abelson & Sussman, SICP, preface to the first edition


"That language is an instrument of human reason, and not merely a
medium for the expression of thought, is a truth generally admitted."

- George Boole, quoted by Iverson in his Turing Award Lecture
Back to top
  Ads
Advertising
Sponsor


Han de Bruijn
Guest





PostPosted: Thu Jun 26, 2008 5:59 pm    Post subject: Re: Programming skills required by mathematicians? Reply with quote

toni.lassila@gmail.com wrote:

Quote:
On Jun 26, 9:34 am, Han de Bruijn <Han.deBru...@DTO.TUDelft.NL> wrote:

Herman Rubin wrote:

Computers are essentially a fixed program, the
hardware, which then has a small initialized amount
of software, quite variable, which enables it to
try to do what the user wants. Keep this in mind;
understand what the hardware can do, which is
different on different machines, and think in those
terms, not the current poorly designed languages.

Guess you're still thinking of an IBM mainframe with
APL on it ?

No, with parallel computing it is now even more important
to take into account the hardware implementation.

Ah, parallel computing ! I guess Herman Rubin didn't talk about that.

Quote:
A relatively naive but effectively vectorized algorithm
can beat that highly tuned F77 code from decades ago that
loops all over the place.

Vectorized ? I thought you were talking about parallel .. ?

Han de Bruijn
Back to top
  Ads
Advertising
Sponsor


Han de Bruijn
Guest





PostPosted: Thu Jun 26, 2008 6:04 pm    Post subject: Re: Programming skills required by mathematicians? Reply with quote

evw@infometrics.nl wrote:

Quote:
On Jun 26, 12:49 pm, Frederick Williams
frederick.willia...@tesco.net> wrote:

Phil Hobbs wrote:


I agree that C++ is a good choice.

You must be joking!


To the list of suggested books,

If books are being suggested, then I would recommend two programming
books: Meyer's _Object-Oriented Software Construction_ and Ableson and
Sussman's _Structure and Interpretation of Computer Programs.


Ah, now we are talking. Without wanting to start a flame war, do
consider Lisp. It is interactive and very efficient for software
development, has excellent compilers, numerical facilities and
incorporates many programming paradigms. In Common Lisp you have
CLOS, the most advanced OO-system. Its notation takes getting used to
for some, but once you got it, it is exceptionally clear and shows the
usefulness of program-data equivalence. Lisp is truly extensible, it
does not grow old and any expression ever written in it is still
readable.

Ernst van Waning


PS Perhaps some quotes may be helpful?

"Lisp has jokingly been called 'the most intelligent way to misuse a
computer'. I think that description is a great compliment because it
transmits the full flavor of liberation: it has assisted a number of
our most gifted fellow humans in thinking previously impossible
thoughts."

- Edsger W. Dijkstra, CACM, 15:10



"the greatest single programming language ever designed"

- Alan Kay, on Lisp



"Please don't assume Lisp is only useful for Animation and Graphics,
AI, Bioinformatics, B2B and E-Commerce, Data Mining, EDA/Semiconductor
applications, Expert Systems, Finance, Intelligent Agents, Knowledge
Management, Mechanical CAD, Modeling and Simulation, Natural Language,
Optimization, Research, Risk Analysis, Scheduling, Telecom, and Web
Authoring just because these are the only things they happened to
list."

- Kent M. Pitman

Sure. But suppose you want to DO something with a programming language
and pay main attention to the material, instead of the way how to code
it. That's why my favorite language is Pascal: simple & straighforward.

http://hdebruijn.soo.dto.tudelft.nl/www/programs/delphi.htm

Han de Bruijn
Back to top
  Ads
Advertising
Sponsor


Marshall
Guest





PostPosted: Thu Jun 26, 2008 11:28 pm    Post subject: Re: Programming skills required by mathematicians? Reply with quote

On Jun 26, 2:14 pm, Phil Hobbs <pcdhSpamMeSensel...@pergamos.net>
wrote:
Quote:
Frederick Williams wrote:
Phil Hobbs wrote:

I agree that C++ is a good choice.

You must be joking!

Why? I taught myself C++, and have used it to build things like a
big-iron clusterized electromagnetic simulator. The combination of
C-like performance with the ability to manage complexity that comes with
OO programming is very flexible and powerful.

Or did I miss something ultra-important?

You did, actually: the existence of other languages that are better
at those things.


Marshall
Back to top
  Ads
Advertising
Sponsor


Jaap Spies
Guest





PostPosted: Fri Jun 27, 2008 1:05 am    Post subject: Re: Programming skills required by mathematicians? Reply with quote

rAgAv wrote:
Quote:
You must be joking! Sage/Python to specific! You did not look
at the enormous amount of possibilities. Sage/Python comes with
all batteries included.

Actually, at first, after seeing the notebook, I was kinda intimidated
and I didn't know if I could learn SAGE all by myself.

But, now, after you said that, I just checked out some tutorials on
what SAGE was and what it does and how it could be learnt (from here -
http://showmedo.com/videos/video?name=2450010&fromSeriesID=245), wow!
I'm gonna learn python as soon as I can!

I think this'll be a great advantage. But, more than that, it seems to
be a lot of fun learning Python and SAGE. Thanks!

You got it! Yes Python is fun and Sage even more!

Jaap
Back to top
  Ads
Advertising
Sponsor


Phil Hobbs
Guest





PostPosted: Fri Jun 27, 2008 2:14 am    Post subject: Re: Programming skills required by mathematicians? Reply with quote

Frederick Williams wrote:
Quote:
Phil Hobbs wrote:

I agree that C++ is a good choice.

You must be joking!

Why? I taught myself C++, and have used it to build things like a
big-iron clusterized electromagnetic simulator. The combination of
C-like performance with the ability to manage complexity that comes with
OO programming is very flexible and powerful.

Or did I miss something ultra-important?

Cheers,

Phil Hobbs
Back to top
  Ads
Advertising
Sponsor


Phil Hobbs
Guest





PostPosted: Fri Jun 27, 2008 2:15 am    Post subject: Re: Programming skills required by mathematicians? Reply with quote

evw@infometrics.nl wrote:
Quote:
On Jun 26, 12:49 pm, Frederick Williams
frederick.willia...@tesco.net> wrote:

Ah, now we are talking. Without wanting to start a flame war, do
consider Lisp. It is interactive and very efficient for software
development, has excellent compilers, numerical facilities and
incorporates many programming paradigms. In Common Lisp you have
CLOS, the most advanced OO-system. Its notation takes getting used to
for some, but once you got it, it is exceptionally clear and shows the
usefulness of program-data equivalence. Lisp is truly extensible, it
does not grow old and any expression ever written in it is still
readable.


I see all. Your brother-in-law gets royalties on parentheses. ;)

Cheers,

Phil Hobbs
Back to top
  Ads
Advertising
Sponsor


Phil Hobbs
Guest





PostPosted: Fri Jun 27, 2008 2:16 am    Post subject: Re: Programming skills required by mathematicians? Reply with quote

Frederick Williams wrote:
Quote:
Phil Hobbs wrote:
[...] For the theoreticians I know, it would be how to hammer in a
nail without bending it. ;)

The answer to that problem is to use a hammer to knock in screws: screws
being thicker than nails are less likely to bend.

Spoken like a theoretician. ;)


Cheers,

Phil Hobbs
Back to top
  Ads
Advertising
Sponsor


rAgAv
Guest





PostPosted: Fri Jun 27, 2008 3:03 am    Post subject: Re: Programming skills required by mathematicians? Reply with quote

Quote:
You did, actually: the existence of other languages that are better
at those things.

What might those be?

List them...
Back to top
  Ads
Advertising
Sponsor


rjf
Guest





PostPosted: Fri Jun 27, 2008 4:27 am    Post subject: Re: Programming skills required by mathematicians? Reply with quote

On Jun 26, 8:35 pm, Phil Hobbs
<pcdhSpamMeSensel...@electrooptical.net> wrote: yada yada

Some people cling to their chosen programming language to avoid
"cognitive dissonance". (look it up in wikipedia).
Their rationalizations may be based on limited past experience, ego
involvement in the particular skills developed,
and not on fact.

My views are, of course, based on evidence and logic; anyone who
disagrees is itching for a fight. :)

http://en.wikipedia.org/wiki/Michael_Feldman's_Whad'Ya_Know%3F

Actually, almost all such discussions are futile, and often used by
trollers on newsgroups. Though I think this one just got away from the
original poster, who probably left the building a few messages back.
Back to top
  Ads
Advertising
Sponsor


Marshall
Guest





PostPosted: Fri Jun 27, 2008 5:59 am    Post subject: Re: Programming skills required by mathematicians? Reply with quote

On Jun 26, 8:35 pm, Phil Hobbs
<pcdhSpamMeSensel...@electrooptical.net> wrote:
Quote:
Marshall wrote:
On Jun 26, 2:14 pm, Phil Hobbs <pcdhSpamMeSensel...@pergamos.net
wrote:
Frederick Williams wrote:
Phil Hobbs wrote:
I agree that C++ is a good choice.
You must be joking!
Why? I taught myself C++, and have used it to build things like a
big-iron clusterized electromagnetic simulator. The combination of
C-like performance with the ability to manage complexity that comes with
OO programming is very flexible and powerful.

Or did I miss something ultra-important?

You did, actually: the existence of other languages that are better
at those things.

So in other words, "No."

If you are happy with where you are, and are not concerned
about learning anything beyond what you already know,
then by all means continue as you have been.

If you are going to advise other people, then doing so from
a place of ignorance is being less than fully responsible


Marshall
Back to top
  Ads
Advertising
Sponsor


Marshall
Guest





PostPosted: Fri Jun 27, 2008 6:01 am    Post subject: Re: Programming skills required by mathematicians? Reply with quote

On Jun 26, 8:03 pm, rAgAv <ragav.pa...@googlemail.com> wrote:
Quote:
You did, actually: the existence of other languages that are better
at those things.

What might those be?

List them...

As a prolog, let me just quote Stroustrup himself:

"Language comparisons are rarely meaningful and even less often fair.
A good comparison of major programming languages requires more
effort than most people are willing to spend, experience in a wide
range
of application areas, a rigid maintenance of a detached and impartial
point of view, and a sense of fairness."

Anything I can manage to cram into a few paragraphs of usenet post
will be woefully incomplete. That said, while I admire Stroustrup
and also Stepanov, and believe their work should be studied, I
consider C++ to have some serious shortcomings. There are
few projects I would use it on, and none of them are applications.

The big, obvious gripe with C++ is that it is so closely wedded
to its C heritage. This certainly enabled market acceptance,
but it also puts a real damper on innovation. C is a low
level programming language, even by the standards of its day.
By maintaining compatibility, C++ is necessarily also riddled
with low-level features. These low level features make C++ a
good choice if one is writing low level code; device drivers
for example. These same features make C++ a bad choice for
pretty much anything that isn't low level.

Grandparent poster mentioned the combination of performance
and the ability to manage complexity. Rather than try to compare
specifically against some weighted average of attributes, I'll instead
look at those things individually. For performance, C++ is certainly
good, but if performance is your top criterion, then you certainly
cannot pick C++, but must rather use some language designed
for high-performance and having the best tuned high performance
numeric libraries. I am speaking of course of Fortran. Some might
be appalled that I say so, but regardless, there are problem
domains in which C++ cannot compete with Fortran on
performance. Note that I did not say that Fortran is a
good language.

As far as getting performance on the cheap, the easiest way to
go is with the language that is, overall, almost at the level of C++,
and which will sometimes meet and exceed it, and which also has
an extraordinarily broad set of available libraries, and is, today,
more commercially popular that C++, and that is Java. The less
educated are now screaming the "Java is slow" mantra that dates
from 1997, when it was true. A lot of people reject the idea
out of hand, but the fact is the static compilation model that is
the usual one with C++ is unable to take advantage of a class of
optimizations that a HotSpot style VM can, and the reverse is not
true.

For ability to manage complexity, I'd give C++ a poor grade; almost
any language one can name does at least as good; even Java's
impoverished module system is better. People who only know
a few languages in the Algol family and some OOPLs tend to think
that OOP is a great tool for managing complexity. It's better
than nothing, but it's a poor substitute for a decent module
system, especially a parameterizable module system. It is
astonishing just how many design patterns (esp. "Dependency
Injection" and its many variations) are simply efforts to make up
for the lack of a decent module system. Also see Peter Norvig's
analysis on the how many design patterns are simpler or even
go away completely in functional languages.

For a good industrial-grade PL with actual modern language
design behind it, I'd point anyone at OCaml.

For the OP's question, namely for someone intending a math
education, it strikes me that there are only two good answers,
SML and Haskell, and I'm astonished that no one has mentioned
either one yet. (Although whoever it was who mentioned CASs
was obviously right on the mark, and these are more directly
relevant than the two I just named. But CASs aren't what we
usually think of as PLs.)

Anyone interested in math ought to have a good grounding in
logic, and anyone interested in logic ought to be at least a bit
familiar with Prolog, or possibly instead some more modern
logic language. (Mercury?)

Anyone interested in set theory ought to be at least a bit
familiar with SQL. It has the reputation of being only for
boring accounting-type jobs, but that reputation is entirely
bogus; SQL has some amazingly advanced features not
found anywhere else, and is enough of a completely different
take on computing that it can be quite broadening. Oh,
and more job postings mention SQL than any other
language, the last several times I've checked; more
than C++, more than Java.

And anyone interested in distributed computing ought to
read about Erlang, at least.

In general, a lot of the languages comparisons or language
wars I see are between some absolutely minuscule set of
languages, none of which have anything in them the least
bit interesting from a PL research point of view. The
conversation is usually limited to discussing C++, Java,
Ruby, Python, and occasionally Perl. These languages
represent just about the tiniest wedge imaginable of the
design space. They are all fundamentally Algol descendants,
all imperative, and have little or nothing in the way of a
formal semantics, virtually nothing in the way of language
features that were invented more recently than 1968.


Marshall
Back to top
  Ads
Advertising
Sponsor


Display posts from previous:   
Post new topic   Reply to topic    Math Talk Forum Index -> Math Talk All times are GMT
Goto page Previous  1, 2, 3, ... 9, 10, 11  Next
Page 2 of 11

 
Jump to:  
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

Australian Debt Consolidation Experts
medical insurance
Wedding Invitation
Escorts Incalll and Outcall in Modena, Bologna, Parma, Ferrara, Forli' ...
Expatriate Swingers
Health
Make Your Own Website
Free phone calls to India
Cleaning Service
mold killer
UK Swingers Genuine Contacts Site
floor machines
Vacuum Parts


Board Security

219 Attacks blocked

Powered by phpBB © 2001, 2005 phpBB Group