Julia 入门

什么是 Julia?

欢迎来到 Julia 语言项目!我们很高兴您对学习 Julia 并为我们的项目和社区做出贡献感兴趣。Julia 是一种新的编程语言。它也是一种通用语言,这意味着您可以找到一种方法来构建基本上任何您可以用其他语言构建的软件。但是,没有哪种编程语言是解决所有问题的最佳工具。

Julia 的设计考虑到了技术和科学用户。这些用户通常拥有非常大的数据集或非常复杂的数学问题需要解决。这意味着他们希望编写可以在计算机上非常快速运行的代码,这样他们就不必等待数天甚至数周才能获得结果。大多数运行速度非常快的编程语言也比您可能听说过的一些“高级”语言(如 Python 或 Matlab)使用起来要复杂得多。例如,C 和 Fortran 以其速度快而闻名,但它们要求用户在编写程序时向计算机提供大量关于程序的信息。这比使用 Python 等语言需要更多的时间和编程经验。

人们过去认为,必须在计算速度快的编程语言和编码工作量较少的编程语言之间做出选择。然而,计算机科学仍然是一个快速发展的领域,幸运的是,现代编程语言的创建者能够从过去几十年中所有编程语言中学习。Julia 的设计旨在为您提供一切——在其中编写程序相对简单快捷,并且可以非常快速地运行代码和执行计算。

安装

首先要做的是下载 Julia。预构建版本可从我们的网站获得。下载适合您操作系统的版本。我们强烈建议使用官方二进制文件,它们是自包含的,不需要额外的依赖项。下载 Julia 并运行安装程序(Windows/Mac – 在 Linux 上,您只需解压缩下载的文件)后,您将在安装 Julia 的bin目录中获得一个julia二进制文件。运行该程序将使您进入文本提示符,通常称为 REPL - 读取-评估-打印-循环。

Julia REPL

您可以通过在 REPL 中直接键入来开发您的 Julia 程序。请注意,您在 REPL 中键入的所有内容的历史记录都将被存储,即使在重启之后也是如此。您可以使用向上箭头键访问此历史记录,或使用 ctrl-r 进行搜索。

即使您始终可以向上滚动以查看您已在 REPL 中编写的代码,但这并不是在您开始编写更长的程序后审查或保存过去工作的好方法。如果您希望一个更图形化的环境来保存您的程序,您可以从您最喜欢的文本编辑器中使用 Julia:Visual Studio Code、Vim、Emacs、IntelliJ IDEA。至少,像 Vim 或记事本这样的文本编辑器将允许您创建一个文档,您可以在其中编写程序,但不会自动添加大量格式信息。(Microsoft Word 和 Apple Pages 存储的文档信息远不止您编写的文本,这对编写程序不利。)

为了使编码更容易,有很多“集成开发环境”(IDE)可以提供比简单的文本编辑器更多功能。这些 IDE 不仅允许您编写和存储您编写的程序,还可以运行它们,从而使您在编写时更容易进行测试和实验。如果您还没有喜欢的编辑器或 IDE,我们建议您使用VS code 以及 Julia 插件

获取包

当您使用上述说明下载 Julia 时,您获得了编译器(它将您编写的 Julia 代码转换为您的计算机可以运行的版本)和标准库(有时也称为Base),其中包含内置的基本功能。这包括数组和列表、数字和字符串、一些基本的线性代数和统计等。对于大多数用例,您可能需要下载并运行外部库,在 Julia 中称为包。公开可用包的列表在此处提供

包是使用内置于 Julia 标准库中的包管理器下载的。您可以通过多种方式与包管理器交互。最简单的方法是在您位于 REPL 时按键盘上的](右方括号),这将使 REPL 进入pkg模式。

在此模式下,您可以直接在 REPL 中键入包管理命令。例如,add PackageName将向您的本地环境添加一个包,rm PackageName将删除它。使用包管理器通常还会为您管理包的依赖项;这意味着包管理器确保您的计算机/环境拥有运行您要安装的包所需的一切。可以在我们的 YouTube 频道上观看视频,详细了解如何使用包管理器。

来自其他语言

如果您有其他语言的编程经验,您会发现您的大部分知识可以轻松地转移到 Julia。我们记录了一些来自其他流行语言的值得注意的区别MatlabRPythonC/C++

开发包

从使用 Julia 包到开发包很容易。我们的大多数贡献者都是这样开始的。如果您是 Julia 包的用户,请相信您有能力贡献错误修复和新功能。Chris Rackauckas 创建了一个视频,引导您完成创建新包或为现有包贡献代码的过程。在我们 YouTube 频道的此处找到它。

寻求帮助

编程既有趣又令人兴奋。Julia 编程语言也不例外。虽然始终最好在您能够的情况下尝试自己回答问题,但请随时向更有经验的人寻求帮助!查看网站上的Julia 社区选项卡,以查找您可以在 Julia 社区中连接并获得帮助的所有地方。