一个物理学家需要学多少编程知识?

不同视角、不同观点、深度探讨,禁止人品和道德攻击
回复
houxp
帖子: 18
注册时间: 2010-11-27 16:48

Re: 一个物理学家需要学多少编程知识?

#106

帖子 houxp » 2010-12-03 8:40

呵呵,太幽默了。论坛嘛,时间宽裕就各处溜溜看热闹,时间紧张就按需分配, :em04
偶尔用用
帖子: 1
注册时间: 2010-12-04 20:55

Re: 一个物理学家需要学多少编程知识?

#107

帖子 偶尔用用 » 2010-12-04 21:04

tenzu还没死
头像
wzssyqa
帖子: 4010
注册时间: 2008-04-07 17:36
来自: 泰安人在阜新

Re: 一个物理学家需要学多少编程知识?

#108

帖子 wzssyqa » 2010-12-05 0:48

阿疼的仇家又来寻仇了

支持封号
lllvdee
帖子: 6
注册时间: 2009-11-17 13:27

Re: 一个物理学家需要学多少编程知识?

#109

帖子 lllvdee » 2010-12-05 16:15

:em20 :em20 :em20 :em20 我也看不懂蓝字~
cryall
帖子: 3
注册时间: 2007-06-16 13:39

Re: 一个物理学家需要学多少编程知识?

#110

帖子 cryall » 2010-12-11 14:48

FORTRAN知道,99年上大学第一期就学的这个玩意!其他的一个都没听说过!
头像
tenzu
论坛版主
帖子: 36924
注册时间: 2008-11-21 20:26

Re: 一个物理学家需要学多少编程知识?

#111

帖子 tenzu » 2010-12-11 15:02

没想到这帖子这么热闹了
不知道107L还活着没,反正我还活着
头像
shuifu
帖子: 234
注册时间: 2007-07-23 12:20

Re: 一个物理学家需要学多少编程知识?

#112

帖子 shuifu » 2010-12-11 17:05

houxp 写了:原谅我说话不够简洁。楼主本来的问题,是由于学业和研究的需要,想学习在Linux环境下编程,他请教了一位师兄,被告知要学习一连串的蓝色文字,而楼主是个初学者,就在某个版面发帖问问该从何处下手。但是,大家都看看后面的人回答的是什么?有相当多的帖子在告诉楼主(以及所有的看客们):编程是程序员的事,你一个搞研究的就好好搞研究。
楼主回帖,看客回回贴,一来一往,成了现在这种样子!

我就一直很纳闷,这样的帖子怎么就到了PK版?我是个初学者,本着新手报到先来新手版的原则,被这个题目吸引进来的。如果这样的帖子被一致认为是来PK的,我还在里面趟浑水,岂不冤枉,岂不自认倒霉?

这是我注册本站参与的第一个讨论,可惜,本站给我的第一印象与其盛名很难相符!
回归正题
楼下继续
Manufacturer: LENOVO
Product Name: 3626RU6
Version: ThinkPad X201
Version: Intel(R) Core(TM) i5 CPU M 540 @ 2.53GHz
External Clock: 133 MHz
头像
tangboyun
帖子: 701
注册时间: 2009-07-25 1:57
联系:

Re: 一个物理学家需要学多少编程知识?

#113

帖子 tangboyun » 2010-12-12 10:25

我对楼主的建议是:学C -> C++(Java)-> Matlab(R)
楼主因为不是纯计算机专业的,我个人觉得学Fortran意义不大,因为你的专长肯定不是编码而是分析,学Fortran,如果你在计算机数值计算上没有很深厚的积累(那需要对硬件的深刻理解,有这个程度的理解,fortran,c/c++,哪怕是汇编都是小事了),很难能写出超越现有代码的算法(无论是精度还是效率)。所以对于你这样的来说,计算机只是帮你分析的工具,你要做的只是写一些胶水代码来把现有的算法结合起来那种,我个人推荐C/C++。
学后面两者是为了能运用些高级结构,一般数值计算软件里是不会有Hashtable这种的,比如Matlab就必须调java的比较方便。
你列的那几个数值计算软件,都不是很常见的那些,也就是说不会有太多的现成的资料和论坛。当然有特殊需要的话,就当我没说。。。

至于你Title的问题,懂得越多越好,科学计算,要考虑效率吧,那些数值计算软件,归根结底都不是很高效的,他们的意义只是在于提供了框架,能让你马上用脚本运行起来,比较各种算法、模型的优劣,或者是摸索或者优化几个参数。
学C/C++也是为了给你以后深入挖掘,进行底层优化打个基础罢了。
上次由 tangboyun 在 2010-12-12 10:52,总共编辑 1 次。
https://github.com/tangboyun
http://tangboyun.is-programmer.com/
提问的智慧————Eric Steven Raymond
回答的智慧————Andrew Clarke
吾尝终日而思矣,不如须臾之所学也;吾尝跂而望矣,不如登高之博见也。
急急急标题什么的,最讨厌了!
急急复急急,急急何其多,我生待急急,万事急急急。
头像
tangboyun
帖子: 701
注册时间: 2009-07-25 1:57
联系:

Re: 一个物理学家需要学多少编程知识?

#114

帖子 tangboyun » 2010-12-12 10:44

再突出下,学Fortran,没有必要的,
好的Fotran库,都有c/c++接口的,LAPACK,BLAS这种。

楼主最需要明白的是自己的定位:学会用胶水语言把基本核心算法组装起来即可。数值计算本身的程序编写陷阱很多的,自己写的算法,不是精度不达标,就是效率不过关。更严重的是,精度不行,你还未必能意识到,比起只是学一门C++,这都更难好么。。。

当然这只是我的建议,不是为了把你限制死,因为我知道初学者的迷茫在哪里,不是决心不够,而是不知道自己该往哪里走。这些都是我自己的感悟,希望能帮你少走弯路。

你完全可以等c/c++很牛逼了,再回归fortran。学c是为了让你了解底层硬件(这年头汇编到c没太大必要了,基本可以学c->了解c编译器底层->学汇编这样往底层走了),因为你要做科学计算,如果穷究性能,比如如何发挥并行的话,终究是逃不开操作系统和硬件的。
楼上那些说物理学家编程不重要的,往往都不是干这行的,用的是数十年前的老眼光。。。要知道超级计算机的最大客户就是这些物理、化学、生物的大型项目。。。

说编程不重要的,我只能给这个表情,呵呵 :em06
https://github.com/tangboyun
http://tangboyun.is-programmer.com/
提问的智慧————Eric Steven Raymond
回答的智慧————Andrew Clarke
吾尝终日而思矣,不如须臾之所学也;吾尝跂而望矣,不如登高之博见也。
急急急标题什么的,最讨厌了!
急急复急急,急急何其多,我生待急急,万事急急急。
头像
ubuntu777
帖子: 249
注册时间: 2007-03-28 18:40

Re: 一个物理学家需要学多少编程知识?

#115

帖子 ubuntu777 » 2010-12-24 22:11

必须的。科学方法最终都是数学问题。用计算机解决问题很有效。
了解一些编程和计算机计算的方法对你在对观察的数据与计算模型的结果的分析过程中,发现问题解决问题是必须的。
很多算法都是不精确的。
头像
nsynet
帖子: 241
注册时间: 2008-09-20 22:51
来自: 湖北武汉武昌区
联系:

Re: 一个物理学家需要学多少编程知识?

#116

帖子 nsynet » 2011-02-18 21:44

科学爱好者 写了:回复shinery:
我认识一个天文台的博士,研究高能天体物理的。她每天的工作就是在Linux上编程,然后用来计算恒星模型,再跟观测结果对比,不符合天文观测的再改,然后再计算。跟实验有关的物理研究都需要进行大量科学计算,计算量大的就用超级计算机,小问题用笔记本电脑就可以。大部分科学计算都是在类UNIX操作系统上完成的。编程就是为了计算,你不可能找一个专门学编程的来当助手,自己却不懂编程,等列完方程需要计算时你告诉助手:“小子,方程出来了,你负责编程计算,再向我汇报结果。” 这是大老板(博士导师、研究员)的作风吧?再说了,连编程都不懂,怎么可能当大老板?

当物理学家、天文学家不仅需要物理知识,还需要数学、英语、计算机的知识。南京大学天文系的《天文系报考须知》里明确提到了学习计算机知识的重要性。

至于超级计算机,没有你想象的那么神秘,每座天文台都有超级计算机。这年头,连超级计算机都不会用,还当什么物理学家!超级计算机用Linux/UNIX操作系统,给你一个账号,需要用超级电脑时在台式机上通过终端登录账号,然后把自己编好的程序和数据输入,等超级电脑算完再把结果发送到你的台式机,没什么神秘的。不过这个过程你别指望会有“计算机专业人员”来帮你,因为程序、算法和方程都需要自己设计,学计算机的不一定能明白你的意图。而且编程也不难,至少比量子力学简单。难的是思考数学问题。

没有什么“十分NB的专业化软件”,常用的也就是我用蓝字标出的那些,最多再加上欧洲南方天文台开发的《天文科学软件集》,任何一个有志科研的物理系研究生都必须掌握。科学家需要的只是解微分方程、科学计算,没有什么“令人生畏的专业软件”,而且很多专业软件都是科学家自己开发的,根本不需要程序员插手。

顶下,我说说自己工作中的情况吧,工作是GSM无线通讯相关的,GSM协议是欧洲定的,标准都是网上免费下载的,其中涉及到语音编码(AMR和全速率转换等),不仅给出了doc文档,也给出了代码,这些代码make一下就可以编译过的哦,怎么说呢,对于大师而言,编程仅仅是个工具,是铅笔和小刀,其中的设计和逻辑,那才是精华。
头像
hcym
帖子: 15634
注册时间: 2007-05-06 2:46

Re: 一个物理学家需要学多少编程知识?

#117

帖子 hcym » 2011-02-18 22:02

:em23


瞎子会传染

物理学家居然没看到
وإذا كان هذا لا يحصل أكثر من 100 ملاحظات ، انا ذاهب الى غضب
头像
Eiffi
帖子: 417
注册时间: 2008-09-30 10:57
系统: Win/深度Linux
联系:

Re: 一个物理学家需要学多少编程知识?

#118

帖子 Eiffi » 2011-02-22 0:10

膜拜大神们 :em09 你们继续,打酱油路过
头像
fang0319
帖子: 628
注册时间: 2011-01-05 14:21

Re: 一个物理学家需要学多少编程知识?

#119

帖子 fang0319 » 2011-02-22 8:40

弱弱的问一句:mathematica在linux下是免费的吗?感觉wxMaxima也不错
O(∩_∩)O
头像
liu滔
帖子: 7212
注册时间: 2010-10-09 23:01

Re: 一个物理学家需要学多少编程知识?

#120

帖子 liu滔 » 2011-02-22 14:06

fang0319 写了:弱弱的问一句:mathematica在linux下是免费的吗?感觉wxMaxima也不错
貌似mathematica是都要收费的,当然wxMaxima是个很不错的东西,好学好用,而且最重要的是免费,不用顶个盗版的帽子 :em09
回复