编程物理学理论物理物理学习
物理系的学生对于编程需要学到怎样的程度?
问题描述
本人是物理系学生,下学期学校开始学编程,但是我不是很清楚编程对于物理系来说到底是一个怎样的地位,需要学多深?以及有什么学好的方法或习惯么?谢谢!
得看你做什么。
- 你要是仅仅用来处理一般实验数据,Python + 一点算法足够。
- 要是想做凝聚态理论的模拟,还要学 C++ 和并行
- 要是想做 Lattice QCD 这种 hardcore 计算,还要学一点体系结构知识和各种诡异的数值算法,懂得如何利用缓存预读等机制优化程序,能看懂并实践 Numerical Recipe. 在这个级别你已经不用害怕失业了,因为你已经有能力去申请 FLAG 一般工程师的职位。
- 要是想做高能实验的数据处理……………… 上学期我们系来了个 LHCb 的人作报告,他说现在 LHCb 有自己设计的 FPGA 采集数据,然后在超算上做实时的数据处理,而且是 machine learning enhanced. 需要学什么你自己想吧……………… 对了我以前给某高能实验教授做 RA 的时候,他让我算仪器上的温度分布,所以我还顺便玩了玩有限元~~
但是!!!!!你把这些学好了,都挡不住你物理学的好。因为如果你物理学的特别好,就不需要自己写程序,而可以指挥别人写……………… (对,我就是那个被指挥的……)
对了,千万别学 Fortran 和 Matlab。我们物理系作为一个艺术类专业,不要学这些丑陋的东西。
评论 34
不过然并卵。。后来发现了C++的Eigen库。。。NumPy都不需要了。。。
一直觉得mathematica界面比matlab好太多
Fortran可是暴力美学,极简主义!
Julia !