4 ms·
Thanks! > * Get involved with open source. Say, by helping improve the code of open source apps, etc? And if you had to choose between directing my attention
by wihon 16y ago
Thanks!
> * Get involved with open source.
Say, by helping improve the code of open source apps, etc?
And if you had to choose between directing my attention towards Ruby or Python...?
I'm currently in desperate need of a new laptop. Can you recommend any basic requirements for programming? I have a rough idea - something along the lines of lots of RAM and not much else - but getting it from the horses mouth (no offense (: ) would be ideal.
Thanks again!
- gaius 16y agoThe Ruby vs Python (vs any other language) question is easy for a newbie: what do the people near you (personally or professionally) use most? Then you will have access to advice, sample code, relevant documentation etc. If you strike off on your own it's no less fun, but it will take longer for you to get the point at which you can do something "useful". You say you're studying science: perhaps NumPy or Sage (http://www.sagemath.org/ http://www.sagemath.org/) would be useful? (I don't know what the Ruby equivalents of these are or if they even have them). The same is true for your OS - if the people around you are using OSX (for example) then you should too. Make an actual "decision" when you identify what it is that your current choice doesn't do that some other OS would do. For now the availability of help if you need it outweighs everything else.
- wihon 16y agoI'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.
- davidw 16y ago> Say, by helping improve the code of open source apps, etc? Well, if you can't really code right now, that might not be possible. Maybe find something that needs doing and figure out how to do it, as a learning challenge, or help with documentation... Laptop? I have a Dell. You can get them with Ubuntu: http://www.dell.com/us/en/home/notebooks/laptop-inspiron-1545/pd.aspx?refid=laptop-inspiron-1545&s=dhs&cs=19&~oid=us~en~29~linux_2~~ http://www.dell.com/us/en/home/notebooks/laptop-inspiron-154... You need memory and screen real-estate, IMO. I prefer Ruby these days, but I've used Python too. They're both pretty good.