3 ms·
I'm all on my lonesome atm, so all these choices are mine. The college IT guy at my university (he's just completed a PhD in quantum computing - and he's been f
by wihon 16y ago
I'm all on my lonesome atm, so all these choices are mine. The college IT guy at my university (he's just completed a PhD in quantum computing - and he's been forced to work as the maintenance guy because of the recession, poor guy) works with linux, and I imagine I'll be able to ask him for help and tips. So linux it is! Cost is also a consideration, and while Macs aren't bad value for money (http://bit.ly/3SGXeJ http://bit.ly/3SGXeJ), but they're still expensive. So linux suits me fine. :)
I think I'll go with Ruby too. I had a look around both sites (Ruby's and Python's), and decided superficially that I liked Ruby better, as I've nothing else to go on. Plus, Ruby's online trial thingy (http://tryruby.org/ http://tryruby.org/) is pretty cool. :)
As far as programming for science goes, I'm not sure tbh. The main program I use at uni is ChemBioOffice (by Cambridgesoft), but I'm not sure what that's programmed in. Any ideas?
Can you recommend any particularly good ways of learning a language? There seems to be some debate over rote learning, then programming vs. practical learning. Any good tutorials etc that you know of?
Thanks to both of you!
- gaius 16y agoYep, so Linux is the right choice for you based on your immediate environment (but there was no way for the first poster to know that :-) ) No idea about that package, but there is BioPython (http://biopython.org http://biopython.org) so that's a possibility. My usual advice for learning a language is to get the "plumbing" first. You don't even need to understand exactly what's happening at this stage, but learn to say parse command line arguments, read and write a disk file, connect to a database, open or listen on a socket, that sort of thing. You can just cut and paste code to do this at this stage. This gives you a framework for "doing stuff". Then it's just a matter of identifying a problem and gradually working your way towards a solution. E.g. if you wanted to read a file, do some computation, then store the result, you could concentrate on the interesting part. You'll learn how the plumbing actually works by osmosis as you go along. If I could give some advice to my younger self, and he was programming in a vaccuum, I'd have said start with ML.
- wihon 16y agoI know, literally, nothing about ML. Why's it better for a beginner? Can you recommend any implementations in particular? davidw above mentioned getting involved with open source - have you got any suggestions for how to get stuck in? Thanks! :) P.S. Do you think it's necessary to have a presence on the web, i.e. through a blog, in order to make connections with other kindly programmers? I'm also thinking that as I'm starting from scratch, I could record my progress and potentially help other baby hackers.
- gaius 16y agoThere're plenty of books, e.g. http://www.ccs.neu.edu/home/matthias/BTML/ http://www.ccs.neu.edu/home/matthias/BTML/ is very good. As a working professional with 15 years experience who has only gotten into strong inferred typing relatively recently I consider it a godsend; I wish I'd known about it from day 1. Most of the popular languages have a beginners mailing list, so just join that, ask questions if you're stuck, answer questions as you learn more. To "get involved" in open source, solve one of your own problems, tidy up the code, upload it to GitHub or wherever and announce it on the list.
- wihon 16y agoThanks again for all the tips! Much appreciated. :)