![2029498ad659e04acf21f5cc6774ec1c.png](https://img-blog.csdnimg.cn/img_convert/2029498ad659e04acf21f5cc6774ec1c.png)
Julia或成Python劲敌
近日一个探讨引起了大家的注意:Which is best for data science?Julia or Python?
可以说,对于Python大家是非常熟悉的,是数据科学(Data Science)和机器学习(Machine Learning)的中流砥柱。
但Julia是何许人也?
![95c7d142caeac06424067e282ba97653.png](https://img-blog.csdnimg.cn/img_convert/95c7d142caeac06424067e282ba97653.png)
Julia是由麻省理工学院(MIT)的四人团队于2009年创建,并于2012年向公众公开的新兴动态编程语言。主要用于数据分析和统计计算,类似于统计中常用的R编程语言。
Julia的创建旨在解决Python和其他语言在科学计算和数据处理中的缺点。
四人团队曾在采访中提到:
“我们很贪婪。我们需要一种具有自由许可的开源语言。”
“我们想要C语言的速度和Ruby的动态性。”
“同时,我们需要一种具有同调性(Homoiconic)的语言,具有像Lisp这样的真实宏(Ture Macros),但又如MATLAB一样有熟悉的数字符号。”
“我们想要像Python一样适用于常规编程,像R一样易于统计,像Perl一样自然处理字符串,同时还像Shell一样将程序粘合在一起。”
“这将是一个简单易学的东西,同时也是交互式的(Interactive)、编译的(Compiled)。”
![81973ce0990449115b8929a8a11d8674.png](https://img-blog.csdnimg.cn/img_convert/81973ce0990449115b8929a8a11d8674.png)
众所周知,Python的数据分析功能成为其最强大最重要的能力,其生态系统中还加载了许多工具和应用程序,而这些使得科学计算和数据分析工作更加快速便捷。
而Julia的开发人员则将目标集中在科学计算(Scientific Computing)、机器学习(Machine Learning)、数据挖掘(Data Mining)、大规模线性代数(Large-scale liner algebra)、分布式(Distributed)和并行计算(Parallel Computing)中,进一步提高了执行速度。
对Julia而言,Python还不够快速和便捷。
![447e6c0d2fcade65a84bfc9dfee7e73e.png](https://img-blog.csdnimg.cn/img_convert/447e6c0d2fcade65a84bfc9dfee7e73e.png)
Julia如何实现自己的构想
Compiled 编译
为了提高运行性能,Julia经过了编译。开发人员使用LLVM编译器框架对Julia进行了实时的编译(Just-in-time JIT)。在最佳状态下,Julia可以接近或者匹配C的速度。
Interactive 互动
同时,Julia是互动的。Julia包含了一个REPL(Read-Eval-Print Loop 阅读评估打印循环)以及交互式命令行(interactive command line)——类似于Python提供的功能。而这使得Julia能够快速输入脚本和命令。
Straightforward syntax 简单明了的语法
Julia的语法类似于Python的语法,简洁却又富于表现力。
Combines the benefits of dynamic typing and static typing 动态键入和静态键入的结合
通过Julia,使用者可以为变量指定类型,例如“无符号的32位整数”等。同时,使用者也可以创建自己的特定类型的变量——如编写接受整数的函数,无需指定整数的长度或符号。
Call Python, C, and Fortran libraries 调用Python/C/Fortran库
Julia可以直接与C和Fortran编写的外部库交互。同时还可以通过Pycall库与Python代码进行交互。甚至可以在Python和Julia之间共享数据。
Supports metaprogramming 支持元编程
Julia可以生成其他Julia程序,甚至以类似于Lisp之类的语言来修改自己的代码,以适应不同人群的需求。
Has a full-featured debugger 具有功能齐全的调试器
Julia引用了调试套件,该套件可在本地REPL中执行代码,并允许使用者单步执行结果、检查变量、添加断点。使用者甚至可以执行由代码生成的函数等一系列Fine-Grained任务。
![8438b184aff862430074794146b3d4c8.png](https://img-blog.csdnimg.cn/img_convert/8438b184aff862430074794146b3d4c8.png)
![43757fc148bf32fb3748fb8e7b85d371.png](https://img-blog.csdnimg.cn/img_convert/43757fc148bf32fb3748fb8e7b85d371.png)
2019年底,在MIT Julia Lab推出了1.0版的一年后,Julia在TIOBE编程语言指数排名中上升显著,一度被称为“未来明星语言” “Python劲敌”。
而在刚刚过去的8月,Julia语言官网分享了其2020年用户及开发者调查的结果。本次调查的一个亮点是,有76%的受访者将Python作为Julia的首选替代语言,31%的人选了C++,将Matlab作为备选的同样占 31%。
![a52bc9321cfadd29cf5d76f40a2f96b6.png](https://img-blog.csdnimg.cn/img_convert/a52bc9321cfadd29cf5d76f40a2f96b6.png)
更新Tech Skills的重要性
尽管如今Python仍然是各大公司企业使用最广泛的程序,无论是从事编程、金融、财会、教育还是其他行业,都流行着学习Python。
Python的流行与他操作的简易性是分不开的,但同时这也体现了强劲的市场需求。
相比较R、MATLAB这一类专注于数学、统计的程序,又比如C、Ruby、Bash这种对于计算机语言基础要求较高的程序,大众急需一款能够满足各行各业应对繁琐工作的程序语言。
为什么非技术性的工作也需要更新自己的Tech Skill?
1. 简单的办公软件无法满足日益扩大的数据需求
在财务、金融、投资等部门的工作人员逐渐发现,Excel已经无法满足他们对于数据分析的需求。尽管Excel的表格功能相对还是强大的,但始终无法如专业数据分析程序那样能够更好的对大量数据进行处理,形成不同需求的表格。
Python的出现,让工作日益繁琐的金融界人士找到了门槛不高但足够高效进行数据处理的程序。如今的Julia也是如此。
2. Tech在工作生活中的占比增加
近两年,Tech的变更日新月异。从ERP、财务共享、财务中台再到财务机器人,我们一直处在被信息技术和人工智能取代的恐慌之中。
大家不断在探讨着FinTech和TechFin,而Tech+Industry更是一个绝对的趋势。在信息化的势头之下,若不想被科技的变革淘汰,便必须要顺应潮流,不断更新自己的Tech Skills。
3. Multi-Skills人才需求
如今,国际平台所需要的正是具有Multi-Skills的精英人才。这就意味着,金融财会人士将需要将自己独特的专业视角和业务理解能力利用数据分析来进行展示和解析,而计算机科学人才则需要进一步对商业模型、政策进行理解。
![d9277f5527aec416729c6e3b5ad21179.png](https://img-blog.csdnimg.cn/img_convert/d9277f5527aec416729c6e3b5ad21179.png)
![f702a13b51d9482ce067fedc3ba65b24.png](https://img-blog.csdnimg.cn/img_convert/f702a13b51d9482ce067fedc3ba65b24.png)
不断学习,不断成长
事实上,世界上并没有最好的语言和程序,有的只有最适合你未来职场开发场景的语言。
我们中国留学生,总喜欢将眼光看向目标和终点,渴望结果。但人生或许就是一个不断学习和成长的过程。
当我们走出校园的那一刻,既是终点,也是起点。
当我们拿到工作Offer的那一刻,既是终点,也是起点。
我们能做的便是挖掘未来的挑战和机遇,不断发现自己的潜力。
而这,也是Mandarin Consulting一直想做的。
对于国际留学生来说,在英求职绝对不是一件容易的事情,只有深入了解跨文化知识,让自己融入西方企业文化氛围,才能展现自我优势,为将来成为国际精英建造一个扎实的根基。Mandarin Consulting坚持采用纯西方职场资深高管导师,致力于帮助中国留学生在实践中学习如何与西方人进行轻松而有效地交流。学习如何在整个求职过程中展现热忱、求职动机、自信心、商业意识、 评判思维、独立思考能力以及核心个人能力。
点击,了解更多在英求职信息
![1012b1cdd6595dab95800c26426176ca.png](https://img-blog.csdnimg.cn/img_convert/1012b1cdd6595dab95800c26426176ca.png)