| 查看: 2446 | 回复: 22 | |||
| 当前主题已经存档。 | |||
| 当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖 | |||
[交流]
【原创】科学软件编程:现在该学什么?
|
|||
|
先介绍两本书。 第一本,是胡江堂主编的《我是一只IT小小鸟》。 这本书其实是一群IT业的年轻人对自己求学和找工作的经历回顾与总结,对于在读的、刚毕业的大学生和研究生,都很有参考价值。虽然说作者都是IT业的,对其他行业其实也类似。真希望能有一本《我是一只化学小凤凰》问世。 第二本,是周伟明的《多任务下的数据结构与算法》。 当前,国际形势是这个样子的:硬件迅速发展、软件纷繁复杂,湿件亟待开发。多核、多任务、多平台......云计算、云存储、云服务......云山雾罩。对计算机编程感兴趣的大学生,应该学些什么,才能跟上这个国际形势呢? 我的建议是:夯实C基础、紧跟多任务。 (1)夯实C基础 花里胡哨的编程语言种类实在太多了。不过,拐角遇到C,大家来排队。没有哪种语言能与C来抗衡。因此,C语言的基础是绝对重要的。注意,我说的是C语言,不是C++,不是C#,更不是Visual C++(这是开发环境,不是编程语言)。 (2)紧跟多任务 反正目前的硬件再高级,也逃不过老冯模式的瓶颈。因此,多核、多任务是你有生之年软件运行的主要方式,也是你编程技术的发展方向。关于这一点,可以看看韩宪平的博客(如“理解多内核、多进程和多处理”等)。 下面转载的,是韩宪平的《并行思考!并行编程!事关国力》一文。 Intel公司的大师James Reinders告诫程序员改变思维方式,转向并行思考,掌握并行编程技术,他在一次演讲中提到实现并行编程规则: think parallel并行思考 program using abstraction使用抽象方法 program tasks,not threads使用多任务而不是多线程(韩宪平注:程序员比较熟悉多线程,多线程共享同一进程的资源更容易互相侵犯) design with the option to turn off concurrency设计程序的时候关掉线程同步 avoid locks when possible尽可能避免使用锁机制 use tools and libraries designed to help with concurrency,use scalable memory使用任务同步的工具和函数库,使用灵活伸缩内存(?) design to scale through increased workloads通过增加工作负载实现灵活性 我推测,跟摩尔定律(Moor Law)共轭的(conjugate)应该有一条“软件危机定律”,意思说:计算机硬件总是革命性的力量,而软件技术和行业总是落后的保守的力量。 一般来说,像Intel这样的芯片厂商技术主管的忠告是不能忽视的。Intel说,发布多核处理器已经有五个年头了,现在双核成了PC主流,milticore是四核、六核的也渐成大势,many-core就是八核以上今年或者明年就要发布,但是市场还只把多核当成时尚而远远没有实用,还是“银样蜡枪头中看不中用”,因为程序员多数还不会并行编程让多核的功能彻底地发挥出来,终端用户并不知道仍然是一个核心在工作还是所有的核心都在工作。 我做过一个实验,使用Python的并行编程技术写的一个科学计算小程序,显式地看到我的双核计算机上的两个核心在工作,指出每个核心各自完成了什么工作。 在美国军方和政府有“战略计算(Strategic Computing)”和“高级模拟计算(Advanced Simulation Computing)”范畴和规划,用在武器设计、临床基因组学、天气预报等方面,就是使用多核处理器、多核多处理器和多核处理器多计算机系统。 并行思考就是一种系统思维,所以我说: 并行思考!并行编程!事关国力! [ Last edited by 余泽成 on 2010-1-8 at 15:16 ] |
» 猜你喜欢
孩子确诊有中度注意力缺陷
已经有9人回复
2025冷门绝学什么时候出结果
已经有3人回复
天津工业大学郑柳春团队欢迎化学化工、高分子化学或有机合成方向的博士生和硕士生加入
已经有4人回复
康复大学泰山学者周祺惠团队招收博士研究生
已经有6人回复
AI论文写作工具:是科研加速器还是学术作弊器?
已经有3人回复
2026博士申请-功能高分子,水凝胶方向
已经有6人回复
论文投稿,期刊推荐
已经有4人回复
硕士和导师闹得不愉快
已经有13人回复
请问2026国家基金面上项目会启动申2停1吗
已经有5人回复
同一篇文章,用不同账号投稿对编辑决定是否送审有没有影响?
已经有3人回复


3楼2009-11-10 09:45:02
jjdg
版主 (知名作家)
- 程序强帖: 9
- 应助: 223 (大学生)
- 贵宾: 3.926
- 金币: 51002.6
- 红花: 238
- 帖子: 7227
- 在线: 474.2小时
- 虫号: 27000
- 注册: 2003-10-21
- 专业: 药物代谢与药物动力学
- 管辖: 程序语言

2楼2009-11-10 09:41:19
zhuhongaaa
金虫 (正式写手)
- 应助: 1 (幼儿园)
- 金币: 396.9
- 红花: 2
- 帖子: 607
- 在线: 23小时
- 虫号: 748787
- 注册: 2009-04-14
- 性别: GG
- 专业: 高分子物理与高分子物理化

4楼2009-11-10 09:56:47

5楼2009-11-10 15:36:19













回复此楼
