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 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
                  • 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

                    Steve EcholsS Offline
                    Steve EcholsS Offline
                    Steve Echols
                    wrote on last edited by
                    #21

                    Holy Shit! I think I would rather be water boarded than be forced to use anything like that.


                    - S 50 cups of coffee and you know it's on! Code, follow, or get out of the way.

                    • S
                      50 cups of coffee and you know it's on!
                      Code, follow, or get out of the way.
                    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
                      PIEBALDconsult
                      wrote on last edited by
                      #22

                      What's in a name?

                      D 1 Reply Last reply
                      0
                      • P PIEBALDconsult

                        What's in a name?

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

                        The origin of a mutual suicide. :doh:

                        The latest nation. Procrastination.

                        1 Reply Last reply
                        0
                        • B Brady Kelly

                          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 Offline
                          P Offline
                          peterchen
                          wrote on last edited by
                          #24

                          :~ too

                          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

                          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).

                            A Offline
                            A Offline
                            AspDotNetDev
                            wrote on last edited by
                            #25

                            Daniel Grunwald wrote:

                            instead the collection is interally arrange as some sort of tree and will share subtrees that didn't change

                            Actually, my StringBuilderPlus makes use of this technique. It's very effective for "changing" a portion of a very large immutable structure.

                            Visual Studio is an excellent GUIIDE.

                            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.

                              A Offline
                              A Offline
                              Adar Wesley
                              wrote on last edited by
                              #26

                              Immutability does not mean "no state at all". It does mean that if you do have state, once it's created, it will never change. If the state does not change it can be shared between threads safely. --- Adar Wesley

                              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

                                K Offline
                                K Offline
                                Kevin McFarlane
                                wrote on last edited by
                                #27

                                I agree on the name. I'm also interested in seeing whether they come up with something better than the C-style syntax which we should have dumped years ago.

                                Kevin

                                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