感觉只有学过c++的才觉得julia简单

很多人说Julia语法简单,但是个人从matlab过来的,感觉就很难

是不是只有学过c++的才会觉得julia简单?好像julia里的很多语法有c++的影子?

1 个赞

虽然 Julia 的编程流程是类似于 Python 或者 MATLAB 这种动态交互式,但是 Julia 本质上还是一个编译型语言,因此掌握好 Julia 依然要求你去了解一些编译型语言的基本概念。

例如:我们需要理解为什么 1 != [1] 以及

f(x::Int) = x + 3
f(3.0)

无法 work.

更进一步地,写出高性能的 Julia 代码需要了解类型稳定的概念。这些都是因为 Julia 是一门编译型语言的原因。


我们可以换一个角度来理解这个现象:不是因为 Julia 比 MATLAB 难学,而是因为 Julia 给了你更多的可能性(例如,你几乎很难在纯 MATLAB 中去将代码性能优化到令人满意的程度),而为了驾驭这些高级的可能性,你需要了解更多的关于编译或者操作系统相关的知识。这些知识恰好是那些好的 C++ 程序员所熟知的东西,而这些知识对于那些初级的 C++ 程序员来说也依然不属于简单这一范畴。

3 个赞

谢谢!

话说以前学c语言的时候,我就不明白为什么 1 != [1]。matlab里这二者是一样的

我相信很多人会跟我一样觉得[1] != 1是自然的,相等反而会觉得有点奇怪

我是 R + Python → Julia 这样过来的。
可能因为很多问题本来 R/Python 已经形成了一定的数据结构的认知(而且之前搞得时候很强调开发规范)。
所以 Julia 这门语言比较 R 和 Python 起来到能干活的层面是不难的,甚至很多都差不多;
但是中级层面就开始曲线上来了,静态,以及静态和 Missing 混合的时候就能搞起来了……
(曾经被 DataFrame 的 Missing 调整整得昏过去)