JT.*_*JT. 10 executable programming-languages
我很沮丧地发现Java缺乏一个可接受的解决方案来创建将通过双击运行的程序.除了.NET for Windows之外,我可以编写哪些现代和高级编程语言,可以针对各种平台进行编译,并在每个平台中作为本机/二进制运行(Windows,Linux,OSX(可选))
例如,假设我想在python中编写代码,是否有一种有凝聚力的方式可以分发我的软件,这不需要用户做任何特殊的操作来运行它?我想为计算机文盲编写和分发软件,Java在这方面已经证明是一种真正的痛苦.
澄清:当我说跨平台时,我的意思是我可以使用不同的编译器为每个目标系统编译我的源代码.我不需要一次编译解决方案......我只想为软件用户提供简单的体验,即使我需要编译它并为每个目标平台解决代码问题.
C是你最接近的.
提供最佳跨平台执行的语言将是那些不运行本机代码的语言,如Java平台和.NET框架.您还可以使用解释语言而不是编译语言.
我一直在用Winforms试验Mono和C#.到目前为止,它已被证明是一个非常好的组合.在Windows中,可以通过直接双击可执行文件或为其创建可以双击的快捷方式来运行可执行文件.在Linux中,可执行文件可以从执行小脚本的图标运行,并且用户体验基本相同.
我认为您可以期待与Python类似的体验.
添加转到列表.
要在go中启用交叉编译,您必须重新编译运行时和标准库:
cd /usr/local/go/src
for os in linux windows darwin; do
GOOS=${os} GOARCH=amd64 ./make.bash —no-clean
done
Run Code Online (Sandbox Code Playgroud)
然后在编译之前指定目标OS:
GOO=linux go build yourprojecthere
Run Code Online (Sandbox Code Playgroud)
以谷歌浏览器为例。它是一个新的 Web 浏览器,也是本机多平台应用程序的一个优秀示例,它是用 C++ 编写的。
当然,正如您所说,他们必须“解决每个目标平台的代码问题” ,但这确实有效!
Rust应该在这个列表中。
cargo new "my_first_rust_progam" --bincd my_first_rust_progamcargo run不,真的是这样。最终用户无需预先安装运行时或框架。真的就是这么简单。您刚刚编写并编译了一个很小的“hello world”源代码到本地二进制文件并执行它。
https://doc.rust-lang.org/上有很好的文档可以帮助您入门。今天学习 Rust!