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
CODE PROJECT For Those Who Code
  • Home
  • Articles
  • FAQ
Community
  1. Home
  2. The Lounge
  3. Nobody cares about complexity...

Nobody cares about complexity...

Scheduled Pinned Locked Moved The Lounge
helpalgorithmssalestoolsquestion
32 Posts 14 Posters 4 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.
  • M Matt Gullett

    I'm still ranting from this past week, so please forgive me if I don't shut up anytime soon.... Most of us have some concept of the number of things that must go right for me/you to post a message here on CP. (I'm not going to try and analyze it all.) We developers often complain about how users have not idea how complex software can be. Even seemingly simple application features can require signifigant blood,sweat,tears,cursing,etc. As a developer, my perspective has always been that users just don't care how complex something is and explaining it to them typically just leads to something like "it shouldn't be that hard". Well, because I've been generally pissed off the past week or so, I've been thinking. (If you think thinking is a strange thing to do, you haven't worked in market research yet.) I have just realized that the real problem is not that software is complex, but is that people are stupid many things in life are complex. Developers rarely understand the complexities that management must deal with (ie. dealing with customers, competition, sales people, sales people, etc) We also don't usually care about the complexity of a users job. We have all heard the "you don't understand everything that's involved in my job" line before and we typically blow it off. I think the reality is that we humans tend to make things more complex than they need to be. E=MC^2 (my point exactly, whoever thought that the ^ symbol meant to-the-power-of?). The reality is that we developers are merely drug dealers dealing out the desires of our users. The drug of choice today is the presumed reduction of complexity. The reality is that we are getting the raw end of the deal because the complexity is not gone, it is merely shifted to us. We keep creating platforms (frameworks for Marc Clifton) to de-complexify (I know it's not a word), our jobs, but all we really produce is a more addictive drugs for our user, which leads to more complexity for us. Which brings me to a point, not the point, just a point. Platforms (frameworks for Marc Clifton) suck. They provide us with the tools to increase our headaches, not reduce them. In the short term, they help, but in the long term we're screwed, because they will only lead to more complex platforms to be build on top of them. Ultimately, our little house of cards will collapse. We're all doomed. Doomed I tell you. Run for your lives. The natives are coming. :)The only hope is for each of you to send me $1. My paypal account

    M Offline
    M Offline
    Marc Clifton
    wrote on last edited by
    #5

    Another interesting and thought provoking post. And of course, I enjoy seeing my name in your posts. :-D I have the following philosophy regarding complexity. Complexity is like magic. You know the saying, something is magic until you understand it? Well, complexity is like that. More precisely, the perception of complexity. Inherently, things can be complex. The real difficulty is in becoming familiar enough with the complexity that our day to day interaction with it becomes casual. At that point, it loses the mystique of "complex" and simply becomes mundane in it's complexity. I think platforms (frameworks for me), move in two directions. One direction is toward adding functionality (moving towards complexity/chaos), and the other kind is continually evolving in an attempt to manage that functionality (moving towards simplicity/stability). Philosophically, this is an interesting problem. A platform that introduces complexity usually provides some services in an attempt to manage that complexity. Any example will do--look at ADO.NET, or web services, or SOAP, or MFC, and on and on and on. Alternatively, a platform that introduces services with the intention to manage (simplify) existing complexity (this is where the AAL falls, IMHO), by its very nature introduces complexity because it is a new paradigm. From a metaphysical point of view, we're not really screwed, because each new generation comes "equipped" to handle the new complexity. To the next generation, what seems complex to us today will be mundane, and that generation will feel challenged to do something complex. If you don't like the metaphysical view, then you can look at it from a sociological viewpoint instead. However, I think the future is doomed for other reasons. We are rapidly becoming a society that can do everything and understand nothing. Marc Latest AAL Article My blog Join my forum!

    M T 2 Replies Last reply
    0
    • M Matt Gullett

      Have you ever wondered how many things could go wrong with the manufacture of a pill?;) Seriously, I am just fine. I have just been experiencing allot of stress and frustration in the past week or so and am venting it here. I am a long way from mental breakdown. (I'm sure that's what everybody says.)

      G Offline
      G Offline
      Gary R Wheeler
      wrote on last edited by
      #6

      Well, I hope things improve. Been there, done that, bought the T-shirt, tried to take it back because it was too small, they wouldn't give a refund without a receipt, yada, yada, yada...


      Software Zen: delete this;

      1 Reply Last reply
      0
      • N Nick Parker

        Matt Gullett wrote: Which brings me to a point, not the point, just a point. Platforms (frameworks for Marc Clifton) suck. Yep, we would all be a lot better off if we just went back to DOS-based applications, possibly even written in some language ending in "Basic". :rolleyes: I think you actually hit the nail on the head, however you didn't really elaborate on it. Basically, we work in a catch-22 environment, management wants the world (which they assume is easy) and we provide (or create the illusion of) the world that management wants (via our "frameworks"). I still think frameworks are fine, as long as they support the ability to be extended. Just my 2 cents. :) P.S. - I just got my cell phone delivered tonight, they shipped it overnight. :)

        -Nick Parker DeveloperNotes.com

        M Offline
        M Offline
        Matt Gullett
        wrote on last edited by
        #7

        Nick Parker wrote: Basically, we work in a catch-22 environment, management wants the world (which they assume is easy) and we provide (or create the illusion of) the world that management wants (via our "frameworks"). Damn straight! When we develop a system that makes doing typical tasks easy, we stop being asked for typical tasks and are asked for what is currently extrordinary tasks. Same schedule, delivery date, etc. Nick Parker wrote: I still think frameworks are fine, as long as they support the ability to be extended. Just my 2 cents You mean platforms right?;) I agree, but they still suck. Lack of a good platform sucks too. It really doesn't matter. We're screwed.;)

        1 Reply Last reply
        0
        • M Marc Clifton

          Another interesting and thought provoking post. And of course, I enjoy seeing my name in your posts. :-D I have the following philosophy regarding complexity. Complexity is like magic. You know the saying, something is magic until you understand it? Well, complexity is like that. More precisely, the perception of complexity. Inherently, things can be complex. The real difficulty is in becoming familiar enough with the complexity that our day to day interaction with it becomes casual. At that point, it loses the mystique of "complex" and simply becomes mundane in it's complexity. I think platforms (frameworks for me), move in two directions. One direction is toward adding functionality (moving towards complexity/chaos), and the other kind is continually evolving in an attempt to manage that functionality (moving towards simplicity/stability). Philosophically, this is an interesting problem. A platform that introduces complexity usually provides some services in an attempt to manage that complexity. Any example will do--look at ADO.NET, or web services, or SOAP, or MFC, and on and on and on. Alternatively, a platform that introduces services with the intention to manage (simplify) existing complexity (this is where the AAL falls, IMHO), by its very nature introduces complexity because it is a new paradigm. From a metaphysical point of view, we're not really screwed, because each new generation comes "equipped" to handle the new complexity. To the next generation, what seems complex to us today will be mundane, and that generation will feel challenged to do something complex. If you don't like the metaphysical view, then you can look at it from a sociological viewpoint instead. However, I think the future is doomed for other reasons. We are rapidly becoming a society that can do everything and understand nothing. Marc Latest AAL Article My blog Join my forum!

          M Offline
          M Offline
          Matt Gullett
          wrote on last edited by
          #8

          Marc Clifton wrote: At that point, it loses the mystique of "complex" and simply becomes mundane in it's complexity. This is definitely true, but what you fail to mention is that nuisances of the system become overlooked and depended on. For example: How long does it take for a cached data queue to be dropped from memory when a change is detected? In my system, it is not time based, it is based on usage, locks, available wake-up time, and whether or not an alernate record is needed or available. Also depends on how long it takes to prepare a new cache entry. I know this not because I am familar with the complexity, but because something that has worked for a very long time, now does not work, not because it doesn't do what it always did, but because I want it to do something it hasn't done before. Even if the platform (or framework) provides the capavcity to customize the behaviour of its complexity hiding, that only serves to increase the complexity of the platform. Marc Clifton wrote: From a metaphysical point of view, we're not really screwed, because each new generation comes "equipped" to handle the new complexity. Handle it, or become dependent on how it was solved before? Seriously, there are many "developers" who are completely unable to write straight C code (not that this is a bad thing) or assembler, or whatever. Part of me says that this is driving the price up for those developers who possess these low-level capabilities, but part of me knows that in reality, we are becoming dependent on previously hidden complexity and dependent on how that complexity was dealt with. Marc Clifton wrote: We are rapidly becoming a society that can do everything and understand nothing. I thought we reached that point a long time ago. There actually is a seriousness in my postings because I feel that the software industry needs a major mind-shift. I do not know what the shift must be, maybe MS is on the right track with .NET (actually, the BCL and CLR), but I think there is something else that needs to be done.

          T M C 3 Replies Last reply
          0
          • M Marc Clifton

            Another interesting and thought provoking post. And of course, I enjoy seeing my name in your posts. :-D I have the following philosophy regarding complexity. Complexity is like magic. You know the saying, something is magic until you understand it? Well, complexity is like that. More precisely, the perception of complexity. Inherently, things can be complex. The real difficulty is in becoming familiar enough with the complexity that our day to day interaction with it becomes casual. At that point, it loses the mystique of "complex" and simply becomes mundane in it's complexity. I think platforms (frameworks for me), move in two directions. One direction is toward adding functionality (moving towards complexity/chaos), and the other kind is continually evolving in an attempt to manage that functionality (moving towards simplicity/stability). Philosophically, this is an interesting problem. A platform that introduces complexity usually provides some services in an attempt to manage that complexity. Any example will do--look at ADO.NET, or web services, or SOAP, or MFC, and on and on and on. Alternatively, a platform that introduces services with the intention to manage (simplify) existing complexity (this is where the AAL falls, IMHO), by its very nature introduces complexity because it is a new paradigm. From a metaphysical point of view, we're not really screwed, because each new generation comes "equipped" to handle the new complexity. To the next generation, what seems complex to us today will be mundane, and that generation will feel challenged to do something complex. If you don't like the metaphysical view, then you can look at it from a sociological viewpoint instead. However, I think the future is doomed for other reasons. We are rapidly becoming a society that can do everything and understand nothing. Marc Latest AAL Article My blog Join my forum!

            T Offline
            T Offline
            Taka Muraoka
            wrote on last edited by
            #9

            Marc Clifton wrote: We are rapidly becoming a society that can do everything and understand nothing. You missed a word :rolleyes: We are rapidly becoming a society that thinks it can do everything and understands nothing.


            "Sucks less" isn't progress - Kent Beck [^] Awasu 1.1.3 [^]: A free RSS reader with support for Code Project.

            M V 2 Replies Last reply
            0
            • M Matt Gullett

              Marc Clifton wrote: At that point, it loses the mystique of "complex" and simply becomes mundane in it's complexity. This is definitely true, but what you fail to mention is that nuisances of the system become overlooked and depended on. For example: How long does it take for a cached data queue to be dropped from memory when a change is detected? In my system, it is not time based, it is based on usage, locks, available wake-up time, and whether or not an alernate record is needed or available. Also depends on how long it takes to prepare a new cache entry. I know this not because I am familar with the complexity, but because something that has worked for a very long time, now does not work, not because it doesn't do what it always did, but because I want it to do something it hasn't done before. Even if the platform (or framework) provides the capavcity to customize the behaviour of its complexity hiding, that only serves to increase the complexity of the platform. Marc Clifton wrote: From a metaphysical point of view, we're not really screwed, because each new generation comes "equipped" to handle the new complexity. Handle it, or become dependent on how it was solved before? Seriously, there are many "developers" who are completely unable to write straight C code (not that this is a bad thing) or assembler, or whatever. Part of me says that this is driving the price up for those developers who possess these low-level capabilities, but part of me knows that in reality, we are becoming dependent on previously hidden complexity and dependent on how that complexity was dealt with. Marc Clifton wrote: We are rapidly becoming a society that can do everything and understand nothing. I thought we reached that point a long time ago. There actually is a seriousness in my postings because I feel that the software industry needs a major mind-shift. I do not know what the shift must be, maybe MS is on the right track with .NET (actually, the BCL and CLR), but I think there is something else that needs to be done.

              T Offline
              T Offline
              Taka Muraoka
              wrote on last edited by
              #10

              Matt Gullett wrote: in reality, we are becoming dependent on previously hidden complexity and dependent on how that complexity was dealt with. But this is inevitable. You can't build more complex systems without abstracting and simplifying the underlying systems. How many people can do low-level repairs on their cars? Grow their own food? Fix their TV. Build a house. And so on. As things get more complicated, we have to specialize, unless you want to go back a few millenia when life was a bit simpler :-)


              "Sucks less" isn't progress - Kent Beck [^] Awasu 1.1.3 [^]: A free RSS reader with support for Code Project.

              M P 2 Replies Last reply
              0
              • T Taka Muraoka

                Matt Gullett wrote: in reality, we are becoming dependent on previously hidden complexity and dependent on how that complexity was dealt with. But this is inevitable. You can't build more complex systems without abstracting and simplifying the underlying systems. How many people can do low-level repairs on their cars? Grow their own food? Fix their TV. Build a house. And so on. As things get more complicated, we have to specialize, unless you want to go back a few millenia when life was a bit simpler :-)


                "Sucks less" isn't progress - Kent Beck [^] Awasu 1.1.3 [^]: A free RSS reader with support for Code Project.

                M Offline
                M Offline
                Matt Gullett
                wrote on last edited by
                #11

                I am not sure I agree with you here. Where does the abstraction end? At what point do we cease to have the capacity to understand any of the earlier works? I am thinking of some movie (can't remember which one), where there is a major world disaster and nobody knows how to fix anything or make anything work. Mankind basically reverts back a few hundred years. I wish I could remember what show that was... I agree that what you are saying is logical, but I am not sure that it is right. Maybe there is a better way that does not require the abstraction and hiding of complexity. I don't claim to know what it is, if it exists, but I wonder if it exists. What if the problem of software is not that it is complex, but is that we make it that way because the medium we use to translate our desires into software (ie. source code) is innefective and a better way exists?

                T P 2 Replies Last reply
                0
                • M Matt Gullett

                  Marc Clifton wrote: At that point, it loses the mystique of "complex" and simply becomes mundane in it's complexity. This is definitely true, but what you fail to mention is that nuisances of the system become overlooked and depended on. For example: How long does it take for a cached data queue to be dropped from memory when a change is detected? In my system, it is not time based, it is based on usage, locks, available wake-up time, and whether or not an alernate record is needed or available. Also depends on how long it takes to prepare a new cache entry. I know this not because I am familar with the complexity, but because something that has worked for a very long time, now does not work, not because it doesn't do what it always did, but because I want it to do something it hasn't done before. Even if the platform (or framework) provides the capavcity to customize the behaviour of its complexity hiding, that only serves to increase the complexity of the platform. Marc Clifton wrote: From a metaphysical point of view, we're not really screwed, because each new generation comes "equipped" to handle the new complexity. Handle it, or become dependent on how it was solved before? Seriously, there are many "developers" who are completely unable to write straight C code (not that this is a bad thing) or assembler, or whatever. Part of me says that this is driving the price up for those developers who possess these low-level capabilities, but part of me knows that in reality, we are becoming dependent on previously hidden complexity and dependent on how that complexity was dealt with. Marc Clifton wrote: We are rapidly becoming a society that can do everything and understand nothing. I thought we reached that point a long time ago. There actually is a seriousness in my postings because I feel that the software industry needs a major mind-shift. I do not know what the shift must be, maybe MS is on the right track with .NET (actually, the BCL and CLR), but I think there is something else that needs to be done.

                  M Offline
                  M Offline
                  Marc Clifton
                  wrote on last edited by
                  #12

                  Matt Gullett wrote: There actually is a seriousness in my postings because I feel that the software industry needs a major mind-shift. Heck, I've felt that way since I was programming in DOS, dealing with 5 different major graphics vendors, each with their own, different, VGA driver interrupts and register definitions. There are several factors that make life difficult. One of my favorite is the myth of productivity in a free market society. What a laugh, when everyone does the same thing, but differently. Sure, the consumer gets a choice, but at what cost? The cost is that nothing works together. For example, my refrigerator doesn't have a clue that it should discuss with my furnace when the best time to refrigerate is, vs. blow hot air on the cooling coils because some idiot put a heating vent 6 inches away from the fridge. What would the world be like, in terms of resources and "wealth", if we cooperated on building something, rather than competed. I think the competition model has served its purpose and is now rather archaic. It's time to develop cooperative business models. This doesn't mean that the consumer will have less choices. On the contrary, if done right, I think the consumer will have better choices (where better doesn't necessarily mean more, but could). I agree 100% about MS being on the right track with BCL/CLR. But this is only the current trend. A long time ago, the two competing programming languages for scientic and business applications (Fortran and something else--I'm way to tired to remember), were unified into a new language (again, I forgot what). Then, this technology boom ocurred, and everything started diverging again. Now, MS is re-converging, but has added a layer--keep your divergent languages, but it all can work together through the CLR. One day, it'll diverge again. You know what needs to be done? Everyone needs to stop doing *new* stuff, sit back, take a deep breath, and figure out how the *current* stuff is supposed to be used. The software industry needs to be refactored. Marc Latest AAL Article My blog Join my forum!

                  M 1 Reply Last reply
                  0
                  • T Taka Muraoka

                    Marc Clifton wrote: We are rapidly becoming a society that can do everything and understand nothing. You missed a word :rolleyes: We are rapidly becoming a society that thinks it can do everything and understands nothing.


                    "Sucks less" isn't progress - Kent Beck [^] Awasu 1.1.3 [^]: A free RSS reader with support for Code Project.

                    M Offline
                    M Offline
                    Marc Clifton
                    wrote on last edited by
                    #13

                    Taka Muraoka wrote: We are rapidly becoming a society that thinks it can do everything and understands nothing. How true. :-D Marc Latest AAL Article My blog Join my forum!

                    1 Reply Last reply
                    0
                    • M Matt Gullett

                      I am not sure I agree with you here. Where does the abstraction end? At what point do we cease to have the capacity to understand any of the earlier works? I am thinking of some movie (can't remember which one), where there is a major world disaster and nobody knows how to fix anything or make anything work. Mankind basically reverts back a few hundred years. I wish I could remember what show that was... I agree that what you are saying is logical, but I am not sure that it is right. Maybe there is a better way that does not require the abstraction and hiding of complexity. I don't claim to know what it is, if it exists, but I wonder if it exists. What if the problem of software is not that it is complex, but is that we make it that way because the medium we use to translate our desires into software (ie. source code) is innefective and a better way exists?

                      T Offline
                      T Offline
                      Taka Muraoka
                      wrote on last edited by
                      #14

                      Matt Gullett wrote: At what point do we cease to have the capacity to understand any of the earlier works? But one of the points I was making was about specialization. *Some* people, maybe only a few, will understand the lower level stuff, but as long as we are sufficiently organized, that's all that's required. Matt Gullett wrote: I am thinking of some movie (can't remember which one), where there is a major world disaster and nobody knows how to fix anything or make anything work. Mankind basically reverts back a few hundred years. And this is exactly what would happen :-) Matt Gullett wrote: What if the problem of software is not that it is complex, but is that we make it that way because the medium we use to translate our desires into software (ie. source code) is innefective and a better way exists? They underlying problem is that computers are really, really dumb. If I ask someone to go down down to the corner shop to get a carton of milk, there is a huge amount of pre-existing knowledge and functionality that I take for granted in that person. Computers are incapable of doing much more than adding and subtracting numbers so to write out a list of specific, un-ambiguous instructions to do even something relatively simple is inevitably going to be a complicated and error-prone process.


                      "Sucks less" isn't progress - Kent Beck [^] Awasu 1.1.3 [^]: A free RSS reader with support for Code Project.

                      1 Reply Last reply
                      0
                      • M Marc Clifton

                        Matt Gullett wrote: There actually is a seriousness in my postings because I feel that the software industry needs a major mind-shift. Heck, I've felt that way since I was programming in DOS, dealing with 5 different major graphics vendors, each with their own, different, VGA driver interrupts and register definitions. There are several factors that make life difficult. One of my favorite is the myth of productivity in a free market society. What a laugh, when everyone does the same thing, but differently. Sure, the consumer gets a choice, but at what cost? The cost is that nothing works together. For example, my refrigerator doesn't have a clue that it should discuss with my furnace when the best time to refrigerate is, vs. blow hot air on the cooling coils because some idiot put a heating vent 6 inches away from the fridge. What would the world be like, in terms of resources and "wealth", if we cooperated on building something, rather than competed. I think the competition model has served its purpose and is now rather archaic. It's time to develop cooperative business models. This doesn't mean that the consumer will have less choices. On the contrary, if done right, I think the consumer will have better choices (where better doesn't necessarily mean more, but could). I agree 100% about MS being on the right track with BCL/CLR. But this is only the current trend. A long time ago, the two competing programming languages for scientic and business applications (Fortran and something else--I'm way to tired to remember), were unified into a new language (again, I forgot what). Then, this technology boom ocurred, and everything started diverging again. Now, MS is re-converging, but has added a layer--keep your divergent languages, but it all can work together through the CLR. One day, it'll diverge again. You know what needs to be done? Everyone needs to stop doing *new* stuff, sit back, take a deep breath, and figure out how the *current* stuff is supposed to be used. The software industry needs to be refactored. Marc Latest AAL Article My blog Join my forum!

                        M Offline
                        M Offline
                        Matt Gullett
                        wrote on last edited by
                        #15

                        Marc Clifton wrote: I agree 100% about MS being on the right track with BCL/CLR. But this is only the current trend. A long time ago, the two competing programming languages What if the problem with software is source code? Seriously, what if there is a better way to translate our desires into computers. I am not talking about AI, or anything like that here. I am talking about a total rethink of how computers and automation work. As I said to Taka Muraoka, maybe the long term problem is that all this "hiding of complexity" will lead to a time when no one is able to manage the lower levels of complexity. (There was a movie on this subject, just can't remember the name.) Maybe we need to stop thinking of software as source code and start thinking in terms more concrete concepts. Maybe hardware should be redesigned so that binary is old fashioned. Concepts are handled at the hardware level. I really don't have a solution, or a plan, or even a solid concept. The more I think about the problems that face software developers, the more I think that we keep trying to solve our problems by looking within instead of without. (We talk about thinking outside the box, but what I see is mostly just thinking inside-the-box, we just keep building new systems on the old ones we don't like anymore. The old ones are still around, just hidden.)

                        T M 2 Replies Last reply
                        0
                        • T Taka Muraoka

                          Marc Clifton wrote: We are rapidly becoming a society that can do everything and understand nothing. You missed a word :rolleyes: We are rapidly becoming a society that thinks it can do everything and understands nothing.


                          "Sucks less" isn't progress - Kent Beck [^] Awasu 1.1.3 [^]: A free RSS reader with support for Code Project.

                          V Offline
                          V Offline
                          Vikram A Punathambekar
                          wrote on last edited by
                          #16

                          Well said, Taka. Though I wonder if we already aren't a society that thinks it can do everything and understands nothing. :~ Vikram.


                          I'd rather use VB than use COBOL. And I'd rather be eaten by a crocodile than use VB. ERROR: Computer possessed; Load EXOR.SYS ? [Y/N] Kevorkian Virus: helps your computer shut down whenever it wants to. How come DOS never says 'EXCELLENT command or filename'?

                          J 1 Reply Last reply
                          0
                          • M Matt Gullett

                            Marc Clifton wrote: I agree 100% about MS being on the right track with BCL/CLR. But this is only the current trend. A long time ago, the two competing programming languages What if the problem with software is source code? Seriously, what if there is a better way to translate our desires into computers. I am not talking about AI, or anything like that here. I am talking about a total rethink of how computers and automation work. As I said to Taka Muraoka, maybe the long term problem is that all this "hiding of complexity" will lead to a time when no one is able to manage the lower levels of complexity. (There was a movie on this subject, just can't remember the name.) Maybe we need to stop thinking of software as source code and start thinking in terms more concrete concepts. Maybe hardware should be redesigned so that binary is old fashioned. Concepts are handled at the hardware level. I really don't have a solution, or a plan, or even a solid concept. The more I think about the problems that face software developers, the more I think that we keep trying to solve our problems by looking within instead of without. (We talk about thinking outside the box, but what I see is mostly just thinking inside-the-box, we just keep building new systems on the old ones we don't like anymore. The old ones are still around, just hidden.)

                            T Offline
                            T Offline
                            Taka Muraoka
                            wrote on last edited by
                            #17

                            Matt Gullett wrote: Maybe we need to stop thinking of software as source code and start thinking in terms more concrete concepts. Maybe hardware should be redesigned so that binary is old fashioned. Concepts are handled at the hardware level. Slightly OT but you might find this[^] (The Hundred-Year Language) an interesting article. He raises some scary ideas (doing *everything* with lists?! :omg: :-))


                            "Sucks less" isn't progress - Kent Beck [^] Awasu 1.1.3 [^]: A free RSS reader with support for Code Project.

                            1 Reply Last reply
                            0
                            • M Matt Gullett

                              I'm still ranting from this past week, so please forgive me if I don't shut up anytime soon.... Most of us have some concept of the number of things that must go right for me/you to post a message here on CP. (I'm not going to try and analyze it all.) We developers often complain about how users have not idea how complex software can be. Even seemingly simple application features can require signifigant blood,sweat,tears,cursing,etc. As a developer, my perspective has always been that users just don't care how complex something is and explaining it to them typically just leads to something like "it shouldn't be that hard". Well, because I've been generally pissed off the past week or so, I've been thinking. (If you think thinking is a strange thing to do, you haven't worked in market research yet.) I have just realized that the real problem is not that software is complex, but is that people are stupid many things in life are complex. Developers rarely understand the complexities that management must deal with (ie. dealing with customers, competition, sales people, sales people, etc) We also don't usually care about the complexity of a users job. We have all heard the "you don't understand everything that's involved in my job" line before and we typically blow it off. I think the reality is that we humans tend to make things more complex than they need to be. E=MC^2 (my point exactly, whoever thought that the ^ symbol meant to-the-power-of?). The reality is that we developers are merely drug dealers dealing out the desires of our users. The drug of choice today is the presumed reduction of complexity. The reality is that we are getting the raw end of the deal because the complexity is not gone, it is merely shifted to us. We keep creating platforms (frameworks for Marc Clifton) to de-complexify (I know it's not a word), our jobs, but all we really produce is a more addictive drugs for our user, which leads to more complexity for us. Which brings me to a point, not the point, just a point. Platforms (frameworks for Marc Clifton) suck. They provide us with the tools to increase our headaches, not reduce them. In the short term, they help, but in the long term we're screwed, because they will only lead to more complex platforms to be build on top of them. Ultimately, our little house of cards will collapse. We're all doomed. Doomed I tell you. Run for your lives. The natives are coming. :)The only hope is for each of you to send me $1. My paypal account

                              R Offline
                              R Offline
                              Roger Wright
                              wrote on last edited by
                              #18

                              Nobody cares much about apathy, either, but what can you do? :sigh: "Your village called -
                              They're missing their idiot."

                              P 1 Reply Last reply
                              0
                              • V Vikram A Punathambekar

                                Well said, Taka. Though I wonder if we already aren't a society that thinks it can do everything and understands nothing. :~ Vikram.


                                I'd rather use VB than use COBOL. And I'd rather be eaten by a crocodile than use VB. ERROR: Computer possessed; Load EXOR.SYS ? [Y/N] Kevorkian Virus: helps your computer shut down whenever it wants to. How come DOS never says 'EXCELLENT command or filename'?

                                J Offline
                                J Offline
                                JoeSox
                                wrote on last edited by
                                #19

                                Vikram Punathambekar wrote: Though I wonder if we already aren't a society that thinks it can do everything and understands nothing. :laugh: No kidding, pretty soon someone will think we can land on the moon.:~ Later, JoeSox One thing vampire children have to be taught early on is, don't run with wooden stakes. --Jack Handy Deep Thoughts www.joeswammi.com ↔ www.humanaiproject.org

                                R 1 Reply Last reply
                                0
                                • J JoeSox

                                  Vikram Punathambekar wrote: Though I wonder if we already aren't a society that thinks it can do everything and understands nothing. :laugh: No kidding, pretty soon someone will think we can land on the moon.:~ Later, JoeSox One thing vampire children have to be taught early on is, don't run with wooden stakes. --Jack Handy Deep Thoughts www.joeswammi.com ↔ www.humanaiproject.org

                                  R Offline
                                  R Offline
                                  Roger Wright
                                  wrote on last edited by
                                  #20

                                  JoeSox wrote: someone will think we can land on the moon. Since we laid off all the people who know how to accomplish that trick when the Apollo program ended, I would hope that people realize that we no longer have a clue how to do that anymore. Robotic orbital stuff we know, but for manned landings we're going to have to start from scratch again - the experts are all living out of shopping carts now, or dead from lack of health care. "Your village called -
                                  They're missing their idiot."

                                  J R 2 Replies Last reply
                                  0
                                  • R Roger Wright

                                    JoeSox wrote: someone will think we can land on the moon. Since we laid off all the people who know how to accomplish that trick when the Apollo program ended, I would hope that people realize that we no longer have a clue how to do that anymore. Robotic orbital stuff we know, but for manned landings we're going to have to start from scratch again - the experts are all living out of shopping carts now, or dead from lack of health care. "Your village called -
                                    They're missing their idiot."

                                    J Offline
                                    J Offline
                                    JoeSox
                                    wrote on last edited by
                                    #21

                                    Roger Wright wrote: the experts are all living out of shopping carts now, or dead from lack of health care. So tying this all together now, software innovation and it's complexity is dependent on the innovation and complexity your team is capable of. Starting from the top down. ah, that sounds about right. I would tend to think that bureaucracy and politics also inhibits innovation, not as much complexity. Later, JoeSox One thing vampire children have to be taught early on is, don't run with wooden stakes. --Jack Handy Deep Thoughts www.joeswammi.com ↔ www.humanaiproject.org

                                    1 Reply Last reply
                                    0
                                    • R Roger Wright

                                      JoeSox wrote: someone will think we can land on the moon. Since we laid off all the people who know how to accomplish that trick when the Apollo program ended, I would hope that people realize that we no longer have a clue how to do that anymore. Robotic orbital stuff we know, but for manned landings we're going to have to start from scratch again - the experts are all living out of shopping carts now, or dead from lack of health care. "Your village called -
                                      They're missing their idiot."

                                      R Offline
                                      R Offline
                                      Rob Manderson
                                      wrote on last edited by
                                      #22

                                      Going off on a tangent, as I'm wont to do at times... In June I played the part of tourist in Washington DC and visited, among many other things, the Smithsonian Institute for Aerospace (or whatever it was called). On display they had the Apollo 11 reentry module. Man those three guys must have had cajones!! Not much more space than a coffin and what little of the technology was visible was ancient, even for 1969. Yup, I understand a little thing called design cycles and wouldn't expect 1969 technology to be present in 1969 spacecraft. Given that I had to fly back from the east coast to Phoenix I chose not to speculate on what era technology was in use on the 737's I'd be travelling in :) Rob Manderson http://www.mindprobes.net "I killed him dead cuz he was stepping on my turf, cutting me out of my bling the same way my ho cuts cookies, officer" "Alright then, move along" - Ian Darling, The Lounge, Oct 10 2003

                                      R 1 Reply Last reply
                                      0
                                      • R Roger Wright

                                        Nobody cares much about apathy, either, but what can you do? :sigh: "Your village called -
                                        They're missing their idiot."

                                        P Offline
                                        P Offline
                                        Paul Watson
                                        wrote on last edited by
                                        #23

                                        Meh. regards, Paul Watson Bluegrass South Africa Anna-Jayne Metcalfe wrote: "Cynicism has it's place in life - but it should be kept well away from your inner self." Crikey! ain't life grand?

                                        1 Reply Last reply
                                        0
                                        • T Taka Muraoka

                                          Matt Gullett wrote: in reality, we are becoming dependent on previously hidden complexity and dependent on how that complexity was dealt with. But this is inevitable. You can't build more complex systems without abstracting and simplifying the underlying systems. How many people can do low-level repairs on their cars? Grow their own food? Fix their TV. Build a house. And so on. As things get more complicated, we have to specialize, unless you want to go back a few millenia when life was a bit simpler :-)


                                          "Sucks less" isn't progress - Kent Beck [^] Awasu 1.1.3 [^]: A free RSS reader with support for Code Project.

                                          P Offline
                                          P Offline
                                          Paul Watson
                                          wrote on last edited by
                                          #24

                                          I agree we need abstraction and each year we explore new abstractions, some work and others don't. What I don't see us doing is revision, cutting of dead wood. Instead of taking the workable abstractions we learnt from 2002 and layering it over the core, we make the 2003 abstraction layer and put it on top of 2002s, including over the bits that were no good. A good card house builder will build and build, trying new ideas and methods, seeing what works and then starting again, starting with the methods that worked and leaving the methods that didn't. He does not simply continue to build on top of good and bad methods otherwise he would eventually have a rotten, unstable building. I believe we would end up with more useful abstractions while reamining close enough to the core values. Unfortuanatley it requires extra work this approach, some of it dull and un-marketable and therefore it is not going to come from companies. regards, Paul Watson Bluegrass South Africa Anna-Jayne Metcalfe wrote: "Cynicism has it's place in life - but it should be kept well away from your inner self." Crikey! ain't life grand?

                                          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