Announcement

Collapse
No announcement yet.

GNOME 3 Might Be Too Resource Hungry To Ever Run Nicely On The Raspberry Pi

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Originally posted by cynical View Post
    I'm saying that if you could have the performance of C and a quality end product without having to deal with memory management, it would be preferable not to do memory management.
    Yeah but that's not going to happen. "performance of C" means literally that, of course, not "20% slower is fine" or whatever arbitrary factor (also memory consumption and load time and other side-effects like halting during GC, depending on implementation).

    It's not because C is magic but these kind of things need to be programmed. Of course, an AI or toolkit could code it in the future perfectly optimally, but then it would still be C. Just because you don't code it doesn't mean it's not there and the language is still used, proving its superiority, even if not by humans (talking of hypothetical future where AI codes stuff).

    Originally posted by cynical View Post
    That's great, you have a workaround. Now imagine if that flaw was not there in the first place and you didn't have to think about any of this whatsoever. That you could just use the normal features of the language without having to code defensively. That's what I'm talking about when I say that C is flawed. You haven't actually solved the problem, because the problem is in the language.
    How is that a problem of the language? It *allows* you to do it, and it's not a workaround, you use the language specs to do it.

    Just because YOU or whoever else bashes it don't want to deal with X and Y doesn't mean the language has a problem. It has a problem when it can't be used for a specific task (cannot, not won't!), OR if it produces something slower/more bloated compared to another language (less efficient etc) or any other measurable objective factor.

    Saying stuff like "it's not convenient for me to write in it, therefore the language has a problem" is absolutely ridiculous. Maybe it's your (or whoever) problem using it, or you need to learn to use it/code properly or whatever.

    Might as well say stuff like "I don't like assignments being x = y, I'd prefer something like x <- y, therefore the language has a problem, definitely not me!!"


    No point to answer the last part since you still go on the assumption that your preferences are "many of the problems in C". But, you realize I was talking about the application, right? I mean, the application's flaws can be fixed.

    There is NO application vulnerability or code in existence, written in C, which cannot be solved. If it did, then yes, the language would have a problem. But as it stands, it's fully the application code's fault, which CAN get fixed, with CURRENT capabilities of C. On the other hand, some things are just straight out impossible to do in other languages which still rely on magic wrappers or libraries (that are implemented in C, usually, the irony is obvious). Especially languages without pointers are just horribly limited.

    And as I said, if vulnerabilities keep getting fixed, and people would contribute to pure C code projects more, we'd get incremental security, instead of "writing from scratch" tons of alternative apps due to ease of language (but also bloat), which will replicate a lot of work that went into squashing bugs.


    Can I also say that, my preference is to code with pointers (literally), a language without pointers has HUGE problems because I just can't get my head around it. Yes, it's the language's fault due to my pointer preference, and no I'm not trolling. To me, people who don't understand pointers or how easy it is to see how they work, should find a different goal in life. Coding is not for them.

    I'm just using your logic here: my preferences makes other languages inherently bad right?
    Last edited by Weasel; 05 June 2018, 08:40 AM.

    Comment


    • Originally posted by Weasel View Post
      ...

      Can I also say that, my preference is to code with pointers (literally), a language without pointers has HUGE problems because I just can't get my head around it. Yes, it's the language's fault due to my pointer preference, and no I'm not trolling. To me, people who don't understand pointers or how easy it is to see how they work, should find a different goal in life. Coding is not for them.

      ...
      I know that if a language doesn't have proper pointers, you lose some flexibility, but I think it's worth noting that many languages retain some of the power of pointers even though they don't expose real memory-pointers to the programmer. For example, in Python 2 & 3 all function arguments are sort-of, pass by reference. When you pass in an argument to a function or method, Python doesn't make a copy of that argument. Instead it passes in a reference (sort-of like passing a pointer to a function in C). So in Python you gain performance as a full copy does not have to be performed taking cpu and memory. This is in contrast to PHP (and even C infact) where it's pass by value.

      My comment above isn't meant to be an argument for or against pointers and it's not meant to suggest that pass-by-reference languages like Python can be equivalent to languages with pointers. I'm just pointing out that some of the expressiveness and performance benefits that can be gained by use of pointers can also be exposed in other ways in other languages; often safer too.

      I too like C pointers

      Comment


      • Originally posted by ermo View Post
        Personally, I had to switch away from GNOME because simply idling at my 3x1080p desktop would put a non-trivial amount of load on my system and make it feel jerky
        On my i7-4510U with integrated gfx it's the other way round: GNOME feels faster and way lighter than KDE. I've been trying every new major KDE version on a few machines but I always have to go back to GNOME.

        Fanboys apart, IMO many people just don't like Gnome's workflow (neither did I when I first tried it but I can't do without it now), and the fact that its interface seems too simple in comparison (again, now KDE feels way too cluttered to me and I don't miss any particular feature or setting).

        Comment


        • Originally posted by cybertraveler View Post
          I know that if a language doesn't have proper pointers, you lose some flexibility, but I think it's worth noting that many languages retain some of the power of pointers even though they don't expose real memory-pointers to the programmer. For example, in Python 2 & 3 all function arguments are sort-of, pass by reference. When you pass in an argument to a function or method, Python doesn't make a copy of that argument. Instead it passes in a reference (sort-of like passing a pointer to a function in C). So in Python you gain performance as a full copy does not have to be performed taking cpu and memory. This is in contrast to PHP (and even C infact) where it's pass by value.

          My comment above isn't meant to be an argument for or against pointers and it's not meant to suggest that pass-by-reference languages like Python can be equivalent to languages with pointers. I'm just pointing out that some of the expressiveness and performance benefits that can be gained by use of pointers can also be exposed in other ways in other languages; often safer too.

          I too like C pointers
          References are also heavily used in C++ in the way you describe, but I meant more like people who are unable to even understand pointers, not just passing objects by reference to avoid copies. Those people, IMO, have no business in coding software. But that's just my opinion, and it doesn't *necessarily* make a language objectively bad (I was just using his own logic there). Lacking pointers, however, does make it worse, since it's well... lacking something essential.

          Unfortunately, while I like C++ personally (heresy!), it's quite convoluted in this aspect; all the move semantics complications and the syntax (especially the && when used in templates) can make most people's head spin and I can't blame them. C keeps it simple (though I wish it had the constexpr capabilities of C++, just not the template complexity)
          Last edited by Weasel; 05 June 2018, 06:16 PM.

          Comment


          • The old desktops you mentioned before are faster than contemponary ones, since they do less - like Gtk1 is faster than Gtk2. The former lacks unicode support entirely.


            C is nice, but it lacks abstraction and expressability. It's pure luck, if your recursive functions get tail call optimized. And don't get me started about the nightmare called preprocessor. Sane programming languages have macro support that operate on the language's AST. Not a tool that does text substitution resulting in code, that possibly never gets syntax checked.

            I,however, share your concerns about garbage collection. Although it's good enough in most cases, if the garbage collector is well optimized. Funny side note: GC is usually faster than using C++'s shared pointers.


            Luckily, there are alternatives to C, which don't have the beforesaid problems. While I used to code C and do C++ programming at work, I wouldn't start anything new using those two languages.

            Comment


            • Originally posted by Weasel View Post
              I'm just using your logic here: my preferences makes other languages inherently bad right?
              I'm not talking about preferences, so no.

              Comment

              Working...
              X