Announcement

Collapse
No announcement yet.

Ubuntu's Unity Written In Qt/QML For "Unity Next"

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

  • #41
    Originally posted by coder543 View Post
    {Stupidity, Insanity, Idiocy} all fit in that quote. The original may have been insanity, but the quote has been rewritten many, many times...
    Minor point: if you rewrite a quote, it's no longer a quote, to prove my point (at least in an internet-based discussion):
    Originally posted by coder543 View Post
    Roquefort is a brilliant cheese!
    Major point: quoting a well-known person doesn't bode well for your argument, it's an appeal to an authority, an authority that you didn't identify, which somewhat reduces the impact...
    Last edited by archibald; 04 March 2013, 07:59 PM. Reason: missing parenthesis

    Comment


    • #42
      Originally posted by pingufunkybeat View Post
      There is a very strange trend towards specialisation that is very new. It used to be that all distros offered tweaked KDE and GNOME desktops for the user to choose. Now it seems like each distro wants its own desktop in order to provide a certain kind of experience.

      GNOME is RedHat's private desktop nowadays.
      Unity is Ubuntu's desktop.
      Cinnamon is Mint's desktop.

      You can run them on other distros, but it's clear who does all the development and decides the direction.
      Well, RHEL has always used Gnome, though you could install others (I THINK).
      SUSE has been a KDE desktop for ages (again, you can install others as well).

      Don't think RH thinks of Gnome as their own. Think instead that the various developers (not all at RH) think of it as their own.

      Comment


      • #43
        Originally posted by BO$$ View Post
        I don't get why do people have something against OOP? Is it something in the linux culture to hate modern programming practices? If it's not assembly you're not man enough or what?
        OOP has been eliminated from the introductory CS curriculum at Carnegie-Mellon in favor of an introductory course to functional programming. They say that OOP "is eliminated entirely from the introductory curriculum, because it is both anti-modular and anti-parallel by its very nature, and hence unsuitable for a modern CS curriculum". And this is but one of the many criticisms of OOP.

        This semester Dan Licata and I are co-teaching a new course on functional programming for first-year prospective CS majors.  This course is part of the new introductory CS curriculum at CMU, which …
        Last edited by Sergio; 04 March 2013, 08:26 PM. Reason: Typo

        Comment


        • #44
          Originally posted by Sergio View Post
          OOP has been eliminated from the introductory CS curriculum at Carnegie-Mellon in favor of an introductory course to functional programming. They say that OOP "is eliminated entirely from the introductory curriculum, because it is both anti-modular and anti-parallel by its very nature, and hence unsuitable for a modern CS curriculum". And this is but one of the many criticisms of OOP.

          http://existentialtype.wordpress.com...p-to-freshmen/
          I can't believe that they were not teaching FP before this. They should have been teaching all three alongside each other.

          Comment


          • #45
            Originally posted by pingufunkybeat View Post
            I can't believe that they were not teaching FP before this. They should have been teaching all three alongside each other.
            Yeah, well... What I find truly 'disturbing' is the whole "...because it is both anti-modular and anti-parallel by its very nature, and hence unsuitable for a modern CS curriculum".
            I'd think maybe the anti-parallel argument extends more generally to imperative programming, but they say that this is not the case; the problem is OOP.

            More information can be found here: http://reports-archive.adm.cs.cmu.ed...-CS-10-140.pdf

            Comment


            • #46
              Originally posted by Sergio View Post
              Yeah, well... What I find truly 'disturbing' is the whole "...because it is both anti-modular and anti-parallel by its very nature, and hence unsuitable for a modern CS curriculum".
              I'd think maybe the anti-parallel argument extends more generally to imperative programming, but they say that this is not the case; the problem is OOP.

              More information can be found here: http://reports-archive.adm.cs.cmu.ed...-CS-10-140.pdf
              well, they aren't so far away fropm truth as it seems at the first look. and i say that as someone quite oop affine.

              how powerfull oop is and allows for simple and elegant constructions, it also allows for more bad designs if not used right than C ever allowed. though, it is something one may get only the chance to see this in larger projects.

              though, there are various attempts in cutting down a lot of that power to put the developer back in line... as far as i have seen with very very bad results. leads to such bad though designs like java, where features where cut off, claimed they are not needed and make things worse and then you start doing ugly things around just to compensate for that.

              though, most common devs won't observe this. they actually indeed profit from this reduced modularity and features because they were never able to handle it. and this closes the circle to the thesis of that announcement

              though the funny thing is: i always tended to code oop style, even before i heared about oop the first time in my life, while coding in C


              edit: just a very small example about how oop can reduce modularity by its nature:
              while using C you have access to every method / module (what ever you define as a module) you can restricte in oop things very easy in such a way, that you totally lose all modularity. you declare fields and methods private or protected etc. thinking of controlling bad usage of your design, and end up often cutting down all roads of an efficient and effective way of modular extention or integration.

              what i mean is, that you have far more to plan into the "future" to not lock down future code development than in most other "styles" and it tends to overcomplicate things.
              Last edited by a user; 04 March 2013, 09:39 PM.

              Comment


              • #47
                Originally posted by Sergio View Post
                OOP has been eliminated from the introductory CS curriculum at Carnegie-Mellon in favor of an introductory course to functional programming. They say that OOP "is eliminated entirely from the introductory curriculum, because it is both anti-modular and anti-parallel by its very nature, and hence unsuitable for a modern CS curriculum". And this is but one of the many criticisms of OOP.

                http://existentialtype.wordpress.com...p-to-freshmen/
                Anti-modular? Surely they must be joking. When you're modeling objects you're breaking your program up into bits that are serving individual functions with intent for designing things so that you can just take the class out and use it elsewhere and use polymorphism to fit it to your own uses and otherwise. I mean modularity is kind of the entire point behind OOP.

                As far as anti-parallel goes I strongly disagree here too because parallelism is more a function of imperative languages themselves as stated by Sergio, and with languages beginning to pick up async keywords and such this issue becomes a whole lot smaller because you're no longer having to play games in that regard. Also I fail to see how OOP makes it harder as opposed to easier, at least compared to other imperative programming styles. Again you're breaking things down into components which is going to make work as split up and as isolated as possible, which makes things easier.

                I will however grant that functional languages do have a bit of an edge in parallelism because everything is const but these aren't reasons.. they're lies.

                Comment


                • #48
                  Originally posted by Luke_Wolf View Post
                  Anti-modular? Surely they must be joking. When you're modeling objects you're breaking your program up into bits that are serving individual functions with intent for designing things so that you can just take the class out and use it elsewhere and use polymorphism to fit it to your own uses and otherwise. I mean modularity is kind of the entire point behind OOP.

                  As far as anti-parallel goes I strongly disagree here too because parallelism is more a function of imperative languages themselves as stated by Sergio, and with languages beginning to pick up async keywords and such this issue becomes a whole lot smaller because you're no longer having to play games in that regard. Also I fail to see how OOP makes it harder as opposed to easier, at least compared to other imperative programming styles. Again you're breaking things down into components which is going to make work as split up and as isolated as possible, which makes things easier.

                  I will however grant that functional languages do have a bit of an edge in parallelism because everything is const but these aren't reasons.. they're lies.
                  Good post. I found the wording curious myself. OOP may have its pitfalls but to call it anti-modular and anti-parallel in its "essence" is, indeed, a lie.

                  Comment


                  • #49
                    Originally posted by a user View Post
                    well, they aren't so far away fropm truth as it seems at the first look. and i say that as someone quite oop affine.
                    Actually they are.. very far from the truth..
                    Originally posted by a user View Post
                    how powerfull oop is and allows for simple and elegant constructions, it also allows for more bad designs if not used right than C ever allowed. though, it is something one may get only the chance to see this in larger projects.
                    The ability to shoot yourself in the foot doesn't inherently make things bad, if that was the case we should never have developed vehicular transportation and should all be walking everywhere.

                    Originally posted by a user View Post
                    though, there are various attempts in cutting down a lot of that power to put the developer back in line... as far as i have seen with very very bad results. leads to such bad though designs like java, where features where cut off, claimed they are not needed and make things worse and then you start doing ugly things around just to compensate for that.
                    That would be Java and their asinine concepts of how a language should be designed, nobody else significant not even python really ascribes to that ideology, and particularly not C++ and C#.

                    Originally posted by a user View Post
                    though, most common devs won't observe this. they actually indeed profit from this reduced modularity and features because they were never able to handle it. and this closes the circle to the thesis of that announcement
                    Sure and we all benefit from walking everywhere, but it doesn't do what we need to get done.

                    Originally posted by a user View Post
                    edit: just a very small example about how oop can reduce modularity by its nature:
                    while using C you have access to every method / module (what ever you define as a module) you can restricte in oop things very easy in such a way, that you totally lose all modularity. you declare fields and methods private or protected etc. thinking of controlling bad usage of your design, and end up often cutting down all roads of an efficient and effective way of modular extention or integration.

                    what i mean is, that you have far more to plan into the "future" to not lock down future code development than in most other "styles" and it tends to overcomplicate things.
                    I don't think you understand what the word Modular means, as having a bunch of little black boxes that interact with each other is the very epitome of being modular
                    Last edited by Luke_Wolf; 04 March 2013, 10:37 PM.

                    Comment


                    • #50
                      in truth the whole issue with OOP can be that in order to do things right you have to make things into modules, which can turn something that would otherwise be relatively simple into something very very complex. This is not to say that there aren't benefits in the long term to doing so but it can increases code complexity and provide more opportunity for bugs because of the increased line count for trying to force it, and it of course costs more development time to bring up. Again I go back to the chatbot example I used earlier, using a non-OOP imperative approach to this makes writing it trivial, and in most cases relatively easy to follow, however... you get extensibility and modularity benefits in the long term from going the OOP route even though it makes designing and writing said bot a pain in the neck. Seriously just think about trying to design a OOP IRC bot and compare that to thinking about designing it in other imperative techniques... It's multiple orders more complex.

                      Also some use cases don't really benefit from it, scripting for instance is naturally antagonistic to OOP due to the sheer simplicity that is required, and even if you did try to make OOP scripts there wouldn't really be much if any benefit to it.

                      Comment

                      Working...
                      X