• Stars
    star
    268
  • Rank 153,144 (Top 4 %)
  • Language
    Julia
  • License
    MIT License
  • Created over 6 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Julia编程指南

Julia编程指南

Build Status

一本我不知道什么时候才会写完的书,但是你可以先看着: 在线阅读

注:原来的中文教程已经不再维护和更新,内容在 old 这个分支

Julia语言在2018年正式发布了第一个长期支持版本(1.0版本),在这之后市面上出现了很多中文教程。但是, 为什么我还要编写本书呢?有如下的一些原因:

  1. 市面上的中文书籍和教程主要都以入门Julia语言为主。但是还没有一本由有经验的Julia语言开发者所编写的书籍。
  2. 我们在中文社区的论坛,QQ群等中文媒体上经常可以看到中文用户抱怨没有好的教材可以参考,缺乏可以学习的代码范例,并且中文网络上依然大量充斥着旧版Julia的代码(Julia 0.6甚至是更加古老的版本)。这些旧的代码随着1.0版本的发布已经不再支持,对很多Julia学习者造成了困扰。
  3. 我发现由于Julia语言编程范式和其它流行语言(例如Python,C++,MATLAB)有很大不同,有很多Julia学习者在阅读过文档之后,即便已经学会了基本语法,大部分Julia学习者入门之后依然无法很好的编写一个完整的,符合Julia范式的代码库。
  4. 我们有时候还是需要一些文档里不会讲的内容,比如一些经验性质的总结,一些更加和某个领域相关的完整工程展示。所以这也是这本书的目的之一:提供编写Julia工程的实践范例
  5. 我在知乎上写过很多零散的关于Julia语言的文章,有很多人建议我将它们整理到一起,但是我不是很喜欢知乎的编辑器,它并不适合编写长篇的技术文章,对数学公式和代码的支持非常差。而微信公众号则更加糟糕,在经过调研后我觉得还是需要使用开源工具自己来做这件事情。
  6. 大部分的书籍依然是传统的纸质媒体,或者以纸质媒体为前提进行编写。这在现在这个互联网和富文本时代是非常落后的。我希望以此为媒介,做一些现代书籍的实验。

本书使用纯Julia进行编写,除了构成静态网页的js/html/css 脚本以外,这本书的Julia纯度为:100%,当你下载这本书之后,可以用Julia的编译器运行下面这行命令

在命令行里

julia make.jl serve

或者打开Julia的REPL,然后运行

include("make.jl")

这本书就会以网页的形式挂在到 localhost:8000,它使用了 DocumenterLiveServer 这两个Julia包进行编译和挂载。如果你喜欢黑夜模式(dark mode) 你还可以点击右上角的齿轮按钮选择黑夜模式。

协议

知识共享许可协议
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。代码部分使用MIT协议。

More Repositories

1

FromFile.jl

Julia enhancement proposal (Julep) for implicit per file module in Julia
Julia
135
star
2

YAAD.jl

Implement you own AD in 300 loc
Julia
77
star
3

Configurations.jl

Options & Configurations made easy.
Julia
66
star
4

Expronicon.jl

Collective tools for metaprogramming on Julia Expr
Julia
54
star
5

TutorialForPhysicists.jl

A Tutorial to Julia Language for Physicists
Jupyter Notebook
54
star
6

IonCLI.jl

The Ion CLI for Julia.
Julia
48
star
7

pytorch-complex

complex tensor plugin for pytorch (deprecated)
C++
47
star
8

Ion

Ion - a CLI toolbox for Julia developers
Rust
46
star
9

YASSAD.jl

Yet Another Source to Source Automatic Differentiation
Julia
26
star
10

GarishPrint.jl

An opinioned pretty printing package for Julia objects.
Julia
23
star
11

PIML

lecture materials of the ML for Physics course 2021 in Perimeter Institute
Julia
19
star
12

QCHS2022

QCHS2022 Summer School Tutorial for Yao and Bloqade
Jupyter Notebook
13
star
13

JuliaCN2022Talk

Julia中文社区报告:罗秀哲的开源工具箱
Vue
13
star
14

CLI.jl

Converts amost every Julia object to CLI commands
Julia
12
star
15

QMTK.jl

Quantum Many-body Toolkit (This repo is deprecated, and its components has been seperated to several projects under https://github.com/QuantumBFS.)
Julia
12
star
16

Ion.jl

REPL/CLI based Developer Toolchain for Julia
Julia
10
star
17

BatchedRoutines.jl

Batched routines (BLAS, LAPACK, etc.) for multi-dimensional arrays
Julia
10
star
18

MAGMA.jl

A Julia binding for MAGMA, don't drink it
Julia
10
star
19

ExproniconLite.jl

no fancy pattern matching, no dependencies, lightweight Expronicon for low latency.
Julia
10
star
20

CSIMD

SIMD Accelerated Operations for Complex Numbers.
C
8
star
21

juliacon-quantum-bof

Materials for Quantum BOF in JuliaCon 2020
7
star
22

KungIChi.jl

Data validation and settings management in Julia
Julia
7
star
23

Batched.jl

Batched operations and array types in Julia
Julia
6
star
24

Sym.jl

My Own Symbolic Engine
Julia
5
star
25

AdiaComput.jl

A tweakable quantum adiabatic computation simulator
Jupyter Notebook
5
star
26

TicketToRide.jl

Confidential!
TeX
4
star
27

juliacon2019

Materials of My talk for JuliaCon2019
4
star
28

BatchedArrays.jl

Julia
3
star
29

RogerLuo.jl

Julia
3
star
30

Liang.jl

The next-gen emulation engine for quantum systems
Julia
3
star
31

Lattices.jl

Julia
3
star
32

Kebab

Quantum Computation Framework for Julia (Prototype)
Julia
3
star
33

ion-templates

Julia project templates for Ion
Handlebars
2
star
34

Fine

Roger's Fine slide generator
Python
2
star
35

Qiskit.jl

use Qiskit with Yao
Julia
2
star
36

legacy-slides

Roger Luo's slides
HTML
2
star
37

QuHamiltonian.jl

Domain Specific Language (DSL) for (quantum) Hamiltonian construction.
Julia
2
star
38

QuantumGateRoutines.jl

Simulation routines for quantum gates
Julia
2
star
39

PinGo.jl

The PIQuIL Bingo Generator
Julia
2
star
40

legacy-THCZ

an old try on THCZ: complex tensors support for pytorch
Cuda
1
star
41

LatticeSites.jl

Provides types for sites on lattices
Julia
1
star
42

PHYS490-template

Template repo for PHYS490
Python
1
star
43

MinionsREPL.jl

What if your laptop sings like minions every time you type?
Julia
1
star
44

IonBase.jl

Base package for the IonCLI, one can extend the CLI for internal use using this package.
Julia
1
star
45

Golgi.jl

Enzyme! Transform and roll out!
Julia
1
star
46

RenyiEntropyOfMagic.jl

Julia
1
star
47

Blueprints.jl

abstraction for template/static file rendering
Julia
1
star
48

talk

my public talks
1
star
49

packages

a website to show status and docs of packages I created or maintain
Julia
1
star
50

Constants.jl

Some Useful Constants for Julia
Julia
1
star
51

Localize.jl

Utils for localization of Julia documents
Julia
1
star
52

BenchmarkSets.jl

syntax for creating benchmark set
1
star
53

blog

my blog
Julia
1
star
54

StochasticOptimizers.jl

Optimizers for noisy loss function
Julia
1
star
55

QIP710

assignment for QIP710 (partly)
TeX
1
star
56

CuBatchedRoutines.jl

batched routines for CUDA
Julia
1
star
57

TH

TH with complex support
C
1
star
58

REPL_timetest

test the Julia's REPL run-up time
Shell
1
star
59

taxi2015

2015 mathematical modeling
Python
1
star