# What Python Creator Guido van Rossum Thinks of Rust, Go, Julia, and TypeScript

**URL:** <https://discourse.julialang.org/t/what-python-creator-guido-van-rossum-thinks-of-rust-go-julia-and-typescript/61689>\
**Category:** Offtopic\
**Created:** [May 23, 2021, 6:02pm UTC](https://discourse.julialang.org/t/what-python-creator-guido-van-rossum-thinks-of-rust-go-julia-and-typescript/61689 "2021-05-23T18:02:44Z")\
**Posts on this page:** 20\
**Page:** 3

<div class="post-metadata">

**Author:** ![StatisticalMouse](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/statisticalmouse/32/43370_2.png) [@StatisticalMouse](https://discourse.julialang.org/u/StatisticalMouse)\
**Post date:** [May 24, 2021, 6:28pm UTC](https://discourse.julialang.org/t/what-python-creator-guido-van-rossum-thinks-of-rust-go-julia-and-typescript/61689/41 "2021-05-24T18:28:42Z")

</div>

> [@paulmelis](#):
>
> I have a similar background and similar experience with Julia. Can you pinpoint what in your estimation makes Julia harder to learn than other languages, say C++?

I believe I didn’t actually say that.

---

<div class="post-metadata">

**Author:** ![paulmelis](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/paulmelis/32/35063_2.png) [@paulmelis](https://discourse.julialang.org/u/paulmelis)\
**Post date:** [May 24, 2021, 6:31pm UTC](https://discourse.julialang.org/t/what-python-creator-guido-van-rossum-thinks-of-rust-go-julia-and-typescript/61689/42 "2021-05-24T18:31:14Z")

</div>

Huh, you’re right. Must have been the rest of the conversation so far that made me think that was the point you were making.

---

<div class="post-metadata">

**Author:** ![StatisticalMouse](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/statisticalmouse/32/43370_2.png) [@StatisticalMouse](https://discourse.julialang.org/u/StatisticalMouse)\
**Post date:** [May 24, 2021, 6:50pm UTC](https://discourse.julialang.org/t/what-python-creator-guido-van-rossum-thinks-of-rust-go-julia-and-typescript/61689/43 "2021-05-24T18:50:55Z")

</div>

> [@Wei\_Yang](#):
>
> If you are interested in knowing what kind of Julia topics appears on Zhizhu, here is a link  
> [https://www.zhihu.com/topic/19678370/newest](https://www.zhihu.com/topic/19678370/newest)

Some interesting sounding quotes translated by Google:

"作者：zhuobie  
链接：[https://www.zhihu.com/question/28772815/answer/1874134376](https://www.zhihu.com/question/28772815/answer/1874134376)  
来源：知乎  
著作权归作者所有。商业转载请联系作者获得授权，非商业转载请注明出处。

Regarding Julia, it does not shy away from its greed. It needs to be as fast as C/C++, as concise and rigorous as Python, as fast and easy to use as R, and as flexible and powerful as Perl. Its goal seems to be to rule the world. Julia does achieve a balance between simplicity, ease of use and performance, but it can never replace statically typed languages ​​such as C/C++ and Java, and its main performance is actually weakened by the Python framework. Although Python is slow, it The third-party framework used is implemented in C/C++. After all, most people don’t need to build wheels from scratch. On Julia Observer, the third place is a differential equation solver. For a general-purpose programming language, this is unpopular enough. Julia cannot achieve the goal of world domination. Its development direction is narrowing and specializing. For the realization of numerical calculations and high-performance algorithms, this is not a bad thing. Julia is developing and must always establish its own absolute advantage in the field. Nevertheless, given Julia’s late-mover advantage, it can be foreseen that it will still be able to steal part of the market from Python and R."

"作者：januarydesk  
链接：[对于科学计算，大家对新出来语言Julia怎么看，相比C、Python和Fortran有什么优势发展？ - 知乎](https://www.zhihu.com/question/391088022/answer/1877221616)  
来源：知乎  
著作权归作者所有。商业转载请联系作者获得授权，非商业转载请注明出处。

The language is a good language, but I feel that hype may be too strong in some places. I saw all sorts of Julia cultists on Twitter who actually didn’t understand the corresponding situation in Python and thought Julia didn’t know how high it went. After tearing up with one of them, it can be seen that the other party lacks a basic understanding of IPython’s capabilities, but this does not prevent him from making some secret and confident assertions. During the process, some believers have always praised the other party, and I didn’t like it and felt very annoying."

---

<div class="post-metadata">

**Author:** ![Wei\_Yang](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/wei_yang/32/23951_2.png) [@Wei\_Yang](https://discourse.julialang.org/u/Wei_Yang)\
**Post date:** [May 24, 2021, 6:55pm UTC](https://discourse.julialang.org/t/what-python-creator-guido-van-rossum-thinks-of-rust-go-julia-and-typescript/61689/44 "2021-05-24T18:55:38Z")

</div>

I’m impressed by Google Translator 😂 it has improved a lot, I remember 10 years ago, all I got from Google translation are nonsense.

> [@StatisticalMouse](#):
>
> and thought Julia didn’t know how high it went

the original statement is “though Julia is above all others” (something like that, not 100% accurate)

> [@StatisticalMouse](#):
>
> some believers have always praised the other party, and I didn’t like it and felt very annoying

the original is something like: " some believers constantly upvote him (the one the OP was arguing with), and I’m not receiving any upvotes, it is frustrating"

---

<div class="post-metadata">

**Author:** ![ToucheSir](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/touchesir/32/14411_2.png) [@ToucheSir](https://discourse.julialang.org/u/ToucheSir)\
**Post date:** [May 24, 2021, 6:58pm UTC](https://discourse.julialang.org/t/what-python-creator-guido-van-rossum-thinks-of-rust-go-julia-and-typescript/61689/45 "2021-05-24T18:58:57Z")

</div>

I’ll be a bit contrarian here and agree with the spirit of @ChenNingCong’s assessement. Though there are a large number of very experienced CS/software engineering people in the Julia community (as evidenced by projects like Catlab.jl and the dozens of compiler-related packages we have), there is also occasionally some ignorance of the programming language landscape on these public forums.

Let me be clear: this is fine. Even within PLT, I think you’ll find plenty of siloing and NIH when it comes to external ideas or languages. That said, there’s also value in not being too quick to the punch in putting down unfamiliar external concepts. Nobody wants to be part of a cargo cult!

> [@ChenNingCong](#):
>
> people in C++/Python community are much, much more experienced programmers than those in Julia. They receive professional CS education, so they already have deep understanding in OO world (I think most CS students have taken a course called “C++ Object-oriented programming”). Many C++ programmers know single dispatch by method table, memory allocation (constructor/destructor,smart pointer) and other underlying implementation details, to achieve the best performance.

My anecdotal experience is that (much like in Julia) there are at least two groups of C++ devs. One are the professionals that you mention, and the other are the engineers and other non-CS people who learn just enough to work on embedded or systems software. The latter group are probably a better comparison for the “scientists” group you mention (and probably contains a few too).

---

<div class="post-metadata">

**Author:** ![lmiq](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/lmiq/32/18314_2.png) [@lmiq](https://discourse.julialang.org/u/lmiq)\
**Post date:** [May 24, 2021, 7:02pm UTC](https://discourse.julialang.org/t/what-python-creator-guido-van-rossum-thinks-of-rust-go-julia-and-typescript/61689/46 "2021-05-24T19:02:15Z")

</div>

> [@StatisticalMouse](#):
>
> it can never replace statically typed languages ​​such as C/C++ and Java, and its main performance is actually weakened by the Python framework. Although Python is slow, it The third-party framework used is implemented in C/C++. After all, most people don’t need to build wheels from scratch.

I think these are key points:

1. Yes, it can achieve that performance. In many cases much easier than with those languages, in other cases less easier. That is problem-specific.

2. Indeed, most people don’t need to build things from scratch and all other ecosystems are not going anywhere. Interoperability is fundamental. But some people do need to build a lot of things from scratch, even if that means writing the objective function of a problem. And Julia is great for that.

But to “rule the world” Julia needs static libraries, that’s for sure.

---

<div class="post-metadata">

**Author:** ![StatisticalMouse](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/statisticalmouse/32/43370_2.png) [@StatisticalMouse](https://discourse.julialang.org/u/StatisticalMouse)\
**Post date:** [May 24, 2021, 7:21pm UTC](https://discourse.julialang.org/t/what-python-creator-guido-van-rossum-thinks-of-rust-go-julia-and-typescript/61689/47 "2021-05-24T19:21:30Z")

</div>

> [@Wei\_Yang](#):
>
> I’m impressed by Google Translator 😂 it has improved a lot, I remember 10 years ago, all I got from Google translation are nonsense.

It’s improved, but I would still say it’s not good enough. I can’t really trust the translated text. I can’t say for sure which part is a Google translation mistake, and which part is an opinion by someone that I might agree/disagree with.

---

<div class="post-metadata">

**Author:** ![StatisticalMouse](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/statisticalmouse/32/43370_2.png) [@StatisticalMouse](https://discourse.julialang.org/u/StatisticalMouse)\
**Post date:** [May 24, 2021, 7:22pm UTC](https://discourse.julialang.org/t/what-python-creator-guido-van-rossum-thinks-of-rust-go-julia-and-typescript/61689/48 "2021-05-24T19:22:59Z")

</div>

Apologies… 🤣

 ![5as3s1](https://global.discourse-cdn.com/julialang/original/3X/d/f/df72b042f8b6954b408745dbf7ae7a013bdd2810.jpeg)

---

<div class="post-metadata">

**Author:** ![ToucheSir](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/touchesir/32/14411_2.png) [@ToucheSir](https://discourse.julialang.org/u/ToucheSir)\
**Post date:** [May 24, 2021, 8:03pm UTC](https://discourse.julialang.org/t/what-python-creator-guido-van-rossum-thinks-of-rust-go-julia-and-typescript/61689/49 "2021-05-24T20:03:31Z")

</div>

And the following paragraphs are a surprisingly thoughtful breakdown of why nice-looking DSLs are mostly a distraction from the biggest selling point of Julia (modular, composable packages). Although I think the author is under-informed on Pkg (they seem to believe there’s no way to add a dependency on a git(hub) repo?), they’re generally positive and interested in the language.

The overarching theme of their post seems to be “before you claim superiority for language/library/framework X in Y, do your homework and properly acknowledge contemporary/prior art”. Which sounds more than reasonable.

Edit: I just realized the author is also a member on this forum (I’ll let them disclose their own identity), so at least in this instance there’s some crossover happening.

---

<div class="post-metadata">

**Author:** ![ChrisRackauckas](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chrisrackauckas/32/77_2.png) [@ChrisRackauckas](https://discourse.julialang.org/u/ChrisRackauckas)\
**Post date:** [May 24, 2021, 8:22pm UTC](https://discourse.julialang.org/t/what-python-creator-guido-van-rossum-thinks-of-rust-go-julia-and-typescript/61689/50 "2021-05-24T20:22:41Z")

</div>

> [@StatisticalMouse](#):
>
> On Julia Observer, the third place is a differential equation solver. For a general-purpose programming language, this is unpopular enough

Someday those general people will learn the beauty of differential equations.

---

<div class="post-metadata">

**Author:** ![jzr](https://avatars.discourse-cdn.com/v4/letter/j/eb9ed0/32.png) [@jzr](https://discourse.julialang.org/u/jzr)\
**Post date:** [May 24, 2021, 8:48pm UTC](https://discourse.julialang.org/t/what-python-creator-guido-van-rossum-thinks-of-rust-go-julia-and-typescript/61689/51 "2021-05-24T20:48:41Z")

</div>

> [@oheil](#):
>
> All these details about performance, how to achieve it, avoid memory allocations, 0/1 based indices, difference to python or C++, how to do OO (why should I?) and whatever, are just in the way of the bigger picture, which is: Julia is can be more productive by order of magnitude compared to C++/C/Java and on the same time compete in performance with C/Fortran. Productivity and Performance! That’s what everyone needs, the programmer and the user, and it’s what is meant, when we say, Julia solves the two language problem.

Not everybody needs the kind of performance that Julia offers, and many people need the kind that Julia doesn’t offer. It offers some kinds of productivity (fill in your favorite example) but not others (eg automatic refactoring).

~~People say~~ I’d say Julia solves “the” “two-language problem” by being suitable for both data-wrangling and numerical programming. But those domains don’t cover all (or even most) use cases of using Python with C++ (leaving aside other languages). There are many things that Julia is (currently) unsuitable for, and Python or C++ or Python-with-C++ is a better fit.

---

<div class="post-metadata">

**Author:** ![oheil](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/oheil/32/220745_2.png) [@oheil](https://discourse.julialang.org/u/oheil)\
**Post date:** [May 24, 2021, 9:27pm UTC](https://discourse.julialang.org/t/what-python-creator-guido-van-rossum-thinks-of-rust-go-julia-and-typescript/61689/52 "2021-05-24T21:27:46Z")

</div>

> [@jzr](#):
>
> People say Julia solves “the” “two-language problem” by being suitable for both data-wrangling and numerical programming.

Nobody says that. This is not the two-language-problem. This isn’t even a problem, not in julia.

---

<div class="post-metadata">

**Author:** ![oheil](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/oheil/32/220745_2.png) [@oheil](https://discourse.julialang.org/u/oheil)\
**Post date:** [May 24, 2021, 9:28pm UTC](https://discourse.julialang.org/t/what-python-creator-guido-van-rossum-thinks-of-rust-go-julia-and-typescript/61689/53 "2021-05-24T21:28:25Z")

</div>

> [@jzr](#):
>
> There are many things that Julia is (currently) unsuitable for, and Python or C++ or Python-with-C++ is a better fit.

And nobody denies that. This is currently still true somehow.

---

<div class="post-metadata">

**Author:** ![oheil](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/oheil/32/220745_2.png) [@oheil](https://discourse.julialang.org/u/oheil)\
**Post date:** [May 24, 2021, 9:31pm UTC](https://discourse.julialang.org/t/what-python-creator-guido-van-rossum-thinks-of-rust-go-julia-and-typescript/61689/54 "2021-05-24T21:31:31Z")

</div>

And really nobody at all ever said that Julia is superior or anything similar. People start to making things up and than argue against it.

---

<div class="post-metadata">

**Author:** ![jzr](https://avatars.discourse-cdn.com/v4/letter/j/eb9ed0/32.png) [@jzr](https://discourse.julialang.org/u/jzr)\
**Post date:** [May 24, 2021, 9:34pm UTC](https://discourse.julialang.org/t/what-python-creator-guido-van-rossum-thinks-of-rust-go-julia-and-typescript/61689/55 "2021-05-24T21:34:20Z")

</div>

Maybe I’m misinformed. What is the two-language problem?

---

<div class="post-metadata">

**Author:** ![oheil](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/oheil/32/220745_2.png) [@oheil](https://discourse.julialang.org/u/oheil)\
**Post date:** [May 24, 2021, 9:35pm UTC](https://discourse.julialang.org/t/what-python-creator-guido-van-rossum-thinks-of-rust-go-julia-and-typescript/61689/56 "2021-05-24T21:35:15Z")

</div>

> [@jzr](#):
>
> Not everybody needs the kind of performance that Julia offers, and many people need the kind that Julia doesn’t offer.

This doesn’t make sense to me. What kind of performance do people need that Julia doesn’t offer?  
And of what kind of performance are you talking? How many kinds of performance do you know of?

---

<div class="post-metadata">

**Author:** ![jzr](https://avatars.discourse-cdn.com/v4/letter/j/eb9ed0/32.png) [@jzr](https://discourse.julialang.org/u/jzr)\
**Post date:** [May 24, 2021, 9:37pm UTC](https://discourse.julialang.org/t/what-python-creator-guido-van-rossum-thinks-of-rust-go-julia-and-typescript/61689/57 "2021-05-24T21:37:52Z")

</div>

> [@oheil](#):
>
> And of what kind of performance are you talking? How many kinds of performance do you know of?

Some examples would be startup time (difficult under JAOT), or maintaining low latencies (difficult under Julia’s GC implementation).

---

<div class="post-metadata">

**Author:** ![oheil](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/oheil/32/220745_2.png) [@oheil](https://discourse.julialang.org/u/oheil)\
**Post date:** [May 24, 2021, 9:38pm UTC](https://discourse.julialang.org/t/what-python-creator-guido-van-rossum-thinks-of-rust-go-julia-and-typescript/61689/58 "2021-05-24T21:38:42Z")

</div>

> [@jzr](#):
>
> Maybe I’m misinformed. What is the two-language problem?

The two language problem is, that python and R (e.g.) are just wrapper languages around performant C libraries. (this is short and not fair to python and R). So whenever you miss some functionality in one of those libraries you are lost or you go deep into C.

---

<div class="post-metadata">

**Author:** ![Oscar\_Smith](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/oscar_smith/32/25343_2.png) [@Oscar\_Smith](https://discourse.julialang.org/u/Oscar_Smith)\
**Post date:** [May 24, 2021, 9:39pm UTC](https://discourse.julialang.org/t/what-python-creator-guido-van-rossum-thinks-of-rust-go-julia-and-typescript/61689/59 "2021-05-24T21:39:55Z")

</div>

The 2 language problem is the ability to write fast high level code. Specifically, a common workflow is to write a prototype in a high level language like python or matlab, and then translate it into C++ or Fortran when you actually run it so it will be fast enough. The promise with Julia is that you can write code as quickly and easily as a high level language, but optimize it to perform as well as the low level language without completely rewriting everything.

This means that the people doing exploratory analysis (often scientists or other non primary CS people) can work on the real system, and you don’t need an entire parallel implementation to actually use.

---

<div class="post-metadata">

**Author:** ![oheil](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/oheil/32/220745_2.png) [@oheil](https://discourse.julialang.org/u/oheil)\
**Post date:** [May 24, 2021, 9:42pm UTC](https://discourse.julialang.org/t/what-python-creator-guido-van-rossum-thinks-of-rust-go-julia-and-typescript/61689/60 "2021-05-24T21:42:56Z")

</div>

> [@jzr](#):
>
> Some examples would be startup time (difficult under JAOT), or maintaining low latencies (difficult under Julia’s GC implementation).

So people would like to have great startup times but slow motion code after a rocket like start up? Well, sure, there are use cases for this. No, lets stop this here, I stop it for me, because I am not argueing any more on a good level. Never mind, at the end, it’s all about taste and what people like more. Python, Julia, R, C++, C, Rust, Go, the are all great and I am happy that we have the choice.

[Previous page](https://discourse.julialang.org/t/what-python-creator-guido-van-rossum-thinks-of-rust-go-julia-and-typescript/61689.md?page=2)

[Next page](https://discourse.julialang.org/t/what-python-creator-guido-van-rossum-thinks-of-rust-go-julia-and-typescript/61689.md?page=4)
