Earlier quoted context omitted.
Very strange to have no GC as a innovative feature for a modern programming language. Personally I think Dlang get it right by making GC as a default and provide no GC as an optional feature. As a comparison, auto industry is moving toward fully automatic transmission especially for the EV but software industry is still undicided and seems cannot even come up with a robust GC mechanism that is on par with no GC in te…
Traditional GC isn’t less complex to program then automatic reference counting. Traditional GC has its place in short running extension languages, but in longer running programs you run the same risk of memory leaks as automatic reference counting since you can still over-retain from a poor ownership model. What goes wrong is slightly different, but with automatic reference counting it is easier for the compiler to f…
Mojo – a new programming language for AI developers
251–260 of 272 posts
Re: Mojo – a new programming language for AI developers
#252Earlier quoted context omitted.
Very strange to have no GC as a innovative feature for a modern programming language. Personally I think Dlang get it right by making GC as a default and provide no GC as an optional feature. As a comparison, auto industry is moving toward fully automatic transmission especially for the EV but software industry is still undicided and seems cannot even come up with a robust GC mechanism that is on par with no GC in te…
> Very strange to have no GC as a innovative feature for a modern programming language. It's because, first, there was manual memory management, which was error-prone. Then came garbage collection, which was safe but slow. Most recently came borrowing and move semantics, which offers the best of both worlds -- safety and speed -- at the cost of some (arguably justified) cognitive overhead and code flexibility.
So I absolutely don’t think of the borrow checker as superior to a GC, it’s a different tool with different tradeoffs. It was a good choice for a low-level language like Rust, but not necessarily for a high level language.
Re: Mojo – a new programming language for AI developers
#253This looks quite interesting with big names behind it. I'd love to see a comparison vs Julia though, which I think tried to tackle some of the same problems.
It is a little disappointing that they're setting the bar against vanilla Python in their comparisons. While I'm sure they have put massive engineering effort into their ML compiler, the demos they showed of matmul are not that impressive in an absolute sense; with the analogous Julia code, making use of [LoopVectorization.jl]( https://github.com/JuliaSIMD/LoopVectorization.jl ) to automatically choose good defaults…
Re: Mojo – a new programming language for AI developers
#254Re: Mojo – a new programming language for AI developers
#255Earlier quoted context omitted.
> a new performant language that can call Python don't forget the control layer/data layer separation principle. Performance mostly only matters at the data layer, and I don't believe that python ML really has a substantial problem with this, aside from not having a real distribution story. So "having a more performant python" doesn't really solve that much. I'll tell you what could make the control layer better. - n…
> control layer/data layer separation principle Could you explain or give references to what you exactly mean by this? I've heard of separation of concerns, but is this a specific realization of that principle?
Re: Mojo – a new programming language for AI developers
#256One of the biggest problems with Python is packaging, and one of the biggest problems with Python packaging is installing scientific computing modules that rely on C/C++/Fortran. Will Mojo attempt to address these problems?
Re: Mojo – a new programming language for AI developers
#257Is there a sample or tutorial that jumps right into typical examples of what's different or special about it? I tried to find such, but the docs get lost in syntax details and other minutia. I want the ADHD-meat-and-potatoes tutorial. Maybe that's asking too much, but I did it anyhow, as any ADHDer would.
> I want the ADHD-meat-and-potatoes tutorial. What does this mean?
Re: Mojo – a new programming language for AI developers
#258Re: Mojo – a new programming language for AI developers
#259Seems like it could be interesting ... Initial impression is that the animation of Mojo code vs. Python code has a bad UX. Why not just show the code side-by-side instead of animating it and making me click? Another obvious question is how is it different than Numba and so forth? https://docs.modular.com/mojo/why-mojo.html The Mojo language has lofty goals - we want full compatibility with the Python ecosystem, we wo…
> A major goal of Clang was to be a “compatible replacement” for GCC, MSVC and other existing compilers. It is hard to make a direct comparison, but the complexity of the Clang problem appears to be an order of magnitude bigger than implementing a compatible replacement for Python. The journey there gives good confidence we can do this right for the Python community Is it though? For Mojo to be a compatible replaceme…
Re: Mojo – a new programming language for AI developers
#260Earlier quoted context omitted.
Oh god I hope this is not a close source language. I have spent 10+ years fighting the MATLAB ecosystem, I prefer not to spend the next 10 years fighting this thing.
Matlab existed for a reason, and has since become irrelevant, in particular in the face of python being used as a more flexible open source scientific computing scripting language. If this is closed source, it's already as irrelevant as matlab so no reason to fight it. If there are useful bits there will be python versions of them.
So Python is often not a realistic alternative. This is where initiatives like Mojo come in. They will be at least an order of magnitude faster than Matlab again.
But if you want to get people to move from Matlab to a powerful Open-Source alternative: Julia has a syntax that is much closer to Matlab than Python's. I had good success to get colleagues to use Julia which wouldn't look at Python, because the syntax was too far out of their comfort zone.