• 0 Posts
  • 34 Comments
Joined 4 months ago
cake
Cake day: May 16th, 2024

help-circle



  • I’ve found working with Rust and Bevy to be quite pleasant. If you’re used to working with ECS, I suggest you at least give it a go.
    Rust is as functional as C++ 20 with ranges and views is, which is to say it isn’t. Not sure where you got that impression from, but while it does borrow some ideas from functional languages, it’s still very much a procedural one.

    Zig doesn’t have headers, nor inheritance. Again, not sure where you got that from, but Zig is basically a modern C, so there’s no OOP anywhere, let alone multiple inheritance.

    As for what to use, I think they’re both viable alternatives. I lean more towards Rust, but that’s just due to familiarity. Odin also looks like a viable option, if you don’t mind a smaller ecosystem.
    If you want a garbage collected language, then I’d go for C#. Despite its historic reputation as a Windows only language, it’s been cross platform and open source for roughly a decade at this point. I find it great to work with.


  • I get the mistake. Wouldn’t even call it one tbh, just an oversight. But when someone points it out normally one doesn’t reply with “don’t force your political views onto me” as if non male devs was some weird “woke” concept. A simple “whoops, missed that” would have been perfectly fine and everyone would’ve moved on. With that said, having followed the whole debacle I can say it could have been handled better by both sides.


  • The problem was more the fact that the devs viewed using anything other than ‘he’ as political, not the presence of gendered language itself. The devs themselves made a big deal about changing it. The way I see it, it’s not even about trans people. How about just women? Is including women in software developent considered political? One would hope not, but here we are…




  • Oh my god look at how big this Java project is before I compile it, what a nightmare!!1!1!1!

    When shipping to customers, all code is your responsibility, dependency or otherwise. A bug or a security vulnerability, which aren’t rare in the JS ecosystem, is your responsibility whether you wrote the code or not. Customers don’t care if someone else wrote it, it’s your product, you are to blame. Thus, the less code, the better. Less moving parts also means more stability in general.

    the most popular language and the most successful cross platform development platform in the entire history of programming

    But no, I’m sure it’s the millions of successful developers and users who are wrong.

    People can be successful with things that aren’t perfect. It’s often a matter of being the first, not being the best. Something can be popular and still not be good, momentum is hard to stop. If JS’s own creator saying so in the last few years can’t convince you of that, I don’t know what will. Flash at one point was the most popular. It was still flawed, and a liability, but I bet that doesn’t hurt you as much to hear.

    Everything is shit but you amirite?

    Quite the contrary. I have flaws like everybody else, but at least I don’t deflect every single criticism of stuff I like because in can’t fathom it not being perfect. It’s fine, use it. Maybe one day you’ll find a platform that’ll make you realize there’s better stuff out there.

    But I’m done arguing with you. I should have known by the tone of your first reply that this wasn’t going to be a real discussion, just you being butthurt because someone said something negative about your favourite language. Go get butthurt somewhere else.





  • Is there something I’m missing here? Why would you expect to be able to do bitwise operations on floats and get a sensible value? And if you want to do integer bitwise operations… you still can? Just use integer values and the bitwise operators?

    No that’s my point. You can’t, because there’s no such thing as an integer value. It’s all floats, always. They get casted to integers, the binary operation is done, then they get converted back to floats. That’s a lossy process, so some binary operations with certain values are simply not possible and you get weird results. The max width of an integer you can store is 53 bits, the maximum addressable width is 32 bits for binary operations. That’s wonky.

    This is patently false. JS has sets, maps, etc…

    Ah yes I forgot sets. But I don’t think there’s anything else? Last time I checked there were no binary trees, no proper (ring buffer) queues, no ordered sets, but I may be wrong on that. It’s not enough imo for a proper standard library.

    For everything else:

    My point is that JS is an okay scripting language for the web. As I said, for that it’s perfectly fine, though the frameworks are often lacking imo. But there is this tendency to use it to create backends, desktop applications and tooling. That’s where the language falls apart, because it’s not made for that. It needs to be more robust, well defined and fully featured to be used in those contexts, both in terms of JS itself, and its standard library. Same with TS.

    You seem to be confused about what JS is. It’s a high-level interpreted language. It’s not C.

    I know and that’s the point. It’s underspecified for things outside the web, so it’s terrible for those use-cases. You can make it work for Node, but not for Bun or any other runtime. And even then, the experience is acceptable at best.

    I personally would never use it for such use-cases, but people keep touting it and TS as these amazing general purpose languages you can do anything in. You can, but you really shouldn’t.


  • That’s what people with skill issues tend to say.

    Not that’s what people who can recognize genuine architectural defects and aren’t blind fanboys say.

    You apparently still bitch and whine like a rookie.

    Only to your eyes since apparently pointing out genuine problems is whining. It’s okay for people not to like the stuff you like. And no, using a few swear words for emphasis doesn’t make someone immature, nor does listing what one has worked with for context.

    You learned how to write == in every other language, but you can’t figure out === in typescript?

    …you still haven’t realised that === is not what I have a problem with have you? It’s literally a non issue. In fact, equality in general is a non issue. It’s the wonky standard library, lack of proper support for binary operations, serialization and almost everything being an afterthought that I have a problem with. Does it prevent me from using the language and write proper, stable software? No. But it’s not good.

    you install a whole web browser alongside operating system shims into your project

    Except that amounts to a mere ~180_000 lines of the 3 million. Did a plain create-react-app without Electron, still over 3 million.

    Now, since it’s impossible to have a genuine conversation if the other party’s response is “haha you suck” to any genuine, documented criticism, are you gonna grow up or are you gonna keep acting like an offended 13 year old who can’t find a better retort?



  • Anything that isn’t plain web browser stuff.

    You can’t write files without Node specific APIs.
    You can’t even do proper bitwise operations because everything’s a float.
    Binary serialization is a pain and proper deserialization in general is not enforced, even in TypeScript, because types are an illusion.
    Up until recently there were no synchronization primitives, though now the idea of having them in JS seems terrifying.
    There are no other data structures than arrays and maps, which are often not enough.

    It’s just not a language I’d use for anything more than… well… Scripting. But even though other, better solutions exist for cross platform development, people insist on using JS, so here we are.



  • I had to go back to working with React just recently. I’m technically using TS, but the standard library is the same anyways. It hardly has everything imo.
    It does have what it needs to interface with the browser, and quite a few -sometimes poorly thought out- facilities, but not much more.

    Don’t get me wrong, for a web scripting language it’s plenty, but if one wants to use JS for stuff that isn’t just putting a simple page on a screen, that’s not enough.

    Maybe you mean Node instead of JS?


  • It definitely isn’t in some circumstances.
    Frankly I’d put C/C++ in a similar category when it comes to compilation.
    Dealing with Make, CMake, linkage and all that can be a nightmare.
    The ecosystem is a little bit better though in my opinion. If nothing else you get a proper standard library and don’t have to rely on thousands of dependencies to get anything done… or you often roll your own if you are in C… which is meh.

    I find Rust, C#, Go and anything slightly more modern to be a great or at least good experience.
    Python as well if you use venv and your runtime and package versions align.

    My point is, there is no perfect platform and ecosystem, but the web is generally regarded as one of the poorest.
    I’m not saying someone can’t enjoy working on web stuff, they most certainly can. But it is objectively overcomplicated.


  • You seem to confuse “people making mistakes” with “a language that is designed in such a way that those mistakes are not only common, but integral part of the experience.”

    I’m not saying I make such mistakes, I say the design is crap. It’s not a skill issue, it’s a design issue. People say null pointers were a mistake. I’m inclined to agree. Not because I get a null pointer exception every five minutes, but because there are better ways to handle cases like that.

    You said I was a rookie, I proved you wrong.
    You said there was nothing crazy about web application complexity, I provided you with a common, glaring example. There’s nothing unhinged in saying “look I installed Electron and React and not my project has 3 million lines of crap I have to worry about”.
    Everything else was just emphasis for the sake of it.

    But when you don’t have a valid argument, you resort to personal attacks. Maybe it’s you that should learn to be better.