For the (niche) Python library that I co-develop, we use this for demo scripts that live in an example/ directory in our repo. These scripts will never be run in production, but it’s nice to allow users to try them out and get a feel for how the library works before committing to installing dependencies and setting up a virtual environment.
In other words, of course, in most long-term cases, it’s better to create a real project - this is the main uv flow for a reason. But there’s value in being able to easily specify requirements for quick one-off scripts.
> But the comment you're replying to doesn't say Java doesn't have any downsides
Yet it blames "hipsters" for throwing "it all in the garbage," implying that there was no rational reason for people to switch away from Java. Naturally, people respond by sharing their reasons.
It's probably unavoidable that people's memories will differ, but personally, as someone who worked with Java 10–15 years ago and then ran away as fast as he could, these are the things I remember most: the IDEs being awfully slow and unstable (though quite powerful for their time) and the language/ecosystem being painfully verbose and full of boilerplate and layers of indirection. I remember how, after switching away from Java, I felt elated by how easy and maintainable things could be when I was allowed to use simple, fast tools and write straightforward code that just did what it was supposed to do.
The translation above is really bad. It was probably supposed to be "shaping the narrative", not "shaking". In my opinion, this translation is much closer to the original:
"We had been contemplating leaving X for quite some time. We observed the growing presence of fake, troll accounts that increasingly steer the narrative on this platform. We saw that X not only fails to combat but actually promotes hateful and disinformation-driven posts."
Complaints range from too slow to hidden control flow to just not liking them.
I absolutely see the benefit in application code, otherwise you're error checking every function call.
On the other hand, I completely understand not using such a mechanism in kernel and driver code.
But Rust has decided against exceptions (which I actually believe were part of the original vision way back when, but please don't quote me), so now there's panics.
Simply hashing your data (using an established hashing algorithm/library combo) to later compare two hashes in order to check whether the data has changed doesn’t usually feel like rolling your own crypto.
Of course they fucked it up, as evidenced by their bad security incident. The only question is whether you can really chalk this particular one up to a problem with "rolling your own crypto." That mantra exists for a reason, but it doesn’t feel like it really applies this time. It seems more like they used established crypto—just not the right one for this particular use case.
I don't think anybody claims that it is not a flawed idea. From what I understand from this thread, people who use flags to represent languages fully acknowledge that it is a flawed idea - the problem is that they lack an alternative solution in some contexts (for example, those that require high information density).
I spent a year learning a language on Duolingo, and I both agree and disagree:
1. Yes, the fact that Duolingo uses techniques to get you hooked on the app isn't some dark secret. On the contrary, Duolingo is very open about it. This is their marketing strategy—they want people to believe that Duolingo will help them get addicted (or, more positively phrased, "form a habit") to something useful and worthwhile, rather than being addicted to scrolling through social media.
2. Unfortunately, Duolingo seems to focus only on the "addiction" part, neglecting the "learning" aspect. To put it bluntly, Duolingo is not very effective at actually enabling you to use (communicate in, understand) the language.
It was only after I switched from Duolingo to truly immersing myself in content in the language that I started to gain the skills that (pretty soon) allowed me to use the language in real life.
I agree Duolingo is not a substitute for more immersive learning or even just taking classes. It's especially not very ideal for the spoken parts of a language since it can't do the best job at judging your pronunciation and you're not going to spend a lot of time in the app having coherent conversations in another language. From my experience so far, it's good at teaching you the basics of a language so you can be just good enough at sounding like an idiot in front of your Brazilian friend.
That said, I have heard some people pairing it with HelloTalk to get that immersion piece. It's an app that lets you talk with others in the language you're trying to learn, and vice versa they too are trying to learn your language
In other words, of course, in most long-term cases, it’s better to create a real project - this is the main uv flow for a reason. But there’s value in being able to easily specify requirements for quick one-off scripts.