Who of you at Imminst do any programming? If you do programming which languages do you use?
Adverts help to support the work of this non-profit organisation. To go ad-free join as a Member.
Do you do programming?
#1
Posted 30 August 2006 - 09:26 PM
Who of you at Imminst do any programming? If you do programming which languages do you use?
#2
Posted 30 August 2006 - 09:36 PM
sponsored ad
#3
Posted 30 August 2006 - 09:47 PM
#4
Posted 30 August 2006 - 10:33 PM
#5
Posted 31 August 2006 - 12:35 AM
#6
Posted 31 August 2006 - 08:01 AM
#7
Posted 31 August 2006 - 10:10 AM
Oh, they made us learn Java our freshman year, but that doesn't count.
#8
Posted 31 August 2006 - 12:02 PM
#9
Posted 31 August 2006 - 12:34 PM
#10
Posted 31 August 2006 - 12:58 PM
#11
Posted 31 August 2006 - 05:52 PM
#12
Posted 04 September 2006 - 02:32 AM
Past: some Java in the past.
I know next to zero biology. I wonder how I can contribute the most to anti-aging. If I become a really good programmer, maybe I can someday contribute to AI in hopes that AI can be used to cure aging. I took a biology course in high school and did not like it at the time. I thought it was a pretty dull and boring subject. But now I have realized that it is very important. But I am still interested in it only to the extent of application. The subject itself still seems like boring memorization to me. But again, it seems like the most important field of knowledge looking forward.
#13
Posted 04 September 2006 - 04:20 AM
Edited by jedsen, 08 September 2006 - 03:37 AM.
#14
Posted 04 September 2006 - 05:53 AM
I know next to zero biology. I wonder how I can contribute the most to anti-aging. If I become a really good programmer, maybe I can someday contribute to AI in hopes that AI can be used to cure aging. I took a biology course in high school and did not like it at the time. I thought it was a pretty dull and boring subject. But now I have realized that it is very important. But I am still interested in it only to the extent of application. The subject itself still seems like boring memorization to me. But again, it seems like the most important field of knowledge looking forward.
Exactly my thoughts, and I think the reason why it seems like "boring memorization" is because it hasn't yet reached a point where people can sit down and "program biology" at their desk.
#15
Posted 04 September 2006 - 01:34 PM
The best book I've found for non-biologists is below. It has a good primer on molecular biology and covers most of the algorithms and techniques being used by biologists though informatics is an extraordinarily fast moving and broad field. The book below focuses on sequencing, predicting genes and identification of proteins. There's a whole other world of molecular dynamics & simulation which is more rooted in physics but is just as fascinating and IMO holds even more promise but at longer timescales.
An Introduction to Bioinformatics Algorithms
The book also has a website which has a sampling of the content in the book...
website: bioalgorithms.info
#16
Posted 04 September 2006 - 04:13 PM
Maestro, from your point of view, what are the most important programming/database languages and computer skills needed for biology going forward? Is more than SQL and C necessary?
It's a good question and one I was trying to answer when I first started doing the research but the further I go into it the less strongly I feel about one language versus another. More important IMO is rather a good understanding of the design patterns and algorithms that can be applied to the biological domain. Even more important is an understanding of the domain itself and the specific problems you are trying to tackle.
At their core, most modern programming languages have similar constructs despite their differences in terms of cryptic syntax, underlying api's, etc. I float from language to language and learn the constructs and syntax needed based on the particular task I am trying to accomplish. I would recommend the same approach to tackling bioinformatics problems. Look at the problem/task presented by the biologist and then look for existing libraries, design patterns and languages that are most suitable to tackle the problem.
Staying on top of existing tools, techniques and efforts in the informatics space is also key. I think everyone in the space agrees that aggregation of the biological data is key but so are the tools and services for accessing and working with this data. Taverna is an example of services being aggregated. Personally, I'm splitting my time between the low level domain and trying to gain a good understanding of how these tools work and contribute to biologists working in the lab or at the theoretical level. Most, if not all of these tools today are focused on mainline pathologies. We will be able to hijack them for aging remedies too
So to answer your question. Less emphasis on language and more emphasis on algorithms, libraries and even protocols (e.g. SOAP, XML-RPC, etc). SQL is important if your building the interfaces to biological data. When it comes to languages though: Java and C, C++ & even C# are good if your looking to build multi-threaded apps or servers. Perl, Python, Ruby, C# (this list is endless!) are good for web or forms based front ends or just need to rip through and do string parsing and database lookups.
For high-impact GUI front ends that consolidate a lot of data into graphs, charts, real-time streaming info I would have said Visual C++ a year ago but after working with C# for the past year I'm quite impressed with what it can do along with the tie-ins to higher-performing DLLs.
A few months back I interviewed a guy who built a real-time UI display into several biotech devices: spectrometers, blood centrifuges and a few more I can't even remember but remember thinking wow, that's pretty frickin impressive. He showed me the code. It was about 800,000 lines of C++ code. Only slight exaggeration. The thought of testing all of that mission critical code (assertions==possible death) and immediately asked "Couldn't most of that be done with a 4 GL like C# and UI libraries these days?" He said "mostly yes" but the tech didn't exist when he started coding.
Edited by maestro949, 04 September 2006 - 05:53 PM.
#17
Posted 04 September 2006 - 04:16 PM
#18
Posted 04 September 2006 - 04:21 PM
Thanks for the informative answer!
#19
Posted 05 September 2006 - 09:26 PM
Unluckily I do not feel that I excel at biology or programming.
#20
Posted 06 September 2006 - 03:10 AM
I've taken a lot of biology courses. What are you planning on programming biology-wise?
#21
Posted 06 September 2006 - 04:07 AM
The biologists thought that a 'database' was an enzyme that acted on 'datab'.
#22
Posted 06 September 2006 - 07:27 AM
Exactly my thoughts, and I think the reason why it seems like "boring memorization" is because it hasn't yet reached a point where people can sit down and "program biology" at their desk.
Some groups are working on this problem. You are right, I don't like memorization. I like relying on technology to handle whatever it can so that I can focus on the higher level stuff. Even at work, for simple but repetative tasks, I would rather take the time and figure out how I can write a perl script to handle the simple stuff even if it takes me slightly longer to write the script, I can learn and write perl more efficiently in the future. Plus it exercises the brain more than simpler methods. Continuous improvement can be gained through the use of technology. Now I just wish technology could be more often applied to problems that really matter (instead of going to the moon or used for war/defense technology).
#23
Posted 07 September 2006 - 07:36 AM
That book rec was nice, and would love to see/hear about other books people have found valuable.
This one is very good too. Good intro/overview of bioinformatics as well. I bought it particulary for the chapters on identifying metabolic pathways and gene regulation networks with evolutionary algorithms. I'm fairly convinced that to achieve significant life extension we're going to need to model many of the pathways in excruciating detail.
Evolutionary Computation in Bioinformatics
#24
Posted 07 September 2006 - 11:51 AM
#25
Posted 07 September 2006 - 02:33 PM
Your response should be similar when someone says they program SQL.When I asked a friend of mine that very question yesterday he said "I program HTML". My ribs are still sore, my side needs stitching
#26
Posted 07 September 2006 - 05:12 PM
That book rec was nice, and would love to see/hear about other books people have found valuable.
Yeah post some more book refs. I would be specially thankfull for books and articles about pattern recognition and neral networks.
#27
Posted 07 September 2006 - 10:32 PM
When I asked a friend of mine that very question yesterday he said "I program HTML". My ribs are still sore, my side needs stitching
I would agree, considering straight up slogging of static HTML pages is more layout and design work rather than programming. Many web pages today though are rendered through some type of cgi language. Now with the Web 2.0 rage, real-time content streamed to the desktop with AJAX type frameworks seems to be the trend. The 2.0 stuff will require your friend to upgrade his skills a bit. It kills me is when people don't upgrade their skills and tools. I know a guy who still codes in vi, refuses to use source control and writes everything to a log file rather than using a an IDE and debugger. Great coder but man there are some great IDEs like Eclipse that make things much easier with a little investment.
#28
Posted 08 September 2006 - 12:27 AM
I would agree, considering straight up slogging of static HTML pages is more layout and design work rather than programming. Many web pages today though are rendered through some type of cgi language. Now with the Web 2.0 rage, real-time content streamed to the desktop with AJAX type frameworks seems to be the trend. The 2.0 stuff will require your friend to upgrade his skills a bit. It kills me is when people don't upgrade their skills and tools. I know a guy who still codes in vi, refuses to use source control and writes everything to a log file rather than using a an IDE and debugger. Great coder but man there are some great IDEs like Eclipse that make things much easier with a little investment.
The CGI is just a layer through which the uncompiled a scripting language like Perl, PHP ro Ruby and the server communicate. You need a CGI interface between PHP and Lighttpd, for instance. It's not a language to be learned.
Web 2.0 is just a Javascript http call for information from the server (and some fancy animations), which could be considered dynamic or real-time simply because it doesn't require the whole page to be reloaded.
Fortunately, design is still abstracted from implementation, in most cases. I know that with Ruby on Rails the View implementation requires basic knowledge of ruby. But, from someone who programs in PHP for money, I never touch the design, except simple CSS (just div's in the right place, usually) so the designer can later spruce things up.
#29
Posted 08 September 2006 - 01:03 AM
Regarding the Web 2.0 stuff one thing that has always baffled me is that a simple & standard framework never really evolved for robust / real-time clients.
sponsored ad
#30
Posted 08 September 2006 - 01:07 AM
The javascript call has been there for a while, it's just that now application frameworks have made it easy to use. In RoR, all that fancy stuff is abstracted to make it a single line.Right, I didn't mean to imply that CGI was a language but that it can pretty much be accomplished with one of many types of languages.
Regarding the Web 2.0 stuff one thing that has always baffled me is that a simple & standard framework never really evolved for robust / real-time clients.
Oh, and I'd just like to say that IDEs are overrated, in my humble, stubborn opinion. The command-line and an editor with syntax-highlighting like vim is really all you need, not some fancy GUI to tie-in the debugger and compiler and editor.
1 user(s) are reading this topic
0 members, 1 guests, 0 anonymous users