• Visitors can check out the Forum FAQ by clicking this link. You have to register before you can post: click the REGISTER link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below. View our Forum Privacy Policy.
  • Want to receive the latest contracting news and advice straight to your inbox? Sign up to the ContractorUK newsletter here. Every sign up will also be entered into a draw to WIN £100 Amazon vouchers!

Anyone else growing tired of OO?

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

    Anyone else growing tired of OO?

    Sometimes I just yearn for the direct approach like in the old days when I was coding plain C in DOS. You always knew where you were in the code.

    Nowadays it seems that even simple tasks have you jumping all over the place when you try to debug it. Given me some right headaches some days.

    I know it would be difficult to imagine a world without OO these days, but I think that one of the major downsides of its success has been the proliferation of frameworks on top of frameworks and the endless indirection. Design patterns on Application Blocks on .NET frameworks configured by XML files etc., all to do simple things but all the time having reuse and extensibility in mind. Violates the YAGNI principle as well (if you follow the latest XP fads).

    I had to write a Win32 DLL recently in plain C and it just felt right even though it looked ugly compared to C++ code.

    Anyone else get a bit nostalgic for some plain ol' procedural stuff?
    Last edited by Shimano105; 29 May 2009, 08:51.

    #2
    Your problem is writing large monolithic applications.

    If you break up the application into loosely coupled reusable components communicating via messages rather than manipulaing large complex objects, debugging and testing becomes simpler.

    Giant OO apps are a no no.

    Look up SOA. Simpler components/services built on OO principles aggregated into larger application via message exchange.

    http://en.wikipedia.org/wiki/Service...d_architecture

    No one piece of the pie becomes overly complex.

    Comment


      #3
      Originally posted by Shimano105 View Post
      I think that one of the major downsides of its success has been the proliferation of frameworks on top of frameworks and the endless indirection.
      There's a new product, Kodiak, for abstracting VM farms management, and when I first saw it, I though about the process the poor request for a page has to go trough:
      1. load balancer to a node that run a vm 2. managed by kodiak, but 3.
      running esx (linux) in which actual 4. vm is running, in which a 5.
      virtual OS is running (let's say linux again) in which 6. (L)AMP is
      running, possibly via 7. memcached, and the query is a 8. RESTful
      wrapper, for a 9. PHP Query in 10. PEAR abstraction, for 11. SQL
      Database, which is stored on a 12. SAN, running 13. 14. pool of disk
      nodes with 15. virtual filesystem such as ZFS, mapping to virtual 16.
      clusters expesed by HDD, which indirectly relate to storage 17. units
      on a HDD or SSD, mapped as bunch of 0 and 1 electrical, optical or
      magnetical states.

      That is a lot of indirection and it can go wrong in each step, but do you want to account for different types of storage media when you write a simple webpage?

      And if you're just tired of OO, try functional programming (Erlang, Haskell) it's beautiful once you get some ideas, a step in this direction is XSL, which I use quite often, and is declarative by nature.
      But essentially is a step up in the abstraction ladder, not closer to hardware like old programs were, so it might not suit you too well...

      Comment


        #4
        Originally posted by DimPrawn View Post
        Your problem is writing large monolithic applications.

        If you break up the application into loosely coupled reusable components communicating via messages rather than manipulaing large complex objects, debugging and testing becomes simpler.

        Giant OO apps are a no no.

        Look up SOA. Simpler components/services built on OO principles aggregated into larger application via message exchange.

        http://en.wikipedia.org/wiki/Service...d_architecture

        No one piece of the pie becomes overly complex.
        You have just proven the point the OP makes, you suggest SOA when it is possible that he could be programming games for mobile phones, I don't know and you don't know what he is writing but SOA is what he should be looking at by your definition.

        "To hell with just writing some good code, OO and SOA will see you right"

        Comment


          #5
          Yeah, sometimes I feel that too much design can be a bad thing. Just get hacking and eventually it will become organised into something inteligible!

          Comment


            #6
            The development industry is worse than the fashion industry for following trends, ideas start off well meaning then millions jump on the bandwagon and turn the latest style into a religion. Tossers like Martin Fowler and Kent Beck are the problem in this, they sell a vision of easy development which half brained failed developers turned managers lap up.

            In my last gig I sat beside the companies 'agile mentor' who had, pinned to his desk wall the tenants of OO. Stuff like "don't call me, we will call you" which you get in your first software lecture at University. Obvioulsy never written a decent bit of code in his life.

            People cling to these movements like children cling to safety blankets. "If I keep hold of this all will be OK"

            Give me an old hacker over a software fashion victim any day of the week.

            Comment


              #7
              Originally posted by minestrone View Post
              You have just proven the point the OP makes, you suggest SOA when it is possible that he could be programming games for mobile phones, I don't know and you don't know what he is writing but SOA is what he should be looking at by your definition.

              "To hell with just writing some good code, OO and SOA will see you right"
              I know it would be difficult to imagine a world without OO these days, but I think that one of the major downsides of its success has been the proliferation of frameworks on top of frameworks and the endless indirection. Design patterns on Application Blocks on .NET frameworks configured by XML files etc., all to do simple things but all the time having reuse and extensibility in mind. Violates the YAGNI principle as well (if you follow the latest XP fads).

              Yeah, that sounds like game development on a mobile device.

              Stick to hacking code in a dark room.

              Comment


                #8
                Originally posted by minestrone View Post
                Give me an old hacker over a software fashion victim any day of the week.
                The story of Mel
                Behold the warranty -- the bold print giveth and the fine print taketh away.

                Comment


                  #9
                  Originally posted by zeitghost
                  A True Hero...

                  And here's the manual for the RPC-4000...

                  http://www.textfiles.com/bitsavers/p...4000PgmMan.pdf

                  Enjoy...
                  Feck me, it was 32 bit....

                  http://www.pbm.com/~lindahl/real.programmers.html

                  Will also have this on the wall...

                  http://www.users.on.net/~farnik/wiki...SnoopyCalendar

                  Now where did I put that FORTRAN compiler?
                  Last edited by zeitghost; 15 June 2017, 09:32.

                  Comment


                    #10
                    Originally posted by zeitghost
                    A True Hero...

                    And here's the manual for the RPC-4000...

                    http://www.textfiles.com/bitsavers/p...4000PgmMan.pdf

                    Enjoy...
                    Is there an emulator available?

                    Comment

                    Working...
                    X