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