Live data from Hacker News

Mojo is available for local download

modular.com

81–90 of 193 posts

Re: Mojo is available for local download

#81
post #63

A rant. I apologize. I try to avoid on HN and in general. Faster, yes, but at what cost? I'm so impressed by the Python community, but I'll never quite understand why they gravitated to... Python itself. It's unbelievable to me that in Mojo's case some of the brightest, most famous engineers have gathered to do incredible computer science work to improve the compute performance of a language that is fundamentally fla…

What other scripting languages are even on the table as straight improvements to Python?

It seems like there are some potential candidates with improvements in dimension X, but nothing that is an obvious alternative.

Re: Mojo is available for local download

#82

It seems quite exciting and all but I cannot figure out why they choose to impress people with marketing posts like "it is a billion times faster, oh no it is actually a zillion times faster" while their actual potential user base is waiting for license issues to be clarified.

Yeah I believe the actual quoted figure was "35,000 times faster than Python". It's a silly metric either way.

Re: Mojo is available for local download

#83
post #54

Earlier quoted context omitted.

That’s an issue with your vim setup. You can absolutely navigate Python code in vim.

Got any recommendations? Also, I didn't say it was impossible to navigate, but it is cumbersome and annoying. Forced whitespace sucks.

emacs has a bunch of packages for treesitter based ast motions—might be worth seeing if vim has any analogues.

Re: Mojo is available for local download

#84

Why are people so enthused about Python syntax? Some problems off the top of my head: - The lack of new variable declaration keyword makes scopes less explicit. nonlocal is not simpler in the large than `let x = ...` - The lack of multi-line lambdas is very limiting for anyone coming from JS, C#, Rust, Kotlin... heck even Java - The ternary operator (... if ... else ...) is needlessly different for other mainstream l…

Yeah, I highly dislike working with python, everything is special syntax or different for no reason. In addition to what you mentioned: * try catch is different keywords from virtually all other languages. * walrus tusks, the general order in list comprehensions generally where bindings come after expression * typing is awful, unsound in a lot of cases, there’s a ton of special non straightforward plugins in mypy. Th…

> try catch is different keywords from virtually all other languages

Python : try/except/finally/else

C# : try/catch/finally (no equivalent of “else”)

VB.net : try/catch/finally (no equivalent of “else”)

JavaScript : try/catch/finally (no equivalent of “else”)

Java : try/catch/finally (no equivalent of “else”)

Ruby: begin/rescue/ensure (no equivalent of “else”)

C++: try/catch (no equivalent of “finally” or “else”)

Python’s try/except/finally/else seem to use nearly the same keywords as many other popular languages (Ruby is an oddball here, using similar semantics with different keywords), except that it uses “except” in place of “catch”, and “else” is a unique feature, and C++ lacks “finally”.

EDIT: The above has been edited throughout to correct an initial thinko that had Python using the common “catch” instead of “except”, which I really can’t explain because I've been wading throw Python exception handling code a lot recently.

Re: Mojo is available for local download

#85

Earlier quoted context omitted.

Python is slow, but it's not "invest time building software with a closed source language from a new company" slow.

I really do wonder who they're targeting as a paying customer. What dev/team is all of these things 1. Getting paid to work on ML to such an extent that perf is important (enough) 2. Comfortable leaving the warm confines of python and a huge ecosystem 3. Willing to learn a brand new, closed source, beta maturity language 4. Does inference on CPU 5. Willing to run their inference pipeline behind some FaaS layer becaus…

It seems like they're targeting AI chip start ups with the promise of a compiler framework that can integrate with a custom backend

Re: Mojo is available for local download

#86
I need a programming language that is integrated with blockchains and crypto coins, with quantum computing integrated as well as it being for AI and it has to be for writing running on the Edge serverless and databaseless with frameworks to fully support a decentralized solutions with and built in features switches to show which codeblocks are open source and which ones are proprietary. It must be strictly functional, not use too many (()) with dynamic stating typing and it must support google scale from the start and make it impossible to create anything that doesn't require K8, and most of all it must be even more AI

Re: Mojo is available for local download

#87

It seems quite exciting and all but I cannot figure out why they choose to impress people with marketing posts like "it is a billion times faster, oh no it is actually a zillion times faster" while their actual potential user base is waiting for license issues to be clarified.

Yeah I believe the actual quoted figure was "35,000 times faster than Python". It's a silly metric either way.

They have recently published a blog series which started with 35,000x and ended with 68,000x [1]. The thing is anyone familiar with performance sensitive code is not looking at Python vs the other thing. They are looking for whether or not it is in the ballpark of C, Julia, Cython, Numba, etc. Those are the contenders, not Python.

[1] https://www.modular.com/blog/mojo-a-journey-to-68-000x-speed...

Re: Mojo is available for local download

#88

Why are people so enthused about Python syntax? Some problems off the top of my head: - The lack of new variable declaration keyword makes scopes less explicit. nonlocal is not simpler in the large than `let x = ...` - The lack of multi-line lambdas is very limiting for anyone coming from JS, C#, Rust, Kotlin... heck even Java - The ternary operator (... if ... else ...) is needlessly different for other mainstream l…

Yeah it was pretty good in the Python 2 era but definitely not something to copy now. Another big issue is that it's not expression based. For example you can't do `foo = (yield a).b` you have to do `x = yield a; foo = x.b`. Having a special syntax for the expression version of if else is another example as you said. I was disappointed to discover Dart made the same mistake there. There's a totally different syntax f…

The fact python is statement-heavy to me shows that it was originally conceived in another age. It is really annoying after you use expression oriented languages

Re: Mojo is available for local download

#89

Earlier quoted context omitted.

Yeah, I highly dislike working with python, everything is special syntax or different for no reason. In addition to what you mentioned: * try catch is different keywords from virtually all other languages. * walrus tusks, the general order in list comprehensions generally where bindings come after expression * typing is awful, unsound in a lot of cases, there’s a ton of special non straightforward plugins in mypy. Th…

> try catch is different keywords from virtually all other languages Python : try/except/finally/else C# : try/catch/finally (no equivalent of “else”) VB.net : try/catch/finally (no equivalent of “else”) JavaScript : try/catch/finally (no equivalent of “else”) Java : try/catch/finally (no equivalent of “else”) Ruby: begin/rescue/ensure (no equivalent of “else”) C++: try/catch (no equivalent of “finally” or “else”) Py…

Python uses try/except and instead of throw uses raise.

Re: Mojo is available for local download

#90

Earlier quoted context omitted.

Yeah, I highly dislike working with python, everything is special syntax or different for no reason. In addition to what you mentioned: * try catch is different keywords from virtually all other languages. * walrus tusks, the general order in list comprehensions generally where bindings come after expression * typing is awful, unsound in a lot of cases, there’s a ton of special non straightforward plugins in mypy. Th…

> try catch is different keywords from virtually all other languages Python : try/except/finally/else C# : try/catch/finally (no equivalent of “else”) VB.net : try/catch/finally (no equivalent of “else”) JavaScript : try/catch/finally (no equivalent of “else”) Java : try/catch/finally (no equivalent of “else”) Ruby: begin/rescue/ensure (no equivalent of “else”) C++: try/catch (no equivalent of “finally” or “else”) Py…

Python is try/except, not try/catch. I don't think it matters in the least that it's different, but it is different.
Post reply on HN