极简Julia语言 │ Julia背后的原理

文章图片
介绍Julia语言相较其他编程语言的优势 。
1
Julia背后的原理
为了迎合新的技术 , 比如机器学习 , 你需要学习机器学习社区已经开始使用的语言 。 Julia是其中一种完美的语言 , 事实上 , 它是当前发展最快的编程语言之一 , 并且相较其他语言 , 如Python脚本语言(机器学习社区喜欢的一种语言),Julia具有很多优势 。
(1)性能 。 很长时间以来 , 性能一直是Python等语言的弱点 。 对于像机器学习这种需要极高性能的应用程序 , Julia会更合适一些 。 事实上 , Julia代码的运行速度可以和C代码一样快 , 有时甚至比C代码更快!像Python这样的语言 , 其性能表现不佳是有原因的:这些语言的构建是为了满足当时的时代和程序员的目标定位需求 。 在过去5年左右的时间里 , 我们看到了科学计算领域的指数级增长 。 尽管Python和C等语言在这个方向上有所帮助 , 但它们却不是实现新技术的最佳选择 。 与此相反 , Julia已经被开发用于创建以性能为主要因素的机器学习应用程序 。
(2)JIT编译 。 使用Julia , 你的程序可以被即时编译 。 这意味着 , 如果某些操作的运行速度比你实现它们的速度更快 , 那么Julia便会对这些操作进行优化 。
(3)与Python、C和FORTRAN的互操作 。 如果你已经编写了Python、C或FORTRAN代码 , 不想在Julia中重写 , 没有问题!你可以在Julia中调用这些代码 , 并且不用担心有任何麻烦 。
(4)开源和跨平台 。 如果你有一台Darwin(macOS)、Windows或UNIX派生的(Linux、BSD等)计算机 , 你就可以使用Julia!此外 , 如果你不喜欢Julia的某些功能 , 想要帮它变得更好 , 你还可以向Julia提出你的建议和想法 , 甚至给Julia直接编写代码 , 使它更符合个人习惯 。
还有更多的原因使Julia非常适合社区 。
Julia项目于2009年由四位创立者共同启动:StefanKarpinski、ViralShah、AlanEdelman和JeffBezanson 。 他们启动Julia的主要目标是通过创建一种兼具动态与性能的语言解决双语言问题(two-languageproblem) 。 例如 , 在过去 , 大部分程序员都会使用一种简单、动态的编程语言构建应用程序原型 , 如Python , 然后将其移植到C或其他高性能的低级语言中 , 使其足够健壮、足够快 。 这是一个巨大的问题 , 因为这需要程序员去学习更多的语言 , 投入更多的时间 , 并且会引入更多不期望的错误 , 这就是双语言问题 。
双语言问题还有另一方面——也就是说 , 大多数应用程序需要高性能 , 既需要使用Python这样的高级语言编写 , 也必须使用C这样的低级语言 。 这是因为简单的代码可以用Python编写 , 而计算密集的代码则必须用C语言编写 , 这就导致了另一个问题:两种语言之间的桥梁是一个瓶颈 。 你必须拥有一个团队 , 要么完全熟练地掌握使用两种语言 , 要么将Python端和C端分开 。 这两种解决方案的缺点都大于其优点 , 但这是唯一的解决方法 , 所以没有人会抱怨它 。
随着Julia的到来 , 其通过强大的编译器能够做一些其他语言只能梦想的事情 。 例如 , 当国家能源研究科学计算中心(NationalEnergyResearchScientificComputingCenter , NERSC)需要绘制可观测宇宙中的每一个大目标时 , 就采用了Julia编程语言 。 事实上 , Julia已成为世界上第一个实现超大规模性能的高级动态编程语言 。
这是什么意思?这意味着Julia同时在超过65万台计算机上运行 , 处理超过60TB的数据 , 相当于超过16.3万个高端的、2017年版的MacBook专业产品 。 通常 , 只有C语言 , 甚至直接的机器代码才能处理这种负载 。
- 近年来|算力就这么点,为了提升语言模型性能,谷歌想了个新点子论文链接
- 程序员|程序员的口味变了!C++首次逆袭JAVA:跻身最受欢迎编程语言TOP3
- c语言|三星S23核心参数确认,与国产处理器真不一样
- c语言|3999元起,小米13和MIUI 14正式发布,Ultra能力全面下放
- 华为鸿蒙系统|鸿蒙切换语言变安卓引争议,是不是“套壳安卓”重要吗?
- 软件|欧美国家要是禁止我们使用各种编程语言该怎么办?
- 华为鸿蒙系统|鸿蒙系统“套壳”被实锤?切换语言秒变安卓,网友:什么情况?
- 有没有从事外贸行业的小伙伴经常收到国外客人发送的外文文档呢?通常这些文档除了是外文语言外...|免费的pdf翻译器哪个好用?
- 当你们在给朋友解答一些问题的时候还是在用文字表达吗?中华语言博大精深|手机怎么录屏?教你几个简单的方法
- 我们经常在工作中会将一些文本进行多语言翻译|你知道文本翻译软件哪个好吗?
