ProgrammingThis forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
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.
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:
Quote:
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.
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 www.krelay.com. (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 ceo@krelay.com
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:
Quote:
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?
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?
Quote:
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?
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!
Last edited by bigearsbilly; 03-04-2007 at 01:04 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 - ticalc.org)? 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?
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.
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 (www.cpan.org) can also help.
In fact, it's a popular lang in the bio field. (http://www.bioperl.org/wiki/Main_Page)
No, if (for some reason) you want cryptic and concise , 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.)
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.