4 ms·
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 languag
by threeducks 1y ago
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.
- dwattttt 1y agoIf a learning a new language didn't change how you think about programming, it wasn't a language worth learning.
- threeducks 1y agoLearning 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.
- gugagore 1y ago"A language that doesn't affect the way you think about programming is not worth knowing." ― Alan J. Perlis
- jakobnissen 1y agoUsually 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.
- throwawaymaths 1y agofamously people have tried to make erlang a library and failed twice by my count (erjang, ergo)
- threeducks 1y agoI agree with your examples, but is there anything new that Mojo brings to the table that could not be achieved with a Python library?
- ActionHank 1y agoWould 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.
- threeducks 1y agoI 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.