Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. A New Kind of Fail?

A New Kind of Fail?

Scheduled Pinned Locked Moved The Lounge
comhelpquestion
27 Posts 16 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • J Offline
    J Offline
    Jim Crafton
    wrote on last edited by
    #1

    Who names their language Noop[^]? No-op, No Operation, i.e. nothing's gonna happen here. Why oh why would you name a computing language this, and then expect people to rush over to it? Are web "developers" truly so clueless that they are unaware of what "noop" means? I go to the project's web site and of their two "blogs" that they list, the first link just collapses in an error! In their list of "features" they list that they are all for "Immutability" - why? You can only change something once? What the hell is up with that? And no implementation subclassing? Have I missed something here? Is there something I'm being blind to?

    ¡El diablo está en mis pantalones! ¡Mire, mire! SELECT * FROM User WHERE Clue > 0 0 rows returned Save an Orange - Use the VCF! Personal 3D projects Just Say No to Web 2 Point Blow

    L D P H D 7 Replies Last reply
    0
    • J Jim Crafton

      Who names their language Noop[^]? No-op, No Operation, i.e. nothing's gonna happen here. Why oh why would you name a computing language this, and then expect people to rush over to it? Are web "developers" truly so clueless that they are unaware of what "noop" means? I go to the project's web site and of their two "blogs" that they list, the first link just collapses in an error! In their list of "features" they list that they are all for "Immutability" - why? You can only change something once? What the hell is up with that? And no implementation subclassing? Have I missed something here? Is there something I'm being blind to?

      ¡El diablo está en mis pantalones! ¡Mire, mire! SELECT * FROM User WHERE Clue > 0 0 rows returned Save an Orange - Use the VCF! Personal 3D projects Just Say No to Web 2 Point Blow

      D Offline
      D Offline
      Dan Neely
      wrote on last edited by
      #2

      A focus on Immutability means they're guzzling functional koolaid.

      The latest nation. Procrastination.

      J 1 Reply Last reply
      0
      • J Jim Crafton

        Who names their language Noop[^]? No-op, No Operation, i.e. nothing's gonna happen here. Why oh why would you name a computing language this, and then expect people to rush over to it? Are web "developers" truly so clueless that they are unaware of what "noop" means? I go to the project's web site and of their two "blogs" that they list, the first link just collapses in an error! In their list of "features" they list that they are all for "Immutability" - why? You can only change something once? What the hell is up with that? And no implementation subclassing? Have I missed something here? Is there something I'm being blind to?

        ¡El diablo está en mis pantalones! ¡Mire, mire! SELECT * FROM User WHERE Clue > 0 0 rows returned Save an Orange - Use the VCF! Personal 3D projects Just Say No to Web 2 Point Blow

        L Offline
        L Offline
        Lost User
        wrote on last edited by
        #3

        They needed more bullshit languages to have extra examples of how not to do it?

        1 Reply Last reply
        0
        • J Jim Crafton

          Who names their language Noop[^]? No-op, No Operation, i.e. nothing's gonna happen here. Why oh why would you name a computing language this, and then expect people to rush over to it? Are web "developers" truly so clueless that they are unaware of what "noop" means? I go to the project's web site and of their two "blogs" that they list, the first link just collapses in an error! In their list of "features" they list that they are all for "Immutability" - why? You can only change something once? What the hell is up with that? And no implementation subclassing? Have I missed something here? Is there something I'm being blind to?

          ¡El diablo está en mis pantalones! ¡Mire, mire! SELECT * FROM User WHERE Clue > 0 0 rows returned Save an Orange - Use the VCF! Personal 3D projects Just Say No to Web 2 Point Blow

          P Offline
          P Offline
          peterchen
          wrote on last edited by
          #4

          In other news, my new language "SHíT" (pronounced "just purrfect") hits the shelves tomorrow. What do you mean "dependency injection support right in the language"? Does that mean it has (*GASP*!) interfaces and (*SWOON!*) constructors receiving parameters or even (*ICANTBELIEVETHEYDIDTHAT!*) public properties? [edit] On second thought, maybe .NET has put enough pressure on JVM performance that it's time to build a nice language on top of it.

          Personally, I love the idea that Raymond spends his nights posting bad regexs to mailing lists under the pseudonym of Jane Smith. He'd be like a super hero, only more nerdy and less useful. [Trevel]
          | FoldWithUs! | sighist

          J B 2 Replies Last reply
          0
          • D Dan Neely

            A focus on Immutability means they're guzzling functional koolaid.

            The latest nation. Procrastination.

            J Offline
            J Offline
            Jim Crafton
            wrote on last edited by
            #5

            So in functional languages (I have only a very basic understanding of Lisp) if you have objects, you are not allowed to modify them at all? That seems silly to make as a unilateral rule. But what the hell do I know, I just program for a living.

            ¡El diablo está en mis pantalones! ¡Mire, mire! SELECT * FROM User WHERE Clue > 0 0 rows returned Save an Orange - Use the VCF! Personal 3D projects Just Say No to Web 2 Point Blow

            D B S 3 Replies Last reply
            0
            • P peterchen

              In other news, my new language "SHíT" (pronounced "just purrfect") hits the shelves tomorrow. What do you mean "dependency injection support right in the language"? Does that mean it has (*GASP*!) interfaces and (*SWOON!*) constructors receiving parameters or even (*ICANTBELIEVETHEYDIDTHAT!*) public properties? [edit] On second thought, maybe .NET has put enough pressure on JVM performance that it's time to build a nice language on top of it.

              Personally, I love the idea that Raymond spends his nights posting bad regexs to mailing lists under the pseudonym of Jane Smith. He'd be like a super hero, only more nerdy and less useful. [Trevel]
              | FoldWithUs! | sighist

              J Offline
              J Offline
              Jim Crafton
              wrote on last edited by
              #6

              peterchen wrote:

              What do you mean "dependency injection support right in the language"?

              I saw that too, and was a bit clueless as to what they actually meant by it. But it certainly fills in the buzzword feature set!

              ¡El diablo está en mis pantalones! ¡Mire, mire! SELECT * FROM User WHERE Clue > 0 0 rows returned Save an Orange - Use the VCF! Personal 3D projects Just Say No to Web 2 Point Blow

              1 Reply Last reply
              0
              • J Jim Crafton

                So in functional languages (I have only a very basic understanding of Lisp) if you have objects, you are not allowed to modify them at all? That seems silly to make as a unilateral rule. But what the hell do I know, I just program for a living.

                ¡El diablo está en mis pantalones! ¡Mire, mire! SELECT * FROM User WHERE Clue > 0 0 rows returned Save an Orange - Use the VCF! Personal 3D projects Just Say No to Web 2 Point Blow

                D Offline
                D Offline
                Dan Neely
                wrote on last edited by
                #7

                AIUI, I've never used one myself, when you need to change an object you end up creating a new one from scratch. This <magic happens here> allows the compiler to produce massively parallelizable code.

                The latest nation. Procrastination.

                J 1 Reply Last reply
                0
                • J Jim Crafton

                  Who names their language Noop[^]? No-op, No Operation, i.e. nothing's gonna happen here. Why oh why would you name a computing language this, and then expect people to rush over to it? Are web "developers" truly so clueless that they are unaware of what "noop" means? I go to the project's web site and of their two "blogs" that they list, the first link just collapses in an error! In their list of "features" they list that they are all for "Immutability" - why? You can only change something once? What the hell is up with that? And no implementation subclassing? Have I missed something here? Is there something I'm being blind to?

                  ¡El diablo está en mis pantalones! ¡Mire, mire! SELECT * FROM User WHERE Clue > 0 0 rows returned Save an Orange - Use the VCF! Personal 3D projects Just Say No to Web 2 Point Blow

                  H Offline
                  H Offline
                  Henry Minute
                  wrote on last edited by
                  #8

                  I had similar feelings a few days ago when I tried out MSP from those nice people over at JetBrains[^]. It's not them, as such, I like Resharper, which is why I decided to give MSP a go. I followed their tutorial and I'm afraid that I just don't 'get it'. To me it seems to complicate things by a factor of about 10. As I say, it could just be me, but I would be interested to know if anyone else has tried it and thought it useful.

                  Henry Minute Do not read medical books! You could die of a misprint. - Mark Twain Girl: (staring) "Why do you need an icy cucumber?" “I want to report a fraud. The government is lying to us all.”

                  J 1 Reply Last reply
                  0
                  • H Henry Minute

                    I had similar feelings a few days ago when I tried out MSP from those nice people over at JetBrains[^]. It's not them, as such, I like Resharper, which is why I decided to give MSP a go. I followed their tutorial and I'm afraid that I just don't 'get it'. To me it seems to complicate things by a factor of about 10. As I say, it could just be me, but I would be interested to know if anyone else has tried it and thought it useful.

                    Henry Minute Do not read medical books! You could die of a misprint. - Mark Twain Girl: (staring) "Why do you need an icy cucumber?" “I want to report a fraud. The government is lying to us all.”

                    J Offline
                    J Offline
                    Jim Crafton
                    wrote on last edited by
                    #9

                    Holy cow, that's insane - I'm looking at: http://www.jetbrains.com/mps/docs/tutorial.html[^] Gag. That's a serious, serious case of Second System Syndrome!

                    ¡El diablo está en mis pantalones! ¡Mire, mire! SELECT * FROM User WHERE Clue > 0 0 rows returned Save an Orange - Use the VCF! Personal 3D projects Just Say No to Web 2 Point Blow

                    H R Steve EcholsS 3 Replies Last reply
                    0
                    • D Dan Neely

                      AIUI, I've never used one myself, when you need to change an object you end up creating a new one from scratch. This <magic happens here> allows the compiler to produce massively parallelizable code.

                      The latest nation. Procrastination.

                      J Offline
                      J Offline
                      Jim Crafton
                      wrote on last edited by
                      #10

                      So I have foo. Then I write

                      foo.count = 10;

                      And under the hood instead of just modifying the count value (or whatever the hell it is) directly, a complete new instance is created with it's count set to 10, and then, presumably, the old foo instance is tossed? That seems like an insane amount of extra work just to allow for thread safety, which is what you're alluding to, right? //edit Actually it's worse than that - if they copy the new instance, they have to copy ALL of the state of the old instance, how does it handle complex objects, references to other objects, collections, and all that crap? Seriously nasty.

                      ¡El diablo está en mis pantalones! ¡Mire, mire! SELECT * FROM User WHERE Clue > 0 0 rows returned Save an Orange - Use the VCF! Personal 3D projects Just Say No to Web 2 Point Blow

                      D 1 Reply Last reply
                      0
                      • J Jim Crafton

                        Holy cow, that's insane - I'm looking at: http://www.jetbrains.com/mps/docs/tutorial.html[^] Gag. That's a serious, serious case of Second System Syndrome!

                        ¡El diablo está en mis pantalones! ¡Mire, mire! SELECT * FROM User WHERE Clue > 0 0 rows returned Save an Orange - Use the VCF! Personal 3D projects Just Say No to Web 2 Point Blow

                        H Offline
                        H Offline
                        Henry Minute
                        wrote on last edited by
                        #11

                        Yup! I had to go and lie down in a darkened room, after finishing it. :)

                        Henry Minute Do not read medical books! You could die of a misprint. - Mark Twain Girl: (staring) "Why do you need an icy cucumber?" “I want to report a fraud. The government is lying to us all.”

                        1 Reply Last reply
                        0
                        • J Jim Crafton

                          So I have foo. Then I write

                          foo.count = 10;

                          And under the hood instead of just modifying the count value (or whatever the hell it is) directly, a complete new instance is created with it's count set to 10, and then, presumably, the old foo instance is tossed? That seems like an insane amount of extra work just to allow for thread safety, which is what you're alluding to, right? //edit Actually it's worse than that - if they copy the new instance, they have to copy ALL of the state of the old instance, how does it handle complex objects, references to other objects, collections, and all that crap? Seriously nasty.

                          ¡El diablo está en mis pantalones! ¡Mire, mire! SELECT * FROM User WHERE Clue > 0 0 rows returned Save an Orange - Use the VCF! Personal 3D projects Just Say No to Web 2 Point Blow

                          D Offline
                          D Offline
                          Daniel Grunwald
                          wrote on last edited by
                          #12

                          It's a completely different programming paradigm. You simply don't do foo.count = 10; there. And no, you don't have to copy ALL state (references to other objects). Because objects never change once created, it's perfectly safe to reuse the existing objects. The reason why string in C# is so easy to use is because it does precisely this. Immutable types are generally easier to work with. And there are efficient implementations for most data structures. There's no need to create a full copy of a collection just to remove some element in it; instead the collection is interally arrange as some sort of tree and will share subtrees that didn't change. Of course, for some purposes you need mutation. How those cases are handled differs from language to language. In "pure" functional languages, you might use something like the Haskell "State" monad to solve this. In other languages (like F#), it's perfectly possible to modify existing objects just as in C# (but of course you lose all benefits of immutability as soon as you do so).

                          J A 2 Replies Last reply
                          0
                          • J Jim Crafton

                            So in functional languages (I have only a very basic understanding of Lisp) if you have objects, you are not allowed to modify them at all? That seems silly to make as a unilateral rule. But what the hell do I know, I just program for a living.

                            ¡El diablo está en mis pantalones! ¡Mire, mire! SELECT * FROM User WHERE Clue > 0 0 rows returned Save an Orange - Use the VCF! Personal 3D projects Just Say No to Web 2 Point Blow

                            B Offline
                            B Offline
                            Brady Kelly
                            wrote on last edited by
                            #13

                            You shouldn't really have objects. That implies state. :laugh:

                            I have been trying for weeks to get this little site indexed. If you wonder what it is, or would like some informal accommodation for the 2010 World Cup, please click on this link for Rhino Cottages.

                            R A 2 Replies Last reply
                            0
                            • P peterchen

                              In other news, my new language "SHíT" (pronounced "just purrfect") hits the shelves tomorrow. What do you mean "dependency injection support right in the language"? Does that mean it has (*GASP*!) interfaces and (*SWOON!*) constructors receiving parameters or even (*ICANTBELIEVETHEYDIDTHAT!*) public properties? [edit] On second thought, maybe .NET has put enough pressure on JVM performance that it's time to build a nice language on top of it.

                              Personally, I love the idea that Raymond spends his nights posting bad regexs to mailing lists under the pseudonym of Jane Smith. He'd be like a super hero, only more nerdy and less useful. [Trevel]
                              | FoldWithUs! | sighist

                              B Offline
                              B Offline
                              Brady Kelly
                              wrote on last edited by
                              #14

                              I had a flash of Hannah Montana fans as I read that. :~

                              I have been trying for weeks to get this little site indexed. If you wonder what it is, or would like some informal accommodation for the 2010 World Cup, please click on this link for Rhino Cottages.

                              P 1 Reply Last reply
                              0
                              • D Daniel Grunwald

                                It's a completely different programming paradigm. You simply don't do foo.count = 10; there. And no, you don't have to copy ALL state (references to other objects). Because objects never change once created, it's perfectly safe to reuse the existing objects. The reason why string in C# is so easy to use is because it does precisely this. Immutable types are generally easier to work with. And there are efficient implementations for most data structures. There's no need to create a full copy of a collection just to remove some element in it; instead the collection is interally arrange as some sort of tree and will share subtrees that didn't change. Of course, for some purposes you need mutation. How those cases are handled differs from language to language. In "pure" functional languages, you might use something like the Haskell "State" monad to solve this. In other languages (like F#), it's perfectly possible to modify existing objects just as in C# (but of course you lose all benefits of immutability as soon as you do so).

                                J Offline
                                J Offline
                                Jim Crafton
                                wrote on last edited by
                                #15

                                Thanks, that makes more sense. Though I'm still holding on to making fun of Noop. :)

                                ¡El diablo está en mis pantalones! ¡Mire, mire! SELECT * FROM User WHERE Clue > 0 0 rows returned Save an Orange - Use the VCF! Personal 3D projects Just Say No to Web 2 Point Blow

                                1 Reply Last reply
                                0
                                • B Brady Kelly

                                  You shouldn't really have objects. That implies state. :laugh:

                                  I have been trying for weeks to get this little site indexed. If you wonder what it is, or would like some informal accommodation for the 2010 World Cup, please click on this link for Rhino Cottages.

                                  R Offline
                                  R Offline
                                  Rajesh R Subramanian
                                  wrote on last edited by
                                  #16

                                  You're assuming that usage of objects implies they will have a state. That may not be always true in practice. :laugh:

                                  It is a crappy thing, but it's life -^ Carlo Pallini

                                  B 1 Reply Last reply
                                  0
                                  • J Jim Crafton

                                    Who names their language Noop[^]? No-op, No Operation, i.e. nothing's gonna happen here. Why oh why would you name a computing language this, and then expect people to rush over to it? Are web "developers" truly so clueless that they are unaware of what "noop" means? I go to the project's web site and of their two "blogs" that they list, the first link just collapses in an error! In their list of "features" they list that they are all for "Immutability" - why? You can only change something once? What the hell is up with that? And no implementation subclassing? Have I missed something here? Is there something I'm being blind to?

                                    ¡El diablo está en mis pantalones! ¡Mire, mire! SELECT * FROM User WHERE Clue > 0 0 rows returned Save an Orange - Use the VCF! Personal 3D projects Just Say No to Web 2 Point Blow

                                    D Offline
                                    D Offline
                                    Distind
                                    wrote on last edited by
                                    #17

                                    As far as I'm aware this isn't new, what's new is people expect others to actually care. I've seen a few projects like this which started out as a 'Well someone else in the world has to think this is a good idea too, I'll put it on the Internet'. Generally that idea has proven wrong. Could just be the college crowd is more prone to it, haven't run into half as many instances of this since graduating.

                                    1 Reply Last reply
                                    0
                                    • R Rajesh R Subramanian

                                      You're assuming that usage of objects implies they will have a state. That may not be always true in practice. :laugh:

                                      It is a crappy thing, but it's life -^ Carlo Pallini

                                      B Offline
                                      B Offline
                                      Brady Kelly
                                      wrote on last edited by
                                      #18

                                      No, they may even be functions themselves. :)

                                      I have been trying for weeks to get this little site indexed. If you wonder what it is, or would like some informal accommodation for the 2010 World Cup, please click on this link for Rhino Cottages.

                                      1 Reply Last reply
                                      0
                                      • J Jim Crafton

                                        Holy cow, that's insane - I'm looking at: http://www.jetbrains.com/mps/docs/tutorial.html[^] Gag. That's a serious, serious case of Second System Syndrome!

                                        ¡El diablo está en mis pantalones! ¡Mire, mire! SELECT * FROM User WHERE Clue > 0 0 rows returned Save an Orange - Use the VCF! Personal 3D projects Just Say No to Web 2 Point Blow

                                        R Offline
                                        R Offline
                                        Rama Krishna Vavilala
                                        wrote on last edited by
                                        #19

                                        DSL is pretty hot these days. Have you looked at M[^]. The thing is that people are just inventing without actually knowing what real world really wants.

                                        1 Reply Last reply
                                        0
                                        • J Jim Crafton

                                          So in functional languages (I have only a very basic understanding of Lisp) if you have objects, you are not allowed to modify them at all? That seems silly to make as a unilateral rule. But what the hell do I know, I just program for a living.

                                          ¡El diablo está en mis pantalones! ¡Mire, mire! SELECT * FROM User WHERE Clue > 0 0 rows returned Save an Orange - Use the VCF! Personal 3D projects Just Say No to Web 2 Point Blow

                                          S Offline
                                          S Offline
                                          Stuart Dootson
                                          wrote on last edited by
                                          #20

                                          Only in pure functional languages do you have complete immutability. No state, just what you pass around as parameters. Tail call optimisation means that a recursive call is really a loop, so a recursive call with modified parameters is equivalent to looping with modified state. Big gains w.r.t concurrency - no state means no shared state! The compiler can do more precise reasoning about your code. I tend to program a lot in a functional style in C++ - replacing an object can often be a lot more reliable than updating state.

                                          Java, Basic, who cares - it's all a bunch of tree-hugging hippy cr*p

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups