Jump to content

PhDP

Senior Members
  • Posts

    763
  • Joined

  • Last visited

Everything posted by PhDP

  1. Python is free, with Numpy it's very easy to do matrix manipulation (and Numpy has a MatLab-like syntax). If you need a lot of speed; C++ with Blitz++ or similar libraries.
  2. I'm still looking for the holy grail, a portable language supporting functional/imperative/OO styles. And of course it has to produce fast programs, which is quite important when you're writing Monte Carlo simulations. Anyway for now I'll stick with C/C++/Python. C++ has to be one of the most inelegant programming language, but building a class in C++ to deal with tridiagonal stochastic matrices is easy and it leads to a very clean syntax (and it's fast, too).
  3. To be fair, nobody really believe in Darwin's theory of evolution. At best, scientists accept a modified form of Darwin's theory of natural selection. In any case, very few people actually believe in evolution, they either accept a caricature of it, or are not willing to accept all the consequences.
  4. First of all, I think that if you suck at maths, you shouldn't study science. Especially if you're interested in evolution, you just wouldn't be able to follow many (most?) articles in journals such as "Evolution". There is a strong trend towards greater use of quantitative tools, Yule's speciation model (a continuous-time Markov chain) even made it into an article about patterns of frog diversification in last month's issue of "Evolution". So I strongly agree with Mokele's point that the best thing you can do is take a fair bit of math, stats and programming.. The kind of math really depend on what you're interested in (I know, what a cheap answer). Is there a particular subject you're passionate about ? In any case, it's best to have at least some basic understanding of all the major branches of mathematics. That being said, there aren't many good courses to teach undergrad students in biology and geology how to use maths and computers...
  5. But that's beside the point, again it has very little to do with the actual value of the languages. The languages bascule named might be great but nobody use them in science. Scientists have to work in groups, they have to publish articles, and they very often have to rely on librairies. Who cares if your Haskell program is better than my C++ program, you'll probably need to write a version in C for publication or to cooperate with other people. It's already annoying when scientists publish articles filled with words nobody used in decades, at least they don't write their program in some obscur language. In my field (population genetics/molecular evolution), programs are written in C, C++, and minority are written in Java. Theoretical scientists very often use CPython for simple programs... and I encounter R a lot when I have to deal with phylogenetics and statistics. That's about it. With the exception of R, all theses languages are derived from C. That's the crushing force of inertia bascule talked about, which isn't so bad in truth. Communication is very important in science, and it would be messy if we were to follow all the fashions in computer science. I wish more was done with managed languages (Java & C#), they're fast enough for everything that you don't need to run on a supercomputer. And honestly, there's much hype surrounding functional languages these days, and I personally like the concepts, but I doubt we're going to see a truly functional languages in top 10 of TIOBE in the next few years. Landau wrote an article for computational physics, but I think it's useful for other scientists as well; Link to the complete article; http://physics.orst.edu/~rubin/Papers/CP-2.pdf
  6. D H, I'm on linux (openSUSE) 90% of the time and I still use C# a lot with MonoDevelop, it has many of the features Java lack to be a great language (operator overloading, struct; light 'classes' created on the stack, good generics). It's actually my favorite language, it's very fast on windows and is getting faster with Mono on Linux/Mac. Still... I'm sure I'll spend most of my Ph.D. with C/C++/Fortran (hopefully Fortran). Except for GUI, from my experience, Java is never an order of magnitude slower than C++ but it certainly depend on what you're doing. For example the Wright-Fisher simulation I tried with several languages ran much faster on Java than with MatLab, which is optimized for array operation but tend to suck with loops. Simple: because we'll all using these languages. ecoli asked an advice and I think he would be disappointed if he learned a functional language. He would be stuck with a language very few fellow scientists would understand, and he wouldn't have the programming skills so many supervisors like (i.e.: being able to deal with C/C++). I think Java is just fine to start in computer science and it's quite easy to get from Java to C++, while OCaml and Haskell are completely different language based on a radically different paradigm which isn't widely used in science. He would be even more disappointed by Ruby, because nobody uses that in science, and it's slow as hell. We're talking about the best language to learn for a scientist, not the best general purpose language, and I think the two most important thing for a scientists are speed and popularity within the field. In terms of speed, yes it is. It's still a nice language for exploration and graphics. I doubt any scientist can get away with Python 100% of the time. Can I know why ? I don't know that much about Fortran but it seems to have a nice syntax for array manipulations (much better than C/C++).
  7. Most computationally-heavy modeling is done in C, C++, or Fortran. Now... both C and C++ are quite messy language, but ultimately, if you're interested in scientific computing, you'll have to deal with them. C++ isn't that bad with good libraries such as Blitz++, and since Fortran95, Fortran is actually quite a nice language with a perfect syntax for array manipulations... on the other hand it's nearly dead as a general purpose programming language. Yet, to be honest, I prefer managed language such as Java or C#, they're just much safe and much more fun to use. For most tasks Java is doing just fine. From my experience Java and C# are between 0 and 200% slower than C++, which isn't a problem. Also, once you understand the basic concepts of C++, you'll easily understand Java and C# and many other languages. The opposite is also true to some extend, with some basic knowledge in C (which is quite a minimalistic language) and Java, you'll be able to read the code of most projects. Personally, I think the best deal in science is; Python + an object-oriented C-like language (either C++, Java or C#). Python 2.x is very elegant, very simple, and with librairies such as matplotlib and numpy/scipy you'll be able to do a lot; including publication-quality graphics with a few lines of code. Also with SciPy, Python has a very MatLabish syntax for arrays, a syntax which is both very simple and is going to be recognized by many. But ! Even CPython (the fastest implementation of Python as far I as know) is ridiculously slow compared to C/C++/Java/C#. For example I wrote a simple Wright-Fisher simulation which need 1 000 000 000 random numbers generated by the Mersenne Twister. Very simple; it takes a few lines of code. With Java, C++ or C# it takes about 20-40 s, it takes about 20 minutes with Python ! I like the Python + C++/Java/C# approach because you have both a simple language for exploration and to generate graphics (Python), and a language for the heavy stuff. Another thing; popularity. If you look at TIOBE index, you'll see how dominant the language I named are. It matters for a scientist, it matters a lot. I would be seriously annoyed if I had to review an article with code written in Ruby, OCaml, Haskel or Lisp = because nobody use these languages in science. I think Lisp is common in AI and Haskel is some area of math, just as R is widely used in statistics/phylogenetics, but outside their niche the C++ beast dominate. They might be great languages, I was actually impressed by Haskell and F# (basically an implementation of OCaml), but how many scientists will be able to understand the code ?
  8. I have no problem with your arguments, or with you, but I'm seriously annoyed by the method and tactic you often use. Like the one you just used; repeating my argument instead of providing an answer. It's certainly not a personal attack, I never speculated about your motives or used negative labels against you, I only argue against your methods. ...beside, it has a lot to do with the topic. Partisanship is not only a true phenomenon (and problem, IMO), but it's also a concept which is being used to commit a fallacy; an appeal to motives.
  9. That must be a joke, I said it was OK if someone didn't rely on reason ? Where ? You perfectly know what I mean; no matter how wrong an argument is, throwing accusation is not very constructive, especially if you're only doing that; throwing an accusation with no argument. You talk about reason, then try to answer this; what's the purpose of answering to a claim, or an opinion, by an accusation of the type "it's partisan" or "it's political correctness" ? Even if you're answering to an irrational, partisan, politically correct liberal, what on earth can be achieved by labeling his/her opinions instead of confronting them ? Well, I don't know for sure if you can or can't justify the accusations you throw, but you certainly used the easy road (i.e: accusation + no argument) in a number of occasions. If you can justify your accusations, then justify them with counterarguments instead of playing the "PC" or "partisan" cards. Still, I can't believe we have to discuss the validity of personal accusations on a science forum, it should be obvious for everyone how sterile this kind of tactic is. We're not in kindergarten for jebus' sake.
  10. But seriously, you say that people here are expected to rely on reason and evidence, yet you often answered opinions (even evidences) by throwing accusations you could never justify with either reason or evidences. It's ironic, because it's actually quite hard to know if someone has formed his opinion independently, or is just being politically correct/partisan. But when you get an accusation instead of a counterargument, I think it is fair to question the motivations. Just as you'll likely get a lot of "you're racist" if you discuss intelligence and "race", you will also get a lot of "you're guilty of political correctness" if you try to argue against Philippe Rushton (in fact, he accuses his opponents of political correctness on his website). Fair to say, the former are truly guilty of political correctness, and the latter is a racist (for real), but in both cases I think we have serious evidences.
  11. ParanoiA, it's a science forum here, you can't expect a positive response for a fundamentalist christian. Palin has very little education (I know; McCain's not better), she prefers religion to reason on many issues, and I'm sure many people are not impressed by her intellect (I'm not anyway, and I could list the reasons). I'm not a big fan of Obama, and to me his religion is a problem. Yet, he might talk all he wants about religion, it doesn't seem to have a huge impact on his political belief.
  12. Systems of differential equations, qualitative theory of differential equations, complex systems, stochastic processes... It depends what exactly you're interested in, but if you want to make a career in theoretical/mathematical ecology, it's really a good place to be right now.
  13. ... I'm curious to see where that "100 millions" comes from. Of course I'm not going to ask for any serious reference, I doubt I would get any, but I'm still curious. Most communists refused the science of evolution, and Nazi, well, I can't believe someone would argue that Nazism was caused by the theory of evolution.
  14. No, it's not productive. Well, I should add; it's not productive on an intellectual level, but it's probably inevitable, and maybe even productive on an organizational level. But unfounded accusations of partisanship and political correctness are much worse. Speaking of evidence, both political correctness and partisanship implies the person making the statement hasn't formed his opinions on his own, but copied something from a party/society. This kind of accusations require evidences, otherwise it's just another way to answer an opinion by a personal attack. Answering a claim/opinion by accusations and speculation on motivations, certainly, that has nothing to do with science and reason.
  15. I must admit that I'll a little pissed off by the GOP convention. They can say that democrats are wrong, and even stupid, weak, whatever, but the fact that republicans continue to imply they are the party that loves America, and of course, Obama just loves himself. It's childish. It's in part how they got America into Iraq, it's in part how they won against Kerry, and they're at it again... I think it's a good idea for Obama to talk about this, too often, Democrats have retreated instead of fighting back to the point where they are even scared to say they are liberals. I also think many American are tired of this "Ï love America more than you" argument. About Palin; honestly I cannot think of a worst candidate for the VP spot, from my perspective at least (and I guess republicans have given up hopes of winning the votes of scientists a long, long time ago). I can see McCain as PotUS, or Romney, or even Giuliani. But Palin, no. It's not a question of experience, it's a question of judgment and competence. I like to think that a person must be pretty smart to be the #1 of the world's most powerful country. But I guess it makes sense to pick a women, that is; not Palin, she has so many skeletons in her closet that it's confusing. The republican have played the victim cards very often lately, it's just absurd to hear McCain talk about his experience as a POW when asked about how many houses of got (who cares about houses he got anyway). He was a POW, he's a war hero, big deal, it's not an excuse to lie, it's not even a qualification to be president. Anyway... The point is that it's going to be hard for the democrats to attack Palin, as soon as they're going to criticize her, they're going to play the "they did the same thing to Clinton" card, in addition to the usual "the media is against us" card. Yet, McCain is old and I'm not sure Palin will be that popular on the national level, she's obviously there to please the religious fundamentalists, it would be a good idea for democrats to focus on her. I'm not a political stategist, but I think a good VP candidate gives a little boost for the ticket in an important state (she doesn't) or helps to convince a certain group (she does). But the most important thing for the VP is not to steal the spotlight from the number one on the ticket, especially if it's to excite the news media about abuse-of-power scandals and extremist views. It seems to me that McCain made a terrible mistake. About her daughter's pregnancy. I agree that it's not really our business, still I think it will matter for two reasons; First, I'm certainly not the first to note that Christians fundamentalists oppose sex ed... and this is the result. Of course, it's an anecdote, it could have happened to Chelsea Clinton, it's still a powerful image for the pro-sex-ed people like me. But there is also another aspect that nobody wants to discuss. Aside from all the crazy things she believes (or did, like trying to fire a women because she refused to ban books), the thing that struck me the most is how unpresidential Palin looks (...I'm not talking about her body). Sports reporter, mayor of a very small town, beauty queen contestant, married to a blue-collar... I know anti-elitism is pretty strong in the U.S., it seems that democrats try to hide the fact that Obama was editor of the Harvard law review, but I still think Americans are looking for people with more stature. The fact is; teenage pregnancies are associated with poor, uneducated families. Not always the case, but often is, and the statistics on both the mothers and the children are not pretty. My feeling is that her daughter's pregnancy might hurt her image as a vice-president in the imagination of the Americans. Politics is a lot about perceptions.
  16. Provine is indeed an atheist, and he seems to like debates (god, ID, freedom, the importance of natural selection, ...). But many, if not most evolutionary biologists are atheists (me included), so it's not really a surprise. But obviously, some very important evolutionary scientists were christians, Fisher & Dobzhansky are good examples. About Darwin and his ideas I just want to add a little note: Darwin discovered very little, if anything. The principle of natural was discovered before him, by many people. Yet, as noted in Evolution: The History of an Idea; Simple priority is not enough to earn a thinker a place in the history of science: one has to develop the idea and convince others of its value to make a real contribution. And that's what Darwin did, he convinced the world that evolution was real. Although he extended the idea of natural selection much further than anyone before him, he was much less successful when he tried to convinced people that natural selection was the mechanism of evolution. In fact, he downplayed natural selection in later version of his book, the truth is that natural selection without Mendelian genetics doesn't work very well. It is easy to show that, with blending inheritance, variations is halved each generation. That means trouble for natural selection. A truly coherent theory of evolution was developed later by Fisher, Wright & Haldane (I could add Yule and Morgan). I say this because, IMO, all this Darwin-worshiping opens to door to all sort of criticism. By focusing only on Darwin we forget the complexity of the theory, we also forget all the other scientists who contributed the theory. It would really be great if you could stop focusing on just a few scientist in a field (Darwin in biology, Newton & Einstein in physics...). Darwin did a lot, but not as much as some people like to think.
  17. PhDP

    Cost of textbooks

    The Mathematical Theory of Selection, Recombination, and Mutation R.Bürger 422 pages, Dimensions: 9.8 x 6.6 x 1.1 inches 250 $ !!!!!!!!!!!!
  18. I highly suggest Provine's The Origins of Theoretical Population Genetics. It explains the early history of the field and the kind of debate that followed Darwin's theory. Provine's an historian, a mathematician, and a biologist, so he understands very well the subject.
  19. Mostly from Lyell (gradualism), Malthus (geometric v. exponential growth) and Lamarck (inheritance of acquired characters, mostly an indirect influence).
  20. I read the article, it was quite interesting. But v1 was only released in 2007. In fact the author wrote; In fairness, given how new D is, the overall stability and quality of the available compilers is actually quite impressive. I have no problem with the performance of OCaml. I have a problem with the fact that it's not based on C
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.