Skip Navigation

InitialsDiceBearhttps://github.com/dicebear/dicebearhttps://creativecommons.org/publicdomain/zero/1.0/„Initials” (https://github.com/dicebear/dicebear) by „DiceBear”, licensed under „CC0 1.0” (https://creativecommons.org/publicdomain/zero/1.0/)EP
Posts
89
Comments
4,194
Joined
5 yr. ago

  • Well, I think your idea would be simpler, if we weren't talking about Java.
    Pretty much everything is an object in Java. It's only logical that a type would also be an object and have associated fields.

    Similarly, what you're thinking of as "reference types directly" doesn't make sense in Java, because it lacks many of the systems to make that actually usable like a type. What you get from .class is a Class object, which you can't stick into a generic type parameter, for example.
    It basically uses reflection to give you e.g. the name of that type and you can also instantiate an object of that type, if no parameters need to be passed to the constructor function.

    And then, yeah, I think for explaining that you merely get an object which roughly describes the type, the separate .class field is a good idea.

  • I figured, I'd ruffle some feathers by saying that. 😅
    But yeah, I stand by my point. Just because your target users are capable of dealing with complexity, doesn't mean you should be making use of that rather than simplifying usability, since your users have plenty other things they could be learning instead.

    I will caveat that I can see it becoming worth it to learn an intricate logic for a power user, when things fall into place and make sense at a higher level as you learn more about it.
    But in my experience, that's just not the case with package managers. You need a few specific commands to be obvious and then the special cases can be obscure flags.

  • Arch's package manager is pretty terrible.

    Here's two commands. See if you can guess what they might do:

     sh
        
    pacman -S package_name
    pacman -Syu
    
      

    I believe, there's some sort of logic to the letters, but man, most users seriously do not care. They just want to install, update and remove packages 99% of the time, so they shouldn't need to learn that intricate logic for three commands.
    I guess, you could use pkcon to do that instead, but that doesn't really help new users...

  • Well, it also avoids running instantiation code, which could be doing all kinds of things. In theory, it could have a side-effect which modifies some of your application state or issues a log statement or whatever.

    Even if it doesn't do anything wild right now, someone could change that in the future, so avoiding running such code when it's not needed is generally a good idea.

  • I don't believe there is much deeper of an explanation than "because the Java designers didn't implement support for that".

    That feature is called "types as a first-class value" and you need to implement some special casing or an entire system in the language to make it work. Telling devs there's a special static variable .class is conceptually simpler to implement and understand.

  • Well, the thing is, if you're developing a library, you usually do so, because you want it to be useful to people in the ecosystem.
    By putting it under the GPL, you limit that usefulness to only those projects which are willing to also put themselves under the GPL. From an idealist point of view, I certainly also would like to say that people not willing to put their software under GPL don't need to be my users. But from a library author point of view, I might as well not write a library then, since no one's going to use it then.

    Many open-source projects are under a permissive license themselves. I might disagree with their choice, but I don't really want to exclude those from using my library. They're still doing good things. I would love to exclude specifically any proprietary software from using my library, but that's not really something you can require in your license without excluding all those permissive open-source projects.

    So, to answer your question, I actually don't think people are being tricked into it. I thought about choosing GPL for my libraries for a while (all my applications are under GPL) and decided against it. Which is a personal choice that others can disagree with, but all I'm saying is, I know what I'm doing, I wasn't tricked to use a permissive license.

  • I always thought that was just a me-thing. People will be like "Oh it looks so realistic", which a) I consider a bad thing, like I'm seeing reality plenty times already, why would I want more of that? But also b) no, it does not? Even the games with the biggest budgets continue to have NPCs that look as stiff as if they're three days dead. I'd say "with a puppeteer's hand up their rear" since they do move their mouths, but frankly, even puppets move around more than NPCs do.

  • Well, yeah, ray-tracing is actually a lot simpler to implement, because you just implement things the way physics works and then that works in most situations as you'd expect (i.e. how physics works).

    All the lighting techniques we used in the past were just faking lighting in ever more intricate ways. Computationally much less intensive ways, which is why we bothered with them in the first place, but it's genuinely quite a bit of work.
    There's some ways to optimize ray-tracing itself (e.g. pre-bake the lighting into scenes), but many times it's also a matter of mixing ray-tracing and more traditional lighting techniques, which brings in that additional work again.

    Which is then why it'll be done less and less, the better hardware becomes. Because if publishers can sell to a wide audience without putting in that work, they absolutely will not put in that work.

  • Yeah, I just put my whole collection on shuffle and have come to appreciate the simplicity of that.

    I use this web music player at home, which only supports shuffle and because it's a web thing, I can't either use keyboard shortcuts to skip songs (without switching to that window).
    And I actually like that I can't distract myself with selecting just the right music. Because if I don't distract myself and just get into coding or whatever, I'll quickly stop noticing what precise music is playing.

  • Das Argument des Umweltschutzes mag vorgeschoben wirken, ist aber dadurch ja nicht falsch.

    Aber inwiefern soll es denn richtig sein? Den Karton hast du eh schon zu Hause liegen, dann kann man den doch auch nutzen. Kann gut sein, dass Amazon oder der Zulieferer das eh wieder entpackt, um alles zu prüfen und mit 'nem frischen Karton einzupacken, aber deswegen macht es das ja trotzdem noch nicht umweltfreundlicher, wenn stattdessen du den Karton entsorgst...?

  • Aber sind die Polymere auf pflanzlicher Basis dann auch Kunststoffpolymere bzw. schwer abbaubare Polymere? Wikipedia sagt mir, dass z.B. auch Cellulose ein Polymer ist, was vermutlich niemand als "Kunststoff" bezeichnen würde und sehr gut abbaubar ist.

  • Ich verstehe, dass Forschung nicht so funktioniert, aber nicht einmal der Versuch einer Erklärung? Sind die pflanzlichen Inhaltstoffe kontaminiert? Oder wird aus den pflanzlichen Inhaltsstoffen ebenfalls Plastik hergestellt? Oder, keine Ahnung, ist das Mikroplastik bereits im Speichel von Lisa, unabhängig davon was sie kaut?