julia 是什么

子凡 问答 2018-12-28 10:25:50 阅读(...)

Julia是一种高级通用动态编程语言,它最初是为了满足高性能数值分析和计算科学的需要而设计的,不需要分别编译速度快,也可用于客户端和服务器的Web用途、低级系统编程或用作规约语言。主要用于数值计算。

Julia 是一种高级通用动态编程语言,它最初是为了满足高性能数值分析和计算科学的需要而设计的,不需要分别编译速度快,也可用于客户端和服务器的 Web 用途、低级系统编程或用作规约语言。主要用于数值计算。

julialang

Julia 设计的独特之处包括,参数多态的类型系统,完全动态语言中的类型,以及它多分派的核心编程范型。它允许并发、并行和分布式计算,并直接调用 C 和 Fortran 库而不使用粘合代码。

Julia 拥有垃圾回收机制,使用及早求值,包含了用于浮点计算、线性代数、随机数生成和正则表达式匹配的高效库。有许多库可以使用,其中一些(如用于快速傅里叶变换的库)已经预先捆绑在 Julia 里。

julia 历史

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

julia 特点

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

评论交流

泪雪默认头像 请「登录」后参与评论
  1. 加载中..

相关推荐

  • Kali Linux

    Kali Linux是什么

    Kali Linux 是一款功能强大的 Linux 发行版,专注于渗透测试和网络安全。它提供了丰富的工具和功能,适用于安全专业人员、安全研究人员、学生和爱好者。无论是评估系统安全性、进行渗透测试还是学习安全技术,Kali Linux 都是一个理想的选择。
  • Apple Vision Pro

    Apple Vision Pro是什么

    Apple Vision Pro是一款混合现实(MR)头显,它将数字内容与你的物理空间无缝融合,只需使用眼睛、手和声音即可导航,并采用空间操作系统visionOS,让用户能够以一种感觉数字内容实际存在于他们的空间中的方式与数字内容进行交互。
  • unRAID

    Unraid OS是什么

    unRAID OS是一种专为储存解决方案而设计的操作系统。它通过独特的数据保护机制、灵活的存储扩展能力和简化的管理体验,为用户提供了可靠、灵活和易用的储存解决方案。无论是在家庭环境还是小型企业中,unRAID OS都能满足用户的储存需求,并提供可靠的数据保护和高度定制的功能。
  • TCP 协议 Transmission Control Protocol

    TCP是什么协议

    TCP是一种重要的传输层协议,负责提供可靠的数据传输和连接管理,它通过可靠性、高效性、全双工通信和广泛的应用等特点,成为互联网中最常用的传输协议之一。
  • DHCP 服务 dhcp service

    DHCP服务没有响应是什么原因

    DHCP服务没有响应可能是由于路由器、交换机或DHCP服务器本身的故障引起的;当网络中存在多个设备使用相同的IP地址时也会导致;还有DHCP服务器配置问题;以及防火墙或安全软件阻止DHCP请求;网络故障等原因导致的。
  • 路由器 Router

    路由器中的中继模式是什么意思

    路由器中继模式是指路由器在网络连接中起到中继的作用,能实现信号的中继和放大,从而延伸无线网络的覆盖范围。简单来说,路由器中继就是将两台以上无线路由器组合,实现信号的中继和放大,从而让无线网络传输覆盖范围更广。