I’d recommend everyone check out https://prql-lang.org/. It’s SQL, but readable and writable in a sane way.
And no, SQL is NOT readable or writable for anything involving more than a single join.
SQL is horrible as a language to read or write. There’s a million different variants, because it lacks so many basic things. And when used in other code, you generally end up string concatinating one language in another language, with all the HORRIBLE bugs something like that brings about.
Imagine Backend People said we should just write adhoc Javascript for the frontend by concatinating the “correct” code in the backend.
Ironically, I learned Rust first, and later looked at Go. I found a lot of the syntax needlessly “different”. That being said, it’s still a decent language. Point being, a lot of the weirdness subsides once you understand why it’s there.
Personally, I don’t actually care about the lifecycle and memory management stuff. What I like about Rust is:
Why learn Rust? For the same reason everyone should learn different languages. To learn new concepts and see new perspectives on old problems. It’ll make you a better developer even in your previous languages.
Compiler checked typing is strictly superior to dynamic typing. Any criticism of it is either ignorance, only applicable to older languages or a temporarily missing feature from the current languages.
Using dynamic languages is understandable for a lot of language “external” reasons, just that I really feel like there’s no good argument for it.
For bigger projects, anything with MANDATORY types is a must for me. Optional, not compiler checked hinting doesn’t cut it.
Not that i hate the language, but I do hate the tooling around it. I don’t think I’ve ever had a pleasant experience with setting up a Python project. And all the data stuff is just wrappers for code in other languages, making the packaging story even uglier, even harder.
In my experience it HEAVILY depends on the language you’re using. Nothing beats Intellij for Java or Kotlin, but Rust and Go feel at home in any editor.
I know that LSPs and DAPs somewhat take care of these, but the following are often easier in IDEs:
What do you gain from that approach, compared to comments, and appropriate whitespace? If you spread out your function over three, you now potentially have triple the moving parts. You have to manage in- and output, and you have to hope noone coming after you sees your subfunction, and assumes it’s there for using.
We used to have a Python guy at my work. For a lot of LITTLE ETL stuff he created Python projects. In two projects I’ve had to fix up now, he used different tooling. Both those toolings have failed me (Poetry, Conda). I ended up using our CI/CD pipeline code to run my local stuff, because I could not get those things to work.
For comparison, it took me roughly zero seconds to start working on an old Go project.
Python was built in an era where space was expensive and it was only used for small, universal scripts. In that context, having all packages be “system-wide” made sense. All the virtual env shenanigans won’t ever fix that.
PHP the language has become pretty nice, but I recently had to work with a PHP CMS deployment, and it was an absolute pain to do. PHP frameworks seem to still exist in a world where you manually upload code to a manually configured server running apache. Dockerizing the CMS (uses Symfony) is/was an absolute pain.
Honestly, Immortals: Fenyx Rising was superior to Breath of the Wild in every way (for me at least). The world wasn’t “stretched” in size needlessly, “shrines” integrated directly into the overworld, instead of being seperate, the collectibles were sometimes fun (compared to Koroks, which were always bad), there were far more interesting characters and side quests, the world was more alive, the combat was better (if we ignore BotWs weird physics stuff, which has fuckall to do with an action RPG), exploration had an actual point, because you might actually find something nice that doesn’t break five swings in, the story was superior, and the humor was great (to me).
TL;DR: Ubisoft cancels a sequel to their best game in some time, no suprise here.
While I understand the idea behind using CSS “correctly”, I have, in my 15 years of professional experience, never ever seen even one project where the hypothetical promises of CSS were actually realized. It ALWAYS ends up with a fuckton of importants, or hunting for ages for the one class fifteen levels of abstraction up that changes your one element, coming up with more and more absurd class names, until they are literally no different from just some random name. Tailwind might seem horrible in a theoretical sense, but in an actually using it sense it’s a heaven sent. I want to change the padding on THIS ONE SINGLE ELEMENT, I change it EXACTLY RIGHT THERE where the element is defined, and i can be absolutely sure that I haven’t accidentally cascaded someone else’s work to death.
#CSS, in practice, is the insane idea of every single element on your website sharing global, mutable state, and thinking that’s in anyway smart.
I often find mechanics that only exist to waste time incredibly annoying. In the case of loot, a limited inventory is kind of that. You could absolutely just portal/teleport to town, sell your stuff, and then get back to playing. There’s no challenge involved, EXCEPT that it wastes your real-world time.
I liked the pets in Torchlight for this reason. You could send them off to sell loot, while you kept playing the part of the game that’s actually fun.
One exception is something like Resident Evil, where the choice is relevant to the gameplay directly. But even then, I would’ve preferred limits on individual elements (Only X weapons, only X healing items, etc.) and having extras automatically stored.
But some people play them with just a Dance pad. Doesn’t that, by your logic, mean they are too easy? Shouldn’t they be even harder? Maybe they’d be even more famous. The point is that difficulty is relative, therefore there OBJECTIVELY isn’t a correct difficulty. You’re just lucky enough to fit into their “difficulty demographic”.
But it’s moot anyway. Games with easy modes will still get played with high difficulty by people that actually enjoy it. Your own enjoyment of a game should not depend on other peoples difficulty levels.
This is one big reason why I liked Fenyx way better than Breath of the Wild. The Fenyx world is far smaller, but also more dense with actually interesting things to do. You have a horse in both, but the distances in BotW are still just pointlessly big, esp. when 90% of the things you can find are just the same two things: shrines and koroks.
I personally find the most important part of those choices isn’t the actual effect, but whether the game managed to immerse me enough so that I care.
For example, in Life is Strange, there’s a string of choices you can make that will get someone killed (or save them). The game invests enough time in the character before hand so when you come to the crossroads, the decisions FEEL very important. Do those choices have any big effects on the game? Not really. The character isn’t part of the main story line anymore after that, you only get some people referencing the difference. But if FELT important.
Think about the polar opposite: Choices that change the entire game, but you aren’t invested in. Would those be interesting choices, or would that just be 2 games in the form of one, and the choice is just a kind of “game select screen”.
While I don’t mind openworld games, they definitely feel off, esp. with regards to the main quest. Can’t save the world, gotta get this granny laid.
One of the only games with a open world that actually REQUIRED it for the game to make sense is Paradise Killers. It’s a detective open world game on an island. The open world makes a lot of sense, because a detective has to find their clues. It’s not a detective game if there’s a counter of “clues found” or there’s a linear progression. The game never tells you that you’re done finding clues. Like a real detective in a real open world, you have to decide whether you’ve seen enough.
As someone that unironically wants to rewrite everything in Rust, but does Java for a living, Go started off horrible, but has become OK. Especially for that sweet spot between “too big for a shell/python script”, but “not big enough to need perfect type checking/advanced tooling”, Go is decent. I recently clobbered together a CLI tool for a customer that does some custom stuff involving S3 files. I disagree with it’s biggest fans that it’s really simple. Some of the syntax seems very weird, the error handling (while better than exceptions) is still extremely tedious and weak.
Honestly, the fact that the creators thought they knew better than EVERYONE ELSE that they didn’t need generics, and argued against it FOR YEARS, just to finally add them now tells me everything I need to know about how they think of their users, and about whether they react in a timely and reasonable manner to needs of the community.
For reference, I found a tool that does what I’m looking for: https://github.com/guumaster/hostctl
Is a VPN even worth it for that use case? A seedbox won’t cost that much more, esp. if you factor in electricity costs from keeping your machine running. And getting to 1.0 seed ratio is also much easier.