前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >1 Julia简介及安装

1 Julia简介及安装

作者头像
猫叔Rex
发布2020-06-30 12:25:07
2.1K0
发布2020-06-30 12:25:07
举报
文章被收录于专栏:科学计算

Julia简介

历史

一群拥有各种语言丰富编程经验的Matlab高级用户,对现有的科学计算编程工具感到不满——这些软件对自己专长的领域表现得非常棒,但在其它领域却非常糟糕。他们想要的是一个开源的软件,它要像C语言一般快速而有拥有如同Ruby的动态性;要具有Lisp般真正的同像性而又有Matlab般熟悉的数学记号;要像Python般通用、像R般在统计分析上得心应手、像Perl般自然地处理字符串、像Matlab般具有强大的线性代数运算能力、像shell般胶水语言的能力,易于学习而又不让真正的黑客感到无聊;还有,它应该是交互式的,同时又是编译型的……

特点

  • 核心语言非常小。标准库用的是Julia语言本身写的
  • 调用许多其它成熟的高性能基础代码。如线性代数、随机数生成、快速傅里叶变换、字符串处理。
  • 丰富的用于创建或描述对象的类型语法
  • 高性能,接近于静态编译型语言。包括用户自定义类型等
  • 为并行计算和分布式计算而设计
  • 轻量级协程
  • 优雅的可扩展的类型转换/提升
  • 支持Unicode,包括但不限于UTF-8
  • 可直接调用C函数(不需要包装或是借助特殊的API)
  • 有类似shell的进程管理能力
  • 有类似Lisp的宏以及其它元编程工具

使用场景

主要用于科学计算

  • 机器学习
  • 数据处理
  • 算法仿真
  • 数值分析
  • etc

很多做算法的朋友应该都有这样的经历,在做一个项目时,先用Python/Matlab完成算法模型验证,再用其他编程语言(如C++)来实现,而有了Julia,我们直接一步到位,模型验证和实现是一起的。

说明 本教程主要参考:

  • Julia
  • Mapt网站教程(收费的)
  • Julia社区
  • Julia中文社区

缺点

参考简书 每个语言都有优缺点,Julia的缺点在于:

  • 基于JIT(Just-in-time,即时编译器,启动有预热时间,不适合小规模、只运行一次的任务;
  • 新语言的生态还不够强,不适合调库党;
  • CLI(command-line interface,命令行界面)工具缺乏,不适合在终端(Terminal)开发,需要借助能够热重启(reload)和IDE开发。

这是Julia官网给出的各种语言之间的速度评测,C的速度为10^0。可以看出,Julia的运行时间基本是除了C之外最快的,有的算法甚至比C还要快。

安装Julia

Julia官网

现在已经出了1.0.3版本,直接现在安装即可,安装完成后打开julia,可看到如下的界面:

(Windows)

(MAC)

但我们写程序时如果只用REPL太蛋疼,调试也不方便,还需要Julia的运行工具:

下图是官方给出的Julia的Editor和IDE

在我们的教程中,会给出下面三种方式的安装教程:

  • Julia Pro(基于Atom,算是比较正式的IDE了)
  • Jupyter notebook
  • vscode的Julia插件

Julia Pro安装

官网 下载之后直接安装即可,Julia Pro安装的内容比较全,基本算是Julia的全家桶了,Jupyter、REPL和基于Atom的IDE都有,目前最新的也是v1.0.2。装完之后即可直接使用。

vscode Julia插件

在vscode中安装Julia插件和Code Runner插件,在User Settings中设置

代码语言:javascript
复制
"julia.executablePath": "D:\\MyProgramFile\\Julia-1.0.0\\bin\\julia.exe"

完成Julia文件后,直接右键Run Code即可。 在MAC上的vscode上,还不支持Julia 1.0版本,因此还不能运行1.0的Julia。相信不久就会出来了,大家耐心等待。等出来了第一时间会在公众号“从数据分析到量化投资”里通知大家。

Jupyter note

  • 先安装Jupyter,对于已经安装过Anaconda的朋友来说,已经默认安装了jupyter
  • 运行Julia的REPL,按]键进入Pkg模式
  • 运行add IJulia,安装IJulia
  • 运行using IJulia,这时如果提示我们需要run Pkg.build("ZMQ")时,我们根据提示内容操作
  • 在julia模式下先导入Pkg,using Pkg,再运行Pkg.build("ZMQ"),这是时会自动下载安装GitHub上各种需要的文件,但经常会提示各种下载错误,需要我们根据提示的错误,找到相应的网址和文件,下载下来后放到提示的文件夹中,比如ZMQ.x86_64-w64-mingw32.tar.gz文件,放到~.julia\packages\ZMQ\ABGOx\deps\usr\downloads目录(~是\home目录,Windows上在C:\User\UserName下,MAC上在User\UserName下),再次运行Pkg.build("ZMQ");如果提示不止"ZMQ"这一个package,我们只需要根据提示安装所有下载失败的文件即可。
  • 在安装过程中可能会提示需要安装Windows Management Framework 3.0以上版本,我们也找到最新的版本安装即可
  • 如果报的error中,需要运行Pkg.build("IJUlia"),那我们运行前要先把jupyter.exe添加进来,运行ENV["JUPYTER"]=“D:\Anaconda3\Scripts\jupyter.exe"
  • 没有error后,运行using IJulia
  • 运行IJulia.notebook()即可打开支持1.0版本的Jupyter notebook

还有另外一种解决方案就是解决“根”上的问题:加速访问GitHub的速度。

这里给大家提供一个csdn上的参考方案

GitHub下载速度加速

mac上刷新dns:

sudo dscacheutil -flushcache

sudo killall -HUP mDNSResponder

say DNS cache flushed

当听到语音说:dns cache flushed,说明成功刷新了

大家可以根据自己的情况,选择适合自己的方案。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-11-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 傅里叶的猫 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Julia简介
  • 安装Julia
相关产品与服务
GPU 云服务器
GPU 云服务器(Cloud GPU Service,GPU)是提供 GPU 算力的弹性计算服务,具有超强的并行计算能力,作为 IaaS 层的尖兵利器,服务于生成式AI,自动驾驶,深度学习训练、科学计算、图形图像处理、视频编解码等场景。腾讯云随时提供触手可得的算力,有效缓解您的计算压力,提升业务效率与竞争力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档