关于 Frink:实用计算工具和编程语言
Frink
最新动态 * 常见问题解答 * 下载 * Frink Applet * Web 界面 * 示例程序 * Frink Server Pages * Frink on Android * 捐赠
关于 Frink
Frink 是一款实用的计算工具和编程语言,旨在简化物理计算,帮助确保答案正确,并使其成为在现实世界中真正有用的工具。它在所有计算中跟踪测量单位(英尺、米、千克、瓦特等),允许您透明地混合测量单位,并帮助您轻松验证答案是否合理。它还包含一个庞大的物理量数据文件,使您不必查找它们,并使您可以毫不费力地进行计算,而不会陷入机械的困境。
如果您跳到本文档后面的示例计算,也许您会更好地了解 Frink 的功能。完成后再回到顶部。
Frink 以我个人英雄之一,以及我们时代伟大的科学家,才华横溢的 John Frink 教授的名字命名。 Frink 教授早在几十年前就指出:
"我预测在 100 年内,计算机的性能将提高两倍,体积将扩大 一万 倍,而且价格昂贵,只有欧洲最富有的五位国王才能拥有它们。"
特性
对于像我这样注意力不集中的人,以下是 Frink 的一些特性。
- 跟踪测量单位(英尺、米、吨、美元、瓦特等)通过所有计算,使您可以毫不费力地添加、减去、乘和除它们,并确保答案正确,即使您混合使用加仑和升等单位。
- 任意精度数学,包括巨大的整数和浮点数、有理数(即像 1/3 这样的分数保持而不会损失精度)、复数和区间。
- 高级数学函数,包括三角函数(甚至对于复数)、因式分解和素性测试和进制转换。
- 数千种单位类型之间的单位转换,具有 巨大的 内置数据文件。
- 日期/时间数学(将偏移量添加到日期、找出时间之间的间隔)、时区转换和用户可修改的日期格式。
- 在几种人类语言之间进行翻译,包括英语、法语、德语、西班牙语、葡萄牙语、荷兰语、韩语、日语、俄语、中文、瑞典语和阿拉伯语。
- 计算美元和英镑的历史购买力。
- 计算世界上大多数货币之间的汇率。
- 强大的正则表达式功能和文本处理。
- 在整个过程中支持 Unicode,允许处理几乎所有世界语言。
- 支持计算中的区间算术(也称为 区间计算 ),允许您自动计算所有计算中的误差范围和不确定性。
- 读取基于 HTTP 和 FTP 的 URL 就像读取本地文件一样容易,从而可以获取基于 Web 的实时数据。
- 在大多数主要操作系统上运行(任何具有 Java 1.1 或更高版本的操作系统),作为 applet,通过 基于 Web 的界面,在 Android 上,以及在 许多手机和手持设备 上运行。
- 使用 Java Web Start 在几秒钟内将自身安装到您的系统上,并在发布新版本的 Frink 时自动保持更新。
- 使用 图形用户界面(Swing、AWT 和 [Android](https://frinklang.org/<android.html>))或命令行界面运行。
- 用户界面具有 编程模式,即使在手持设备上也可以编写、编辑、保存和运行极其强大的程序。
- Frink 具有一个简单但强大的系统,用于绘制可调整大小、支持透明度和抗锯齿的图形,并且可以打印或写入图像文件。图形也可以具有精确的长度,因此打印时 3 厘米的线长为 3 厘米。
- 为 Frink Server Pages 提供支持,该系统用于提供由 Frink 提供支持的动态网页。
- Frink 是一种功能齐全的编程语言,具有 数组、字典、集合、函数、循环,甚至面向对象编程和 自我评估。
- Frink 允许 面向对象编程,这使您可以创建仍然易于使用的复杂数据结构。
- Java Introspection 层允许您从 Frink 中调用任何 Java 代码。
- Frink 也可以 嵌入到 Java 程序中,从而为您的 Java 程序提供 Frink 的所有强大功能。
获取通知
Frink 遵循快速发布计划并经常更新。这并不意味着旧程序将失效,而是不断添加新的、有用的特性和优化。 密切关注最新动态页面,以查看新特性并随时了解其发展。
虽然该页面是有关 Frink 更改的最详细和不断更新的信息来源,但我还在 Twitter 上通过 @frinklang 发布新特性。 如果您想关注 Alan 的个人漫谈,那些内容请访问 @aeliasen。
捐赠
如果您发现 Frink 有用,有很多方法可以捐赠以进一步发展。我将非常感谢!
演示文稿和论文
您可以阅读我在麻省理工学院的 Lightweight Languages 4 会议上关于 Frink 的演示文稿 Frink -- 一种理解物理世界的语言(并使用 RealPlayer 观看)。这讨论了 Frink 的一些设计决策、它是如何演变的、实现细节以及该语言的未来方向。
目录
- 关于 Frink
- 特性
- 获取通知
- 使用 Frink
- 下载 Frink
- 实验版本
- 编程模式
- 运行 Frink
- Frink 的不同之处
- 数值类型
- 数据库
- 集成帮助
- 编辑 Frink
- 转换
- 数学运算符
- 变量
- 设置显示单位
- 设置精度
- 设置数字格式
- 注释
- 函数
- If/Then/Else
- 真值
- 循环
- 自求值
- 数组
- 枚举表达式
- OrderedList
- RingBuffer
- 输入
- 输出
- 布尔运算符
- 三向比较
- 字典
- 集合
- 常用函数
- Unicode 运算符
- 字符串
- 文本翻译
- 解析 JSON
- 日期/时间处理
- 定义新的日期/时间格式
- 正则表达式
- 搜索和替换
- 输入和输出
- 匿名函数
- 排序
- 列表理解
- 包含其他文件
- 面向对象编程
- Try/Finally
- 格式化程序
- 图形
- 温度标度
- 其他数据源
- 区间算术
- Java 内省
- 嵌入 Frink
- 示例计算
- 更改语法
- 致谢
- 捐赠给 Frink
使用 Frink
边阅读边尝试
如果您想在阅读时尝试计算,请单击此处在新窗口中打开基于 Web 的界面。 基于 Web 的界面为新用户提供提示,这可能是学习如何使用 Frink 的最简单方法。
如果您有支持框架的浏览器,并且没有看到左侧的 Frink 侧边栏,您也可以单击此处在侧边栏中尝试 Frink 同时阅读本文。(不过,侧边栏模式没有提供那么多提示。)
使用 Java Web Start 下载
快速入门: 在许多平台上,如果您已经安装了 Java,您只需下载并双击 frink.jar
文件即可在 GUI 模式下启动 Frink。有关更多启动选项,请参阅下载 Frink 部分。
另一种安装方法需要 Java Web Start,它与大多数版本的 Java 一起安装。如果您不需要从命令行运行程序,使用 Java Web Start ~~是~~ 过去是运行 Frink 的绝佳方式。(但是您_仍然可以_使用 Java Web Start 从 GUI 编写和运行程序!)如果您确实想从命令行运行程序,请参阅下面的下载 Frink 部分。 Java Web Start 将允许您自动获取最新版本的 Frink,并在有新版本可用时自动更新 Frink。
安装步骤
- 如果您_没有_最新版本的 Java,您可以从 Sun 获取它。(链接在新窗口中打开。)
- (可选)如果您从未使用 Java Web Start 安装过任何内容,请阅读并理解关于您将看到的安全性警告的 FAQ 条目(链接在新窗口中打开)以及您的备用下载选项。
- 警告: 大多数主流浏览器现在都禁止 Java 插件在浏览器中运行。但是,如果您安装了 Java 虚拟机,您可能仍然安装了 Java Web Start,您需要使用命令
javaws
从命令行调用它。在 Fedora 中,您可以通过从您的软件包管理器安装icedtea-web
软件包来确保已安装它,例如 作为 root 用户,键入dnf install icedtea-web
,然后键入下面的命令之一。在类似 Debian 的环境中,您可以通过安装icedtea-netx
软件包来安装它,例如 作为 root 用户,键入apt-get install icedtea-netx
,然后键入下面的命令之一。 - 警告: 如果您使用的是 Java 7u51 或更高版本,他们会默默地且不兼容地决定更改默认安全设置,因此您需要打开 Java 控制面板以允许 Frink 运行。否则,您将看到一个对话框,内容类似于“应用程序被安全设置阻止”或“您的安全设置已阻止自签名应用程序运行。”(在上述方法运行良好的 12 年多之后,进行了此静默更改。)
允许 Frink 运行的最佳方法是按照此处列出的说明进行操作,并将 http://futureboy.us
添加到步骤 7 中的例外站点列表中。
注意: 与往常一样,Java 的说明和安装程序非常糟糕,Windows 上的 Java 控制面板实际上可能在您的“开始”菜单下显示为 Java
| 配置 Java
,或者在您的 Windows 控制面板下,或者如果您启动您的控制面板并且没有看到它,Java 的控制面板将隐藏在“32 位控制面板”下。有时您会安装多个版本的 Java,并且启动的版本不是最新版本。直到我手动卸载了 Windows 机器上的_所有_ Java 版本,重新安装了最新版本,并卸载并重新安装了 Frink,我才遇到了_很多_问题。对此感到抱歉。Windows 和 Java 集成非常糟糕。(Fedora 和其他安装的 icedtea-web
软件包包含一个大大更好的 Java Web Start 实现。)
5. 单击下面的选项之一以安装 Frink:(请参阅下面的屏幕截图):
* Swing 界面 更漂亮。需要 Java 1.5.0 或更高版本。
注意: 如果您的浏览器不再支持浏览器中的 Java,您可以通过键入以下命令从命令行安装它:
javaws https://futureboy.us/frinkjar/frink.jnlp
* 带有标准库的 Swing 界面。这是 Frink 的一个版本,其中包含各种标准库和有用的程序。它是一个更大的下载,但标准库的更改频率较低,并且只有在进行更改