作者:empty 页数:302 出版社:empty |
这里是《Julia编程基础》的开源版本。这本书旨在帮助编程爱好者和专业程序员快速地熟悉Julia编程语言, 井能够在夯实基础的前提下写出优雅、高效的程序。结构与目录本书使用Markdown编写, 每一章都会独占一个ind文件, 名称类似于ch bl.wd.本书的目录请详见目录文件,示例项目本书的示例项目名为Programs.j 1, 地址在这里。其中会包含本书所讲的大部分代码, 但并不是那些代码的完全拷贝。这个示例项目中的代码旨在帮助本书读者更好地记忆和理解书中的要点。它们算是对书中代码的再整理和补充,更新与改进通常情况下,每当我撰写并整理完新的一章都会更新上来,更新频率大概是1-2周左右,肯定不会小于1周。另外,我还会择机对已有的内容进行改进和优化。所以,我只能尽量保证书的向后兼容性,但不能完全保证。支持与捐赠如果你觉得这本书还不错, 请多多支持并帮忙点击本页面右上角的star按钮。当然,我本人也希望能够得到资金上的支持,因为我现在依然在家待业。至于具体原因请见这篇文章。如果你想要资助本项目,可以扫描我个人的支付宝收款码,二维码图片如下。
首先, 我们要知道的是, Julia是一门计算机编程语言, 也就是说, 我们可以使用符合Julia语言规范的代码来编写程序。这些程序可以用于纯粹的数学和科学计算、存取本地文件、通过网络收发数据, 等等。虽然Julia针对各种科学计算任务做了特别的设计和优化,但它也适用于通用目的的编程科学计算往往对代码的表现力和性能都有着较高的要求, 然而, 一些善于科学计算的编程语言(如Python和R)却都在这两个方面有所欠缺,不过,我相信它们的流行必有其原因。而且,我也很喜欢这些编程语言。它们是我的编程工具箱中必不可少的一部分, 尤其是Python。现代语言设计和编译器技术基本上能让我们省去性能调试的工作量,并且可以提供一个单一的环境让我们打造程序原型和有效部署高性能的应用.Julia编程语言就是在此基础之上诞生的。Julia是一门灵活的动态编程语言, 但其性能塔比传统的静态编程语言
1.1.2主要特性Julia拥有可选的类型标注(type annotation) 、多重分派(multiple dispatch) 机制, 以及优良的性能。它还借由L LVN实现了类型推断和即时(JIT) 编译。Julia是多范式的, 融入了命令式、函数式和面向对象编程的特性。Julia为高级数值计算提供了足够的易用性和表现力。当然, Julia也适用于通用编程。为此, 它从那些流行的动态编程语言(包括Lisp、Perl、Python、Lua和Ruby) 中借鉴了很多。Julia与典型的动态编程语言之间最大的区别在于:·Julia的Base包和标准库都是由Julia语言编写的。这包括像整数运算那样的基本操作。也就是说,·Julia拥有丰富的类型构造和对象描述方式, 并且代码中的类型标注是可选的。·Julia拥有多重分派机制。它可以根据参数类型的不同去调用衍生自同一个函数定义的不同方法, 并且, 它还·Julia的性能优良, 并已接近那些静态编译的编程语言(如C语言) 。虽然那些动态编程语言从表面上看是“无类型的 ,但是它们在内部却是“有类型的”。这些内部的类型一般都是在其读取代码后附加上去的,不过,由于这些语言的代码缺少类型标注,所以它们并不能向编译器明确地指示某个值的类型,甚至都不能显式地提及类型。另一方面,静态编程语言虽然可以(且必须)为编译器指示值的类型,但这些类型往往只在编译时存在, 并不能在运行时操纵或表示, 而在Julia中, 类型本身就是运行时的对象。并且, 这些类型也可以被用来向编译器传达信息。我们可以不显式地使用类型标注或多重分派。但这些都是Julia最核心的特性, 我还是建议你利用它们来改进你的代码。这样的话,你的代码的表现力会更强,并且更容易阅读。Julia的目标是成为一门易用、强大和高效的编程语言, 除了上述的优点之外, Julia相对于其他类似系统的优势Julia实现了一定程度的自举,可以针对不同的参数类型自动生成有效的专用代码。1.1.3更多的特性