Frink:为物理计算设计的编程语言
作者:Alen 翻译:赖信涛 责编:仲培艺
Frink是一个实用的计算工具,也算是一种专为物理计算而设计的编程语言。它能让物理计算变得更简单,帮助用户检查计算结果是不是合理,是一个非常实用的工具。它可以在所有计算中识别不同的计量单位(比如英尺、米、千米、瓦特等)。在使用时允许用户混合使用这些单位,得出的计算结果也能让你快速检查结果是否合理。此外,它还有一个巨大的物理公式库,将你从无穷无尽的公式中解放出来,让你可以轻松地完成物理计算。
Frink名字取自作者崇拜的英雄,一位伟大的科学家。这位杰出的教授John Frink十年前预测:
引用
我预测在100年之内,计算机的性能将会是现在的两倍,体积将会是一万倍,只有欧洲最富有的5位国王才能拥有它们。
特性
识别计量单位。支持不同单位的加减乘除,并得出正确的计算结果,即使你将加仑和升混合也没问题;
支持任意精度的数学。包括大型整数和浮点数、有理数(例如1/3不会损失精度)、复数和时间单位;
支持高级数学特性。包括三角函数(支持复数),素性测试等;
有内置数据文件支持的千个计量单位之间的转换;
日期/时间的计算(加偏移日期,计算时间之间的间隔),时区转换,支持可修改的日期格式;
不同自然语言的翻译。包括英语、法语、德语、西班牙语、葡萄牙语、荷兰语、韩语、日语、俄语、中文、瑞典语和阿拉伯语;
计算美元和英镑的历史购买力;
计算尚在流通的世界货币的汇率转换。
强大的Perl风格的正则表达式和文本处理;
支持Unicode,几乎支持世界上所有的语言;
支持区间运算(也称为间隔计算,Interval Computations),在计算中,可以自动计算误差的范围和不确定性;
方便地使用基于HTTP和FTP协议的网址,就像本地文件那样方便,支持基于Web的实时数据的抓取;
作为applet运行,几乎支持所有操作系统;
通过Java Web Start安装,只需要数秒。并且可以自动保持更新;
支持图形界面(Swing、AWT,和安卓),支持命令行操作;
用户接口中有一个编程模式(Programming Mode),可以让你在移动设备上编写、编辑、运行强大的程序;
Frink可以绘制图形,可调整大小,支持透明度和抗锯齿,可以打印,或写入到文件中;
Frink Server Pages,由Frink驱动的支持动态页面的系统;
Frink是一个完整的编程语言,实现了数组、字典、集合、函数、循环,甚至面向对象编程和自我评价;
Frink支持面向对象编程,允许你使用复杂的数据结构;
由JVM驱动,你可以调用任何Java代码;
Frink也可以编译到Java代码中。
讨论
Hondor说:很高兴看到作者在日期后面的评论。它不支持很多可笑的日期格式,比如MM/dd/yy和dd/MM/yy,建议使用ISO标准的格式yyyy-MM-dd。同样的:”Last-Modified: Wed, 01 Sep 2004 13:24:52 GMT … // Alan的注释:不用说,这可是一种可笑的格式。”
dikaiosune说:我去Frink的IRC频道逛了逛之后,决定用Rust写一个开源的替代品:https://github.com/tiffany352/rink-rs。 目前看来,工作得还不错。
piotrkubisa说:建议使用Google缓存(http://webcache.googleusercontent.com/search?q=cache:https://frinklang.org),官方网站看起来有些慢。
peterisza说:这里有一个JavaScript实现,一开始我们只想做简单的单位换算,后来逐渐做大了:http://engineerjs.com
hellofunk说:这门语言不开源,现在不开源的语言很难值得信任了。
http://bbs.sssc.cn/thread-6699654-1-1.html
http://bbs.sssc.cn/thread-6700095-1-1.html
http://bbs.ttx.cn/read-htm-tid-8242345.html
http://beijing.zhaotie.com/jinrongbaoxian/3659428x.htm
http://beijing.zhaotie.com/jinrongbaoxian/3659881x.htm
http://bj.bbs.jiaju001.com/thread-913937-1-1.html
http://blog.cnfol.com/dashengtz/article/1477892777-121249701.html
http://blog.dqccc.com/s/article_7204705.html
http://blog.jinti.com/kg10739556/3918447.htm
http://blog.jinti.com/kg10739556/3918696.htm
http://blog.sina.com.cn/s/blog_7362e71e0102wsrh.html
http://club.st001.com/thread-1179-11458208.html