-   Programming (
-   -   why do universities torment mathematicians? (

tzonga1 03-03-2007 06:32 PM

why do universities torment mathematicians?
I am working on my BS in math at lacrosse university. Presently I am working on my research paper for my Numerical Analysis class. All my upper division courses require a research paper. Think you understand math? Try writting 10 pages on a mathematical concept like zero or infinity!

This course requires using C as the programming language, text circa 1992. I have found that when I go beyond the criteria, I get better marks. My paper uses the SEIR (Susceptibles, Exposeds, Infectious, and Recovereds)model from epidemiology as a platform for comparative languages.

Consider that the populations will migrate from one stage to the next. This is a wonderful application for a database such as MySQL. This way migration from one stage to the next can be observed and a "predictability curve" can be established.

Languages such as C, Python and Ruby have the "LSQR" (Least Squares protocol for curve fitting) library. The questions become, "How to reduce overhead" and "Which languages carry the lowest overhead for cross platform end users"?

Since I use an Open Source O/S, I am looking for Open Source solutions. When I was going to school for my AAS in Computer Science, most of the world uses WinBlows 95/98. And still use phone lines for internet, at per minute cost (my x-wife is Belorussian and this was the case) Though South America and Asia are gearing up for "computers for all" programs. They are using Linux platforms. I belive Brasil has got a viable program and boxes run Linux and are available for 300USD to the citizenry on credit.

My question is how do I write this research paper? I am looking at how the world uses software and the internet. What hardware is available and how is raw data stored and which language requires the lowest resources? Data is useless it is available to all at a low cost.

I am attempting to create a viable algorithm, using epidemiology as an example (for no other reason than it facinates me). Hopefully this algorithm can be applied to other industries at a low cost.

rickh 03-03-2007 06:45 PM

Without getting into the solutions to your problem, for which I am woefully unqualified, I'd like to touch on the title premise.

Everyone picks at mathematicians because they are necessarily perfect, at least in terms of their professional goals. That goal is anathema to the mediocre majority. A level of productive excellence, let alone perfection, means a life of constant harassment.

LE Modessitt:

Excellence and popularity are seldom manifested in the same work, because popularity derives from the ability of humans to identify with the creator or the endeavor; and few identify comfortably with genius.

tzonga1 03-03-2007 07:52 PM

Thanx for reminding me of "anathema"
It has been years since I have heard that world. That is a favorite word for educated writers whose first language is not English.

So I guess I not only get persecuted for being a mathematician, but a Jew as well LOL!

Though it still doesn't solve my problem of using a programming language with low overhead and is easily ported across platforms.

petersum 03-03-2007 08:10 PM

Your question is probably way over the heads of most readers here. Indeed the basic requirements of science are not understood or adequately covered by the computer software industry as a whole, or by the open source community. I have written an article, The State of Science, found on my website (I hope the moderators forgive me for advertising the site but it is relevent). Your problems are actually quite typical for many areas of science, not just mathematics. I would be very pleased if you, or others in the same position, would write to me outlining the problems that you are facing. The scientific community needs help to bring their problems to the public's attention. I would certainly like to write a followup article on the availability or lack of suitable, and affordable, softwares for the scientist.
I am convinced that there are many competent software writers out there just waiting for an new idea that they can put into reality. Perhaps you can give the suggestions.
You can contact me by email to

PTrenholme 03-03-2007 09:02 PM

When you stated the problem to which you wished to apply a SIER model, you only said “comparative languages.” Since you then discussed the C computer language, my first thought was that you were thinking of various C dialects. But, since C has a standard, that didn’t seem to make much sense. Then I thought about computer languages in general, but that, too, seemed an unlikely subject for a numerical analysis research paper.

So, are you thinking about human languages? Or just dialects within a specific language?
Or something else? Maybe just the SIER model itself?

And what, exactly, are the “numerical analysis” issues you are trying to address? I can see several:

o How is the model formally expressed? (Spacial/Temporal series? Differential equations? Markov chain?, etc.)
o What would constitute a “solution” of the model? (I.e., What information or statistic are you intending to find? What would it mean when you found it?)
o How to best implement the model?
o Once implemented, how should it be solved? (Exactly? Approximately? Graphically?)
Personally, for any of the objectives I inferred above except the last one (the SIER model itself) I’d question your choice of model — and I was a biostatistician before I retired. You’re going to need to consider multiple, cross-breeding infective agents; vectors; and infection latency, to name just three problematic elements in the infection model.

A quick “Google” for “epidemiological program” found a STEM modeler (in JAVA) which might (and that’s just a “might”) let you quickly see how your data would look as an epidemic, but I don’t think even a STEM model can handle the cross-breeding problem.

Bottom line: For what, precisely, are you asking our advise?:scratch:

graemef 03-03-2007 11:05 PM


Originally Posted by tzonga1
The questions become, "How to reduce overhead" and "Which languages carry the lowest overhead for cross platform end users"?...
...What hardware is available and how is raw data stored and which language requires the lowest resources?

I think that it has already been asked but are you talking here about natural language rather than an artifical computer language?
What is the language for, to convey information to the user? If so then the one with the lowest overhead woudl be the persons prefered language. Of course how do you measure overhead?


Originally Posted by tzonga1
Data is useless it is available to all at a low cost.

I would certainly disagree with this premise, data is everything, why is so much effort and money spent on developing and supporting search engines?

bigearsbilly 03-04-2007 01:33 PM

as a pro programmer the question "what's the best language?" is a
common question but a nonsense.

It's like going into a tool shop and asking "what's the best tool?"
You can use a hammer to put in a screw but a screwdriver is better.

Often in our industry they pick the tool first then solve the problem
whether it's a good tool or not.

define overhead
unless you are programming a wristwatch it ain't so important. Even a PC has gigabytes of memory nowadays.
but programming time is expensive. I started as a C programmer but now never touch it, i use perl generally as it's pretty much omnipresent :) on unix boxes, powerful, fast and fun.

Do i want to spend weeks programming in C what will take a few days of perl? no!

tzonga1 03-04-2007 04:40 PM

For clarification, this a hypothetical scheme and fits the requirements for my research paper. My suggestion of using epidemiology was only because I bought a book for 25 cents on the subject. I could have easily suggested population decline (or birth control)in rural India and China.

The scope of my project is culling and storing data; inputting to a database. Manipulation of data; fitting a curve to arrive at possible outcomes. Then sending this data to an agency, so more specific questions can be asked.

Another consideration is technology available in the field. Are people still using Windows 3.1 with a 14.4 modem (cool link-Last Windows 3.1 Computer Located - Or maybe they are using Acorn, O/S2, Linux or maybe a more recent version of windows.

Which languages require minimal amount of resources (2 lines of code vice 20 for the same thing), which languages readily invoke databases, which languages easily work with data to form curves. Most importantly which languages have a shallow learning curve? Is Python the best choice or is it perl or maybe ruby?

Crito 03-04-2007 04:57 PM

Some of your requirements are at odds with each other. The most concise language is going to be the most cryptic and hence the most difficult to learn. The most verbose language is going to be the least cryptic and easiest to learn.

Anyway, since you're asking for opinions and those are a dime a dozen, I vote for C# and Mono.

chrism01 03-05-2007 12:26 AM

After billy & crito;
A concise lang is/can be very cryptic....
Nontheless, I'll vote Perl also, because it is powerful/expressive, and also avail on a very wide range of machine/OS combinations.
The large amt of free modules ( can also help.
In fact, it's a popular lang in the bio field. (

PTrenholme 03-05-2007 08:29 AM

No, if (for some reason) you want cryptic and concise:scratch: , go with “Prolog.” Or something only a mathematician could love: APL (or the A++ variant available for Linux).

Actually, if you’re really into mathematics, or even just numerical analysis, you should look at A++. To give you an idea of just how concise you can get using APL, when I was a graduate student at Columbia University, I developed a “Multivariate Analysis of Variance” package in FORTRAN. The program was several thousand lines long. (Just to date it, that was two boxes of punched cards.) At one point, I had a logic problem in the code that I couldn’t find. So I rewrote the program in three lines of APL, found the problem, and fixed the FORTRAN. (At that time, FORTRAN was much faster than APL, and scaled better.)

All times are GMT -5. The time now is 12:03 PM.