←back to thread

311 points melodyogonna | 9 comments | | HN request time: 0.219s | source | bottom
1. threeducks ◴[] No.45138284[source]
When I was young, I enjoyed messing around with new languages, but as time went on, I realized that there is really very little to be gained through new languages that can not be obtained through a new library, without the massive downside of throwing away most of the ecosystem due to incompatibility. Also, CuPy, Triton and Numba already exist right now and are somewhat mature, at least compared to Mojo.
replies(3): >>45138301 #>>45138354 #>>45138471 #
2. dwattttt ◴[] No.45138301[source]
If a learning a new language didn't change how you think about programming, it wasn't a language worth learning.
replies(2): >>45139655 #>>45149431 #
3. jakobnissen ◴[] No.45138354[source]
Usually people create languages to address issues that cannot be addressed by a library because they have different semantics on a deeper level.

Like, Rust could not be a C++ library, that does not make sense. Zig could not be a C library. Julia could not be a Python library.

There is some superficial level of abstraction where all programming languages do is interchangeable computation and therefore everything can be achieved in every language. But that superficial sameness doesn't correspond to the reality of programming.

replies(2): >>45138959 #>>45139815 #
4. ActionHank ◴[] No.45138471[source]
Would love to know which languages you learned that were so similar that you didn't gain much.

Just comparing for example c++, c#, and typescript. These are all c-like, have heavy MS influence, and despite that all have deeply different fundamentals, concepts, use cases, and goals.

replies(1): >>45139784 #
5. throwawaymaths ◴[] No.45138959[source]
famously people have tried to make erlang a library and failed twice by my count (erjang, ergo)
6. threeducks ◴[] No.45139655[source]
Learning new languages did change how I think about programming. For example, Clojure's immutability and functional nature had a strong influence on how I write my (mostly Python) code these days. I learned how to write efficient code for CPUs with C and C++, and for GPUs with CUDA and OpenCL. I learned math with Matlab and Octave, and declarative programming with Prolog.

With Mojo, on the other hand, I think a library (or improvements to an existing library) would have been a better approach. A new language needlessly forks the developer community and duplicates work. But I can see the monetary incentives that made the Mojo developers choose this path, so good for them.

7. threeducks ◴[] No.45139784[source]
I have learned a lot from other programming languages, but developing a new programming language and building an ecosystem around it is a huge amount of work. In the case of the Mojo programming language, it would have been more beneficial to the programming community as a whole if the developers had spent their time improving existing libraries instead of developing a new language.
8. threeducks ◴[] No.45139815[source]
I agree with your examples, but is there anything new that Mojo brings to the table that could not be achieved with a Python library?
9. gugagore ◴[] No.45149431[source]
"A language that doesn't affect the way you think about programming is not worth knowing." ― Alan J. Perlis