Earlier quoted context omitted.
Go made a great decision to namespace packages via this Github style.
How is this a good decision? You have to alias packages when names collide
Was Rust Worth It?
271–280 of 736 posts
Re: Was Rust Worth It?
#272Earlier quoted context omitted.
There's a secret effort in the Rust community to supplant Crates.io and create an entirely new package ecosystem with proper namespacing, security, and much better community. Not naming names, but I know several people working to put Crates.io out to pasture. There's a level of playing nice with them for the time being (eg. build reproducibility), but it's only KTLO. Crates.io needs to die for Rust to thrive. They're…
I find this interersting as most namespacing solutions would need the cargo team involved and I've heard nothing about this.
use::bar; // changing to
use::foo::bar;
I assume the library names that can be overridden in cargo would still be accepted, and then it all gets a little messy. The transition would be very messy.
Re: Was Rust Worth It?
#273Earlier quoted context omitted.
Is this a joke?
Having tried Java and other languages, no, it's not a joke. Other than XML Maven got a lot of things right.
It took some iterations before maven 3 became "good", so people forget that it wasn't as nice before now! Unfortunately, it seems that the lessons learned there is never really disseminated to other ecosystems - perhaps due to prejudice against "enterprisey" java. Yet, these package managers are now facing the sorts of problems solved in java.
Re: Was Rust Worth It?
#274Earlier quoted context omitted.
Yeah those are terrible responses. Tokio monoculture is a serious problem.
On the supposed "monoculture": First, I have to wonder whether any of this can be legitimately elevated to the level of a "culture." Right now, according to GitHub "insights," tokio-rs has approximately 2.0 regular, every day contributors. And that's the most widely used Rust async runtime. Everything else is likely even more thin. Second, Tokio has a lot of share because it was early and aggressive in actually deliv…
I've at least thought-experimented with what it would take to write my own code agnostic enough that it could run on both e.g. tokio and e.g. monoio etc. and, well, it just can't happen. Even if you find neutral/unbundled implementations of locks, channels, utilities, to depend on instead, you end up stuck at: task spawning, and any kind of I/O. The former, to me, is a glaring absence from the language standard; async should not have gone out the door without support for it.
Re: Was Rust Worth It?
#275Earlier quoted context omitted.
I'm not trying to shame you, but how long have you been coding? I've not yet had the urge to ask an AI for coding help, ever. The questions that are decoupled enough from a field/project that it might be able to answer seem trivial and easy just to search on. Plus, I'm way more trusting of a Stack Overflow post or even a blog post than what AI generates. I mean, AI hallucinates all the time or generates things that a…
I'm pretty shocked by the grandparent, but on reflection, I think this is the future. In The Grapes of Wrath , Steinbeck writes about the travails of a family's trip to California in search of work during the Great Depression in the 1930s. Tom Joad, the father, fixes the compression in his blown engine by wrapping a copper wire around the cylinder, then running the motor until it melts and recreates the seal. It's su…
Re: Was Rust Worth It?
#276Earlier quoted context omitted.
I'm honestly astounded at how badly many languages have implemented dependency management, particularly when Java basically got this right almost 20 years ago (Maven) and others have made the mistakes that Java fixed. With Maven you get: 1. Flexible version (of requirements) specification; 2. Yes, source code had domain names in packages but that came from Java and you can technically separate that in the dependency…
> Later comes along Go. No dependency management at the start. There ended up being two ways of specifying dependencies. At least one included putting github.io/username/package into your code. That username changes and all your code has to change. Awful design. "github.io/username/package" is using a domain name, just like Java. Changing the username part is like changing the domain name--I don't see how this is any…
Not only that, but a commercial, for-profit domain that actively reads all the code stored on it to train an AI. Owned and run by one of the worst opponents of the OS community in the history of computing.
At least move to Gitlab if you must store your project on someone else's domain.
Re: Was Rust Worth It?
#277Earlier quoted context omitted.
I'm not trying to shame you, but how long have you been coding? I've not yet had the urge to ask an AI for coding help, ever. The questions that are decoupled enough from a field/project that it might be able to answer seem trivial and easy just to search on. Plus, I'm way more trusting of a Stack Overflow post or even a blog post than what AI generates. I mean, AI hallucinates all the time or generates things that a…
I'm not trying to shame you, but how long have you been coding? You're not using the tools available to make you a better and more productive programmer? If you're not using AI as part of your daily workflow you are burning time and money and not maximising your potential. If I was your team lead I'd give you a warning, same as I would if you didn't use an IDE or source control. Being ignorant of programming producti…
I'm not averse to new tools at all, but I've yet to see where I would want copilot or chatgpt. The problems I work on daily, like most professional devs, are very specific to how I adapt a large proprietary codebase to do new things to fit specific business requirements, or working with designers and project managers to figure out how we should solve these intricate problems together. AI can't help with that. It'd take a 20 page prompt for it to roughly understand the business even.
It can help with toy problems like how to write a well known algorithm, but given that these are well known algorithms and it's basically just copying from open source repo's (with scary legal ambiguity), it's of little use to what I actually do day to day.
I'm amused that as a lead you'd "give me a warning ". I've literally never worked with a lead or manager that cares what tools people use, only that the work is good. Actually, if anything a lot of workplaces are asking people to seek approval before using AI, because of the many thorny issues (copyright being one of many)
(BTW, I do use chat gpt, just not for coding. It's useful for creative tasks or summaries. I still google what it says because it does make shit up)
Re: Was Rust Worth It?
#278I wrote a lot of rust, but after some years it still feels unproductive. I do a lot of zig now and I am like 10 times more productive with it. I can just concentrate on what I want to code and I never have to wonder what tool or what library to use. I know rust gives memory safety and how important that is, but the ergonomic is really bad. Every time I write some rust I feel limited. I always have to search libraries…
Re: Was Rust Worth It?
#279Earlier quoted context omitted.
> "We're pretending security is not an issue." has been the feedback every time this is raised with the Cargo team. Literally nobody has said this. > The attitude of "Rust is memory-safe, so we don't need any other form of security." is not a good one. Fortunately it's an attitude that nobody in the Rust project has!
> Literally nobody has said this. I know of a few people, personally, who have said this.
Because it seems like the people who are working on the project aren’t saying that.
Re: Was Rust Worth It?
#280Earlier quoted context omitted.
NPM added namespaces in version 2, which was released in Sep 2014, just 2 months before cargo was announced. I don't remember anyone making a big deal about using scopes in NPM for several years after that, it was just there as an option. The announcement blog post of v2 only gives two paragraphs to scoped packages and explicitly frames the feature as being for enterprises and private modules [0]: > The most prominen…
The left pad issue was kind of wild coming from the enterprise Java space. Supply chain attacks against open source software were already being taken pretty seriously, my last company had it's own Maven repository manager running that was used to stage and vet packages before they could be used in production.
That crates.io launched without explicitly acknowledging this whole problem is either naivety or worse: already by then Java wasn't "cool" and the "cool kids" were not paying attention to what happened over there.
It's not that the industry wasn't paying attention until the 'left pad incident' -- that only holds if one's definition of "the industry" is "full stack developers" under the age of 30; I remember when that happened and I was working in a shop full of Java devs and we all laughed at it...
Maven's biggest problem was being caked in XML. In other respects it was very well thought out. That and it arrived at the tail-end of the period in which Java was "cool" to work in.