请选择 进入手机版 | 继续访问电脑版

计算化学公社

 找回密码
 现在注册!
查看: 434|回复: 8

[吐槽] 【耻辱柱】fortran不蠢,蠢人自蠢

[复制链接]

471

帖子

11

威望

3100

eV
积分
3791

Level 5 (御坂)

密度泛函·小卒

发表于 2018-2-11 15:38:20 | 显示全部楼层 |阅读模式
本帖最后由 yjcmwgk 于 2018-2-13 09:32 编辑

如果用python,那么可以写
如果 这东西在某个数组中,那么执行XX。

如果用fortran,就要写
循环i从1到max,某个东西和某个数组的第i个元素相同吗?如果相同,exit循环并执行xx,如果不同,continue。

fortran怎么这么蠢

只是吐槽罢了,又想效率高又要写法简单,哪有那美事儿?!

=====在sob君回复后,加一段=========
上述吐槽纯属我自己不了解而乱吐。事实上fortran已经提供了类似功能:
ANY(mask[,dim]) 判断是否有数组值在指定维上满足mask的条件
最后引用sob的回复:“很多人批Fortran,其实是因为没有深入系统学习过Fortran
啊 脸红了
原帖内容不改了,留在这儿作历史的耻辱柱
帖子标题从《fortran怎么这么蠢》改为《fortran不蠢,蠢人自蠢》
东风快递,使命必达!六分钟覆盖全球,哪里不服点哪里!

1万

帖子

25

威望

1万

eV
积分
28209

管理员

公社社长

发表于 2018-2-11 17:33:03 | 显示全部楼层
善用Fortran自带的函数
if (any(array==1)) then
....
end if

很多人批Fortran,其实是因为没有深入系统学习过Fortran

评分

参与人数 3eV +15 收起 理由
zsu007 + 5 赞!
yjcmwgk + 5 谢谢!谢谢!
steven + 5 牛!

查看全部评分

北京科音自然科学研究中心:http://www.keinsci.com  不定期开办各层次量子化学、分子动力学、Multiwfn程序培训
思想家公社的门口Blog:http://sobereva.com
Multiwfn量子化学波函数分析程序主页:http://sobereva.com/multiwfn
计算化学公社论坛:http://bbs.keinsci.com
思想家公社QQ群1号:18616395,2号:466017436。用于讨论理论、计算化学,两个群讨论范畴相同,可加入任意其一但不可都加入,申请信息必须注明具体研究方向,否则一概不批。

此账号为诸Sobereva共用
Money and papers are rubbish, get a real life!

140

帖子

3

威望

934

eV
积分
1134

Level 4 (黑子)

发表于 2018-2-13 08:09:41 | 显示全部楼层
Fortran2003很多东西是很不错的

471

帖子

11

威望

3100

eV
积分
3791

Level 5 (御坂)

密度泛函·小卒

 楼主| 发表于 2018-2-13 09:25:05 | 显示全部楼层
sobereva 发表于 2018-2-11 17:33
善用Fortran自带的函数
if (any(array==1)) then
....

啊 拜谢!

ANY(mask[,dim])
判断是否有数组值在指定维上满足mask的条件

再次感谢!
东风快递,使命必达!六分钟覆盖全球,哪里不服点哪里!

90

帖子

0

威望

413

eV
积分
503

Level 4 (黑子)

发表于 2018-2-13 11:20:46 | 显示全部楼层
毕竟我们都不是专门的programmer,一般都是简单应用而已,很难去透彻了解一个工具所有功能,比如谁又敢说对excel, origin熟悉的无以复加呢。而且fortran是在发展中,很多功能都是新加的。不知道很正常,知道的是大牛。

1万

帖子

25

威望

1万

eV
积分
28209

管理员

公社社长

发表于 2018-2-13 16:07:18 | 显示全部楼层
itpfeng 发表于 2018-2-13 11:20
毕竟我们都不是专门的programmer,一般都是简单应用而已,很难去透彻了解一个工具所有功能,比如谁又敢说对 ...


强烈建议Fortran用户,买本彭国伦的书,把书末Fortran自带的函数列表扫一眼,顶多一刻钟时间,会少走很多弯路、避免写很多很多其实不必要写的代码。

any()、all()、where等不算高深应用,算是Fortran数组操作必会的。
虽然是简单应用,但不多知道点信息的话,“其实很简单”就成了“困难”了,如同用windows的人若不知道linux的shell脚本是多么出色,反倒觉得linux命令行超级难用、命令难记而喷linux(亦或是用linux的人,不知道windows下也能写批处理脚本,盲目也把windows批一顿)。评价一个东西应当建立在有基本的了解上(深入、高级的东西可以暂时不会用,但应该知道“有那么回事”、“其实可以做到”)。
PS:批Fortran的无数搞计算机的人,实际上往往就看过几眼F77的老代码,看见有一堆goto、没有缩进、变量名严格控制在<=六个字符等不爽的地方就开喷了,而无视F90和77的天壤之别、无视2003做的扩展、无视Fortran数组操作对科学计算的极度强大性、对科学计算的高度友好性。(人的时间都很有限,如果实在没有时间去系统了解一样东西,那么索性就保留意见,而不轻易评价就好了)
北京科音自然科学研究中心:http://www.keinsci.com  不定期开办各层次量子化学、分子动力学、Multiwfn程序培训
思想家公社的门口Blog:http://sobereva.com
Multiwfn量子化学波函数分析程序主页:http://sobereva.com/multiwfn
计算化学公社论坛:http://bbs.keinsci.com
思想家公社QQ群1号:18616395,2号:466017436。用于讨论理论、计算化学,两个群讨论范畴相同,可加入任意其一但不可都加入,申请信息必须注明具体研究方向,否则一概不批。

此账号为诸Sobereva共用
Money and papers are rubbish, get a real life!

64

帖子

0

威望

468

eV
积分
532

Level 4 (黑子)

发表于 2018-2-15 08:37:39 | 显示全部楼层
XX 不蠢,蠢人自蠢

啥都可以这么说。你非要用fortran,谁又能把你怎么样?

462

帖子

6

威望

1325

eV
积分
1907

Level 5 (御坂)

发表于 2018-2-15 15:13:07 | 显示全部楼层
反正最后是学到东西了,支持小卒

261

帖子

2

威望

2380

eV
积分
2681

Level 5 (御坂)

发表于 昨天 12:46 | 显示全部楼层
谈不上耻辱吧 这题目整的虐心,好好学习就是了
您需要登录后才可以回帖 登录 | 现在注册!

本版积分规则

手机版|小黑屋|计算化学公社 — 北京科音旗下高水平计算化学交流论坛 ( 京ICP备14038949-1号 )

GMT+8, 2018-2-23 04:17 , Processed in 0.177833 second(s), 24 queries .

快速回复 返回顶部 返回列表