注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

一粒浮尘

飘渺虚无

 
 
 

日志

 
 

從GSL中所學到的  

2014-01-02 09:30:49|  分类: GSL |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

在之前一篇博文里感嘆過寫一個好的程序很難,尤其是對於非計算機專業出身的人而言,比如我。

幾年前還覺得只有做純理論的工作才有意思,寫程序什麼的,都是些“低賤”的活。而幾年后的今天,再回過頭去想這個問題,默默地鄙視一下那時愚蠢的自己。不親自寫一點程序,怎麼能發現這其中的奧妙所在!還記得幾年前的一次組會,老闆開玩笑地說我鄙視數值,而現如今,自己卻迷上了數值,迷上了敲代碼!

理論物理的美大夥都有目共睹,大千世界里各種複雜的現象,竟能被那些簡短的式子精確地描述!估計不少奮鬥在理論物理前線的人都是被這簡單美所吸引。我自己從未受過系統的計算機方面的訓練,曾一度覺得計算機的世界太複雜太雜亂了,於是也以追求那簡單美作為自己的人生追求,不過卻陰差陽錯地干起被眾多程序猿們所調侃的“低賤”的碼農的活。做自己曾經很鄙視很排斥的事情,是很不爽的,自己的生活也的確因此而暗淡很長一段時間。

有句話說得好,你所排拆的,正是你所需要學習的。經過很長一段時間的摸索,開始對寫程序有所感覺,就像當初學習GR,從最初迷失在大堆大堆的數學公式中到後來慢慢看到了這堆公式背後所表達的深刻的簡單的物理思想一樣,逐漸習慣並愛上了編程,閉上眼睛,腦海里閃過一行一行的代碼,而閃過的其實不只是代碼,更多的是代碼所表示的那些計算。

寫代碼,就如做數學或者理論物理裡面的推導一樣,可惜搞得很亂,也可以寫得及其的簡潔。相信很多有人都有這樣的經歷,簡潔的推導往往意味着更快地得到想要的結果,同樣,簡潔的代碼,很多時候也意味着更高的效率(以及以後需要重新用這些代碼時所享受到的方便)。

我主要使用的編程語言是C,最喜歡的一個數值計算庫是GSL。GSL除了給我提供了很多的高效率的函數來以儘可能快的速度得到科學計算的結果,同時也給了我很多C語言數值編程上的啟發。目前開始構思寫一個自己的宇宙學數值計算和數據分析的包,設計的時候考慮到以後會逐漸網裡面加入很多新的東西,新的數據,新的模型,GSL給了我設計的靈感,從讀GSL的源程序文件,學到了很多的技巧,這些技巧的運用讓我可以用儘可能少的代碼,就可以完成所需要的功能,同時模塊化也做得很好。


少即是好!

作為一個有這嚴重強迫症的我,在寫代碼方面,及其看重寫代碼的方式,總是想將代碼寫得很整齊,層次感分明,看起來一定要清晰明了!GSL的源程序這方面也有很好的體現,所以我也很樂意去仔細閱讀那些代碼,並且享受着讀代碼的樂趣。

  评论这张
 
阅读(146)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017