作為業餘學習哪一種編程語言比較合適?

我是生物民工,現在在國外,博士快要畢業了。並沒有轉行的念頭,不想改IT,但是對編程有一些興趣,有動手解決自己身邊和工作中的小問題的意願。

(周圍的妹紙都覺得我瘋了居然學編程這種男人專用的東西)

曾經中學買書自學過一些C和windows/linux系統的基礎知識,當時報考大學是計算機/軟體跟生物二選一,因為似乎感覺這兩項比較有天賦有悟性。後來因為生物似乎成績好一點(競賽一等獎),而且家裡覺得碼農太累不適合女生,就送我去做了生物民工......

大學上過VB課,又買了書自學了一些C和C++的皮毛,基礎還算不錯吧 (當然不能和專業的比) 現在還都記得,如果google在手也能寫得出幾小段代碼。計算機課雖然不努力但成績很好。讀研讀博以後也自己寫過excel VBA解決過一些重複性勞動。但畢竟這些實踐都很有限。

後來接觸到了測序和表達分析,信號通路分析,網路公共資料庫數據綜合分析,實驗室一般的做法把數據送去計算機分析中心,一排隊就是一兩個月,但其實做的處理都是並不複雜的文本篩選、簡易統計之類,不應該浪費人家專業程序員的時間,而且有時候生物方面概念太多,交流還不太容易。我也覺得如果自己多個技能,如果有些簡單的任務不需要依賴別人也不錯。

我生物暫時搞得還不錯,並沒有改行的想法。最多就是當個業餘小技能,功能破界面丑?自己用。演算法爛?慢慢等......土法上馬、人無我有那種程度就不錯了。買了一本Python的書,不知道還需要準備一些什麼? 需不需要再學一點其他語言比如Java什麼的?

謝謝大家。

//////////////編輯////////////////

我知道生物信息學基本是perl和python,有一些java。

但我不是專業搞生物信息學的,所以不需要特別指向生物信息學,更側重通用性吧。如果日常生活中再有一些作用就更不錯了。


顯然Python。

為什麼你認為Java是比Python主流的語言?


lisp大法好,等到非馮結構計算機流行起來,現有的過程式語言全得玩兒完


綜合各種回答,推薦優先順序我大概排了一下Python--Java--C#--PHP--Lisp--Matlab--vba,

_____________________

推薦python,並且推薦《機器學習實戰》這本書,學python3吧,我目前在學python,發現還是學python3好點。配合觀看效果更佳

C# 配 visual studio 社區版,C#連unity都用,做幾個小遊戲入門別提多開心了,

lisp大法好,等到非馮結構計算機流行起來,現有的過程式語言全得玩兒完,這些語言都是它的真子集.

力挺Python ,寫代碼,就是從txt里提取數據然後做建模。用的是numpy庫,簡直超級方便,看看教程半小時就上手了~~

vba 你的office里就有


總之別學perl。

自從學了Python,就一直後悔曾經寫了兩年perl。perl唯一讓人略微懷念的只有內置正則表達式,剩下的都是一團漿糊。

為什麼這個回答下出現了兩個X(x)i Y(y)ang?


我建議C++,學會了C++就可以掌握絕大多數語言。JavaScript那種變態另當別論。


我個人之淺見:

題主說的是業餘學習:

我認為如果是學習一些C,Python等諸位認為是高大全的語言,並不適合業餘學習。因為這些語言學起來十分緩慢,大量的基礎知識要掌握之後,才能解決。業餘學習,每天也就1個小時吧?學了好幾個月,還在學基礎的東西,什麼正經的程序都寫不出來...大概大部分人都會泄氣吧。

我覺得題主應該去學一些可以有很快見效的有趣的入門級語言,然後對編程有了概念,知道自己想深入學什麼方向了,再去鑽研Python或者C++什麼的,應該是更好的....或者鑽研Javascript也很好嘛。

我覺得可以學學Max/Msp或者Pure Data以及Matlab這一類比較懶漢的程序,很快可以搭建起一個小程序,非常有意思。或者processing或者openframework一類的圖形編程,很快可以寫出一些互動的小動畫。亦或者學學Html和Js,利用PhoneGap可以很快的寫一個自己的手機app。

這些東西更加有趣味性。本人認為更適合成年人利用碎片時間業餘時間學習。學習動力會比較大。


校友還是要支持下的,計算機專業,我來回答這個問題。

工具性的語言首選Matlab,寫代碼快,可用的庫多。數據容易被表示出來,總之沒什麼壞處。

統計向,推薦R語言,數學工具多,圖形表示很有一套。

這兩個應該夠用了,其他語言不推薦的原因不是因為它們不好,而是語言掌握太多也沒什麼用,你也不寫應用程序。


日常使用,就學Python吧,主要它的包比較齊全,幾乎沒有空白。


Python

Python

Python

另外可以學一下linux shell的一些常用命令,在處理文本時非常方便。


matlab簡直不能太好用。?(? ???ω??? ?)?羞羞


生物信息基本的技能語言就是python,R,還有shell。如果追求程序的性能的話,會用C。其實不管什麼語言能解決問題就好


學彙編吧


看你想幹嘛,語言基本都有它擅長的領域啊,你針對你想乾的事學最能解決問題的語言就好了。而且我覺得學一堆用不熟的語言,還不如好好熟練一門。一通百通,何必糾結於什麼語言。


題主果然興趣廣泛

日常用做些桌面小程序學java吧 會的人多出問題解決方便

如果是主要做數據分析以及模擬 建議學一下matlab

學java了以後還可以學點android 寫下手機小程序

演算法的話 如果真的是有興趣 一定要學 這完全是一個新的世界

本人法本 開始也是想學習一些小程序 後來發現演算法真的是奧妙無窮 現在是一枚小碼農 祝好運

問題是7月的 樓主現在學的怎麼樣了


推薦閱讀:

如果有一個人的DNA序列等遺傳信息數據,理論上能否克隆出這個人?需多少MB(兆位元組)的信息量?
有沒有生物信息學領域的大神可以解釋下什麼是基因本體呢?是和基因文庫差不多的東西嗎?搜了百科還是不太懂?
人類基因組詳圖/DNA元件百科全書/ENCODE 被吐槽的主要原因是什麼,它們有道理嗎?
如果打算使用生物信息學軟體處理數據,是裝個linux系統方便,還是直接使用mac os方便? ?
怎麼解釋蜜蜂和菌落不懂數學卻能做出比人類還要完美的事情?

TAG:編程語言 | 計算機 | 生物信息學 |