Julia和python一样,都是跨平台开源语言,而且都是动态语言,所以毫无疑问,需要运行时支撑。很简单,到官网去下载julia(https://julialang.org/downloads/)。和python一样,有多个操作系统版本,这里我们下载julia-1.7.1-win64版本。安装很简单,不多说。要注意的是把Add Julia to PATH打上勾,不然后面要手动去环境变量里面加。看下图,就明白了:

安装完后,windows桌面上会生成julia的快捷方式图标,双击图标,据会打开jula自带的基于shell的开发环境,这点和python也极为相似。Python的shell开发环境叫IDLE(Integrated Development and Learning Environment),直译过来的意思就是集成开发与学习环境。而julia的shell开发环境叫REPL(Read Eval Print Loop),意思就是“读取”-“运算”-“打印/输出”—“循环”,然后你们看到的就是这个样子的:

只不过,python的IDLE功能要多一些。其实两者都差不多,都是类似于一种聊天方式的编程模式。专业点的说法,就是书写和运行代码段。

好了,我们安装完了,来看看永远的“hello world”怎么写。Python是这样的:

而julia是这样的:

学过java的同学应该对println不陌生,就是输出结果并换一行。

工欲善其事必先利其器。如果仅仅依靠REPL环境写代码,颇有点捉襟见肘,我们需要配置一个高级点的开发环境。Julia官网推荐了以下工具:

Julia 团队,曾经力推基于 Atom 的 Juno IDE,但目前已表示弃坑,全面投奔 VSCode。我们知道,vscode是通过插件来兼容多语言编程的,所以,julia也不例外。当然也很简单,打开vscode,去扩展商店里面搜索“julia”和“Julia Formatter”扩展,安装就行。然后去设置里面根据需求进行参数配置,也可以直接在setting.json里面手写配置。

手写大致如下:

{

"julia.deleteJuliaCovFiles": true,

"julia.completionmode": "qualify",

"julia.editor": "code",

"julia.enableCrashReporter": false,

"julia.enableTelemetry": false,

"julia.execution.codeInREPL": true,

"julia.execution.resultType": "both",

"julia.focusPlotNavigator": true,

"julia.lint.missingrefs": "symbols",

"julia.symbolCacheDownload": false,

"juliaFormatter.alignConditional": true,

"juliaFormatter.alignPairArrow": true,

"juliaFormatter.alignStructField": true,

"juliaFormatter.removeExtraNewlines": true

}

好了,下面我们正式开始依葫芦画瓢对比python学julia编程了。我们会以一个个有趣的Python程序实例,转换为julia程序,并对其中涉及到的julia基础知识进行讲解。

对比python学julia(第一章)--(第二节)似曾相识燕归来的更多相关文章

  1. tensorflow2.0学习笔记第一章第二节

    1.2常用函数 本节目标:掌握在建立和操作神经网络过程中常用的函数 # 常用函数 import tensorflow as tf import numpy as np # 强制Tensor的数据类型转 ...

  2. ASP.NET自定义控件组件开发 第一章 第二篇 接着待续

    原文:ASP.NET自定义控件组件开发 第一章 第二篇 接着待续 ASP.NET自定义控件组件开发 第一章 第二篇 接着待续 很感谢大家给我的第一篇ASP.NET控件开发的支持!在写这些之前,我也看了 ...

  3. Ionic 入门与实战之第二章第二节:Ionic 环境搭建之 Ionic Lab 使用

    原文发表于我的技术博客 本文是「Ionic 入门与实战」系列连载的第二章第二节,主要对 Ionic Lab 工具作了介绍,并讲解了其使用方法,这也是一个开发 Ionic 比较好的调试工具. 原文发表于 ...

  4. 通过游戏学python 3.6 第一季 第二章 实例项目 猜数字游戏--核心代码--猜测次数 可复制直接使用 娱乐 可封装 函数

      猜数字游戏--核心代码--猜测次数   #猜数字--核心代码--猜测次数 number=33 amount=3 count=0 while count<=amount: conversion ...

  5. 路飞学城-Python爬虫集训-第一章

    自学Python的时候看了不少老男孩的视频,一直欠老男孩一个会员,现在99元爬虫集训果断参与. 非常喜欢Alex和武Sir的课,技术能力超强,当然讲着讲着就开起车来也说明他俩开车的技术也超级强! 以上 ...

  6. python全栈第一章

    第一章 Python基础变量定义规则:1.变量名只能是字母数字或者下划线的任意组合2.变量名的第一个字符不能是数字3.关键字不能申明为变量名定义方式:1.驼峰体AgeOfSzp2.下划线隔开Age_o ...

  7. CSS3秘笈复习:第一章&第二章&第三章

    第一章: 1.<cite>标签不仅可以将网页设置为斜体,还能给标题做上标记,使它便于被搜索引擎搜索到. 第二章: 1.import指令链接样式表: CSS本身有一种添加外部样式的方法:@i ...

  8. Practical Vim 第一章 & 第二章

    第一章:Vim 解决问题的方式 前言 本质上讲,我们的工作是重复性的.凡是可以简化重复性操作的方式,都会成倍地节省我们的时间. Vim 对重复性操作进行了优化.它之所以能高效地重复,是因为它会记录我们 ...

  9. Linux第一章第二章学习笔记

    第一章 Linux内核简介 1.1 Unix的历史 它是现存操作系统中最强大最优秀的系统. 设计简洁,在发布时提供原代码. 所有东西都被当做文件对待. Unix的内核和其他相关软件是用C语言编写而成的 ...

  10. Linux内核设计与实现 第一章 第二章

    第一章 Linux内核简介 Unix特点: (1)     Unix很简洁,仅仅提供几个几百个系统调用并且有一个非常明确的设计目的 (2)     在Unix中,所有的东西都被当作文件对待,通过一套相 ...

随机推荐

  1. NOIP模拟65

    T1 网格图 解题思路 60pts 就是个zz做法..(我考场上造了一个 \(500\times 500\) 的 X,一看挺快,就以为 \(n^4\) 可以切,然而..) 正解有一点难度,对于每一个节 ...

  2. Java第一次blog

    7-1 答题判题程序-1 前言 这些题目主要用到对象与类的处理: 对象是现实世界或抽象概念中的实体在计算机程序中的表示. 类则是具有相同属性和方法的对象的集合,是创建对象的模板.通过类,我们可以定义一 ...

  3. 太卷了,史上最简单的监控系统 catpaw 简介

    指标监控的痛点 当下比较流行的监控系统,比如 Prometheus.Nightingale.VictoriaMetrics,都是基于数值型指标的监控系统,这类监控系统的痛点在于:告警的时候只能拿到异常 ...

  4. ftl生成模板并从前台下载

    1.生成模板的工具类 package com.jesims.busfundcallnew.util; import freemarker.template.Configuration; import ...

  5. Vue 打包相关

    Vue 打包相关 vue-cli-service build# 用法:vue-cli-service build [options] [entry|pattern] 选项: --mode 指定环境模式 ...

  6. parsel的使用

    介绍 parsel这个库可以解析HTML和XML,并支持使用XPath和CSS选择器对内容进行提取和修改,同时还融合了正则表达式的提取功能.parsel灵活强大,同时也是Python最流行的爬虫框架的 ...

  7. CF1320D Reachable Strings

    110和011互相转化,相当于就是0在连续两个1的情况下,移动两个位置 能够发现,0的位置的奇偶不会改变,且很多个0之间的相对位置不会改变 猜想考虑这个答案只跟0的奇偶性有关,下面小证一下:(注意下面 ...

  8. Mysql 使用(二)

    1 启动: 2 net start mysql 3 4 进入: 5 mysql -uroot -pmysql 6 7 显示数据库: 8 show databases; 9 10 使用数据库: 11 u ...

  9. VSCode因网络问题导致下载更新/扩展出错

    VSCode因网络问题导致下载更新/扩展出错 可尝试方法:   问题0: VSCode出现网络问题排查方法?       法1: 启动时加上选项 --log-net-log=netlog.json   ...

  10. 集成学习与随机森林(四)Boosting与Stacking

    Boosting Boosting(原先称为hypothesis boosting),指的是能够将多个弱学习器结合在一起的任何集成方法.对于大部分boosting方法来说,它们常规的做法是:按顺序训练 ...