@@billigbastard2233they did, but every company do lie and they can just as well say: "Yea, we dont want to open source it anymore" and go the oracle route. so its not really worth putting a single minute in it until that little chance of them pulling the no-u is resolved.
@@StinkyCatFarts again, its practically unusable. what if the company behinds it decide to drop it completely. I cannot maintain it, because its not open source, this i would have to rewrite the project in any other language from scratch.
20:40 you are wrong here. it's clear in the error message to put inside try block because you did not added types before and not everything is "+" addable to everything. you could used def in fn after adding types as ints are addable .
Why don't they just open source it like every other language? If it's as good as they say it is, people will adopt it and it will eventually become the new default. They've bragged about its speed and capabilities, so they should put up or shut up. All of this talk about how awesome it is combined with their unwillingess to open source it makes me think they're hiding something.
The main library was opened recently, they are committed it just takes time. I also wonder what the SaaS thing. I am just learning about the language but there is a component called max. Maybe that is what they will be monetising? 20:16
To be fair, you could say that about any language given how many features rust has. This 'rust downgrade' however is supposed to have access to python ecosystem, so it still might be worthwhile.
It has more control over how to manage your data than Rust ... > Similar to Rust, Mojo's borrow checker enforces the exclusivity of invariants. The major difference between Rust and Mojo is that Mojo does not require a sigil on the caller side to pass by borrow. Also, Mojo is more efficient when passing small values, and Rust defaults to moving values instead of passing them around by borrow. These policy and syntax decisions allow Mojo to provide an easier-to-use programming model. > The answer is that the Mojo compiler uses dataflow analysis and type annotations to provide full control over value copies, aliasing of references, and mutation control. These features are similar in many ways to features in the Rust language, but they work somewhat differently in order to make Mojo easier to learn, and they integrate better into the Python ecosystem without requiring a massive annotation burden. > Small values like `Int`, `Float`, and `SIMD` are passed directly in machine registers instead of through an extra indirection (this is because they are declared with the [`@register_passable` decorator](#register_passable-struct-decorator)). This is a [significant performance enhancement](www.forrestthewoods.com/blog/should-small-rust-structs-be-passed-by-copy-or-by-borrow/) when compared to languages like C++ and Rust, and moves this optimization from every call site to being declarative on a type.
Except no one actually makes things in Rust that make a lot of money yet whereas improving the speed in Python is improving the speed of massive amounts of the actual working code in software and hardware around the world for over a billion people. Making Python faster could literally improve the velocity of scientific discovery, Rust not so much.
@@luckerooni1153 there's plenty of production software in rust already, so that argument probably doesn't hold. Rust is used in AWS, MS and for many microservoces in other companies (Discord comes to mind). Ofc there's more python, but Mojo doesn't magically make python faster and if I'm not mistaken it runs regular python code through regular python interpreter and to get it to run faster you'd have to use mojo native structures. If making python faster was that easy, someone would do that for python but you need programmers to provide more context so compiler can make some assumptions.
i'm disappointed because there is no curly braces exist. Because of that it's not fit for big projects, making a big project with it will be quite messier than any other language or pattern . Why you don't just make it compatible with python and more like javascript or even php or go?
Maybe they'll make their sdk "modular" enough that one could write a front end (a language with braces) to their IR layers. Having written a toy language without braces before, this is incidentally why their REPL is weird, re adding an extra line break, as without that extra, as i found to my chagrin, it becomes a right mess to get right.
Let see if they really manage to make it a superset of python ...
Do you mind sharing the editor setup? I love the theme and minimal look 😊
still not open source = still not a real language.
Havent they promised this?
@@billigbastard2233they did, but every company do lie and they can just as well say: "Yea, we dont want to open source it anymore" and go the oracle route.
so its not really worth putting a single minute in it until that little chance of them pulling the no-u is resolved.
@@billigbastard2233nearly every project that hand waives towards opening later fails to deliver. Trust them when they deliver, not before
You’ve never contributed to a single opensource project, ever. 😂
@@StinkyCatFarts again, its practically unusable. what if the company behinds it decide to drop it completely. I cannot maintain it, because its not open source, this i would have to rewrite the project in any other language from scratch.
20:40 you are wrong here.
it's clear in the error message to put inside try block because you did not added types before and not everything is "+" addable to everything.
you could used def in fn after adding types as ints are addable .
BTW, I found this cool little thing called PIJUL, think Git but built-in RUST
Very simple & easy-to-scale & FOSS
(I can't post any links here cuz YT)
Why don't they just open source it like every other language? If it's as good as they say it is, people will adopt it and it will eventually become the new default. They've bragged about its speed and capabilities, so they should put up or shut up. All of this talk about how awesome it is combined with their unwillingess to open source it makes me think they're hiding something.
Because they to selling it as SaaS
They are planning to open source it. When that will be is tbd.
The main library was opened recently, they are committed it just takes time. I also wonder what the SaaS thing. I am just learning about the language but there is a component called max. Maybe that is what they will be monetising? 20:16
@@sebas11tianexactly. The max engine is their main product. They won’t open source that, but that’s not the language so we’re fine
mojo will release soon in windows
18:23 could be solved by
fn main() raises:
I prefer Nim.
downgrade version of rust
To be fair, you could say that about any language given how many features rust has. This 'rust downgrade' however is supposed to have access to python ecosystem, so it still might be worthwhile.
It has more control over how to manage your data than Rust ...
> Similar to Rust, Mojo's borrow checker enforces the exclusivity of invariants.
The major difference between Rust and Mojo is that Mojo does not require a
sigil on the caller side to pass by borrow. Also, Mojo is more efficient when
passing small values, and Rust defaults to moving values instead of passing
them around by borrow. These policy and syntax decisions allow Mojo to provide
an easier-to-use programming model.
> The answer is that the Mojo compiler uses dataflow analysis and type
annotations to provide full control over value copies, aliasing of references,
and mutation control. These features are similar in many ways to features in
the Rust language, but they work somewhat differently in order to make
Mojo easier to learn, and they integrate better into the Python ecosystem
without requiring a massive annotation burden.
> Small values like `Int`, `Float`, and `SIMD` are passed directly in machine
registers instead of through an extra indirection (this is because they are
declared with the [`@register_passable`
decorator](#register_passable-struct-decorator)). This is a [significant
performance
enhancement](www.forrestthewoods.com/blog/should-small-rust-structs-be-passed-by-copy-or-by-borrow/)
when compared to languages like C++ and Rust, and moves this optimization from
every call site to being declarative on a type.
Except no one actually makes things in Rust that make a lot of money yet whereas improving the speed in Python is improving the speed of massive amounts of the actual working code in software and hardware around the world for over a billion people. Making Python faster could literally improve the velocity of scientific discovery, Rust not so much.
@@luckerooni1153 there's plenty of production software in rust already, so that argument probably doesn't hold. Rust is used in AWS, MS and for many microservoces in other companies (Discord comes to mind). Ofc there's more python, but Mojo doesn't magically make python faster and if I'm not mistaken it runs regular python code through regular python interpreter and to get it to run faster you'd have to use mojo native structures. If making python faster was that easy, someone would do that for python but you need programmers to provide more context so compiler can make some assumptions.
@NoxyYT this language is sold for the AI community so comparing it to Rust is nonsensical.
i'm disappointed because there is no curly braces exist. Because of that it's not fit for big projects, making a big project with it will be quite messier than any other language or pattern . Why you don't just make it compatible with python and more like javascript or even php or go?
Yea why don't they just do that? It's so easy smdh
because i couldn't be bothered typing them and gods saw that and made jeremy howard remove brackets when was making mojo
Maybe they'll make their sdk "modular" enough that one could write a front end (a language with braces) to their IR layers.
Having written a toy language without braces before, this is incidentally why their REPL is weird, re adding an extra line break, as without that extra, as i found to my chagrin, it becomes a right mess to get right.