Biological systems for sure. Probably infectious disease transmission and/or evolution. Also I'm interested in social science research and economics.
You are in college. There are lots of people there who use computers to do exactly what you are talking about. Rather than asking us what a good language to learn would be, ask them
. Ask your advisor. Go snooping around in labs and ask the RAs what they are using. Find out who is publishing papers in this domain at your school and ask those authors.
Don't ask us. All you will do is provoke religious wars and get a bunch of wrongheaded answers.
would you recommend a class then? That could be possible
Merged post follows:
I think the issue between D H and bascule here is merely a difference of willingness to use what already works to its full potential vs. willingness to learn new concepts and techniques to leverage them to their potential. The former requires less initial effort on the part of the programmer (less learning curve), but may mean uglier code and other disadvantages in the long run. The latter requires more learning but can make programming and debugging faster at the expense of some execution time.
Tradeoffs. What are you willing to lose?
That is an insult. I am more than willing to learn new concepts. I try to learn a new language every year or so. I can easily list twenty plus languages that I have learned over the last thirty years. I did not count several completely immemorable whose names I can no longer remember.
I'm a fan of writing correct programs quickly.
... and sloppily, and more or less by yourself. You are in academia, and you are in a computer science department. Sloppiness and working in very small teams are almost a given. Some elements of computer science used to address issues of reliability, maintainability, understandability, verifiability, verifiability, traceability, cost, and above all, developing and sustaining a large set of knowledgeable workers. Some computer science departments still do concern themselves with such issues. Many no longer do; those boring, real world concerns are now addressed by a rather new discipline, software engineering.
I think the issue between D H and bascule ...
The above gets at what the real issue is. It is a modern version of Snow's Two Cultures
. Bascule and I are from two very, very different cultures.
I worry about reliability and all that crap. Bascule worries slapping crap out quickly. Both concerns are crap, but hey, its the crap we have to worry about.
I worry about competing with other companies. Bascule worries about competing with others in academia. These are very different kinds of pressure that lead to very different world views. Different cultures.
I worry about being able to hire scientists and engineers who have a rather limited concept of computer programming, computer science, and software engineering. Bascule worries about the keeping up with the state of the art in computer science. Again, very different cultures.
I was a part of the 1980-1987 AI revival. I learned several AI languages and made some inroads into applying AI to NASA (one of my programs helped keep a Shuttle flight flying after a major on-board failure). I was also taken in by the AI winter that followed that revival. One reason for that AI winter was that most scientists and engineers could not grok Lisp, rule-based reasoning, or, heaven forbid, backward chaining. The people coming out of schools who could understand logic programming could do Blocks World just fine but were for the most part completely incompetent when it came to real-world applications. There never was a sufficient mass of people who could bridge the different cultures and produce success stories. AI went into a massive decline because of a lack of success.
Academic computer science and real-world science and engineering are very, very different cultures. Bascule comes from the former while I come from the latter.
Edited by D H, 20 April 2009 - 05:06 AM.
Consecutive posts merged.