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. Can software be built similarly?

Can software be built similarly?

Scheduled Pinned Locked Moved The Lounge
combusinessquestionannouncementlounge
29 Posts 21 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.
  • B BernardIE5317

    How 1,500 Chinese Workers Built a Railroad in Only 9 Hours https://www.msn.com/en-us/money/companies/how-1-500-chinese-workers-built-a-railroad-in-only-9-hours/vi-BB1oUxFR?ocid=socialshare&pc=U531&cvid=94ce8d284d3f4113b1b7d0cc27aeb0c7&ei=10[^] China built an emergency hospital to treat Wuhan coronavirus patients in just 10 days https://www.businessinsider.com/how-china-managed-build-entirely-new-hospital-in-10-days-2020-2[^] Chinese builder puts up 57-story skyscraper in 19 days https://apnews.com/general-news-finance-business-finance-business-82ebe4bf0a8b4c079c7a3e8932b6936f[^] "Dripping water hollows out stone, not through force, but through persistence." - Ovid, Roman poet

    A Offline
    A Offline
    Amarnath S
    wrote on last edited by
    #9

    BernardIE5317 wrote:

    builder puts up 57-story skyscraper in 19 days

    Give them a change request to add an additional basement floor to that skyscraper. Yet, that's what we sometimes do in software, isn't it? Causing the recent BSOD outage.

    1 Reply Last reply
    0
    • B BernardIE5317

      How 1,500 Chinese Workers Built a Railroad in Only 9 Hours https://www.msn.com/en-us/money/companies/how-1-500-chinese-workers-built-a-railroad-in-only-9-hours/vi-BB1oUxFR?ocid=socialshare&pc=U531&cvid=94ce8d284d3f4113b1b7d0cc27aeb0c7&ei=10[^] China built an emergency hospital to treat Wuhan coronavirus patients in just 10 days https://www.businessinsider.com/how-china-managed-build-entirely-new-hospital-in-10-days-2020-2[^] Chinese builder puts up 57-story skyscraper in 19 days https://apnews.com/general-news-finance-business-finance-business-82ebe4bf0a8b4c079c7a3e8932b6936f[^] "Dripping water hollows out stone, not through force, but through persistence." - Ovid, Roman poet

      D Offline
      D Offline
      Dave Kreskowiak
      wrote on last edited by
      #10

      In short, no. What was built is not what you would call a full hospital. It's more a stripped-down "hospital" with well understood modules that could be mass-produced and assembled like Lego. The same with a railroad, where everything is a known, small, and easily assembled. The skyscraper was the same way. A simple skyscraper, with nearly every floor the same, easily mass-produced, brought to the site and stacked. Is it up to the standards that we would use? No. Seriously, have you seen some of the software that comes out of China? China doesn't build software like they build those buildings.

      Asking questions is a skill CodeProject Forum Guidelines Google: C# How to debug code Seriously, go read these articles. Dave Kreskowiak

      P H 2 Replies Last reply
      0
      • Sander RosselS Sander Rossel

        Let's say that is, in theory, possible. The amount of time it would take to design and plan ahead would probably make it more efficient to hire less programmers and do less planning. A railroad or building will have many knowns (because every railroad and building is essentially the same, if you're not doing crazy stuff) while software has a whole lot of unknowns. So every method, method name, number and order of arguments, probably class names, etc. will have to be thought out in advance. That's basically saying a few people will write the software up front and then we'll hire 100.000 programmers to fill in a few of the details. So then, let's say you got to the point where 100.000 programmers can write 100.000 methods simultaneously (after probably years or planning and designing). Those methods are probably going to call one another, but that's not possible because those methods are still being written! But let's say you get around that by using a dynamic language like JavaScript or Python. Now you can't test them because each of the 100.000 programmers will have to get the spelling, casing, order of arguments, etc. correct right from the get go without being able to see, verify or test if the other programmer has, indeed, followed the design to the letter (here you can see why designing to that level would be ridiculous). But let's say these programmers even got that right and they're going to commit their code... Imagine the merge conflicts! X| Unless, of course, each method has a seperate file, but then that would have to be designed to and those files would somehow need to come together. All in all, it's not very practical and would take so much time and effort and be so error prone that it's, for all practical reasons, not possible.

        Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript

        P Offline
        P Offline
        PIEBALDconsult
        wrote on last edited by
        #11

        Sander Rossel wrote:

        order of arguments

        Like one of my pet peeves about .net: public ArgumentException (string? message, string? paramName); public ArgumentNullException (string? paramName, string? message); public ArgumentOutOfRangeException (string? paramName, string? message); In my opinion, ArgumentException has the parameters in the correct order.

        Sander RosselS 1 Reply Last reply
        0
        • B BernardIE5317

          How 1,500 Chinese Workers Built a Railroad in Only 9 Hours https://www.msn.com/en-us/money/companies/how-1-500-chinese-workers-built-a-railroad-in-only-9-hours/vi-BB1oUxFR?ocid=socialshare&pc=U531&cvid=94ce8d284d3f4113b1b7d0cc27aeb0c7&ei=10[^] China built an emergency hospital to treat Wuhan coronavirus patients in just 10 days https://www.businessinsider.com/how-china-managed-build-entirely-new-hospital-in-10-days-2020-2[^] Chinese builder puts up 57-story skyscraper in 19 days https://apnews.com/general-news-finance-business-finance-business-82ebe4bf0a8b4c079c7a3e8932b6936f[^] "Dripping water hollows out stone, not through force, but through persistence." - Ovid, Roman poet

          M Offline
          M Offline
          Mircea Neacsu
          wrote on last edited by
          #12

          All these examples show building speed, not design speed. No one said how long it took to design the skyscraper, the railroad or the hospital. In our field, writing a program is making a design not a product; the build phase is up to a compiler/linker and those have tremendous speed and are incredibly cheap. Let's not compare apples and oranges.

          Mircea

          J 1 Reply Last reply
          0
          • M Mircea Neacsu

            All these examples show building speed, not design speed. No one said how long it took to design the skyscraper, the railroad or the hospital. In our field, writing a program is making a design not a product; the build phase is up to a compiler/linker and those have tremendous speed and are incredibly cheap. Let's not compare apples and oranges.

            Mircea

            J Offline
            J Offline
            Jeremy Falcon
            wrote on last edited by
            #13

            You beat me to it. If there was a blueprint that was 100% thorough, already done and thought out, etc. then in theory that could happen. But, software dev is never like that. People want change and customization when they hire custom dev work... otherwise why hire devs. So, in reality that theory never holds up.

            Jeremy Falcon

            M 1 Reply Last reply
            0
            • J Jeremy Falcon

              You beat me to it. If there was a blueprint that was 100% thorough, already done and thought out, etc. then in theory that could happen. But, software dev is never like that. People want change and customization when they hire custom dev work... otherwise why hire devs. So, in reality that theory never holds up.

              Jeremy Falcon

              M Offline
              M Offline
              Mircea Neacsu
              wrote on last edited by
              #14

              Jeremy Falcon wrote:

              But, software dev is never like that. People want change and customization when they hire custom dev work

              Totally agree. The comparison I was making before (design = writing programs, build = compiling/linking) is not mine. I read it somewhere but I find it very true and it also "explains" other differences between software projects and construction projects. Stuff like why software piracy is a lot more prevalent than bridge or house piracy. You can get plans for my house from city hall but building it is still gonna cost you a good chunk of money. Meanwhile if you get my source code, building it takes mere seconds. Also changes like adding 10 meters to a bridge, or an entire traffic lane: this is done, but the result is a new bridge and it will be built in 30-40 years when the current one was amortized. That's because building is so expensive. For software, building is incredibly cheap and people are asking for new versions all the time, ignoring the cost of design.

              Mircea

              1 Reply Last reply
              0
              • D Dave Kreskowiak

                In short, no. What was built is not what you would call a full hospital. It's more a stripped-down "hospital" with well understood modules that could be mass-produced and assembled like Lego. The same with a railroad, where everything is a known, small, and easily assembled. The skyscraper was the same way. A simple skyscraper, with nearly every floor the same, easily mass-produced, brought to the site and stacked. Is it up to the standards that we would use? No. Seriously, have you seen some of the software that comes out of China? China doesn't build software like they build those buildings.

                Asking questions is a skill CodeProject Forum Guidelines Google: C# How to debug code Seriously, go read these articles. Dave Kreskowiak

                P Offline
                P Offline
                PIEBALDconsult
                wrote on last edited by
                #15

                Dave Kreskowiak wrote:

                China doesn't build software like they build those buildings.

                Maybe they need construction cheerleaders?

                1 Reply Last reply
                0
                • P Peter_in_2780

                  Allow me to quote Fred Brooks, in The Mythical Man-Month (1972)

                  He wrote:

                  ... when schedule slippage is recognized, the natural (and traditional) response is to add manpower. Like dousing a fire with gasoline, this makes matters worse, much worse. More fire requires more gasoline, and thus begins a regenerative cycle which ends in disaster.

                  If you haven't already, get yourself a copy. Even 50 years later, that book is full of relevant stuff. Also, remember that impregnating nine women will not produce a baby in one month. (Software is not quite the same as babies, but sometimes I wonder...)

                  Software rusts. Simon Stephenson, ca 1994. So does this signature. me, 2012

                  H Offline
                  H Offline
                  honey the codewitch
                  wrote on last edited by
                  #16

                  I read that before I got my first defacto project management position (senior dev, but we didn't have a PM per se) and it stuck with me.

                  Check out my IoT graphics library here: https://honeythecodewitch.com/gfx And my IoT UI/User Experience library here: https://honeythecodewitch.com/uix

                  1 Reply Last reply
                  0
                  • D Dave Kreskowiak

                    In short, no. What was built is not what you would call a full hospital. It's more a stripped-down "hospital" with well understood modules that could be mass-produced and assembled like Lego. The same with a railroad, where everything is a known, small, and easily assembled. The skyscraper was the same way. A simple skyscraper, with nearly every floor the same, easily mass-produced, brought to the site and stacked. Is it up to the standards that we would use? No. Seriously, have you seen some of the software that comes out of China? China doesn't build software like they build those buildings.

                    Asking questions is a skill CodeProject Forum Guidelines Google: C# How to debug code Seriously, go read these articles. Dave Kreskowiak

                    H Offline
                    H Offline
                    honey the codewitch
                    wrote on last edited by
                    #17

                    Espressif (a fabless semiconductor company out of China) makes decent software for their MCU products. The ESP-IDF for the most part is well thought out, and easier to code against than many other embedded software frameworks.

                    Check out my IoT graphics library here: https://honeythecodewitch.com/gfx And my IoT UI/User Experience library here: https://honeythecodewitch.com/uix

                    1 Reply Last reply
                    0
                    • G Gary R Wheeler

                      Peter_in_2780 wrote:

                      Software is not quite the same as babies

                      The difference is that software :elephant:s you back.

                      Software Zen: delete this;

                      N Offline
                      N Offline
                      Nelek
                      wrote on last edited by
                      #18

                      And babies piss or poops on you... :rolleyes: ;P :laugh:

                      M.D.V. ;) If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about? Help me to understand what I'm saying, and I'll explain it better to you Rating helpful answers is nice, but saying thanks can be even nicer.

                      P 1 Reply Last reply
                      0
                      • Greg UtasG Greg Utas

                        Peter_in_2780 wrote:

                        If you haven't already, get yourself a copy. Even 50 years later, that book is full of relevant stuff.

                        Indeed. A true software classic. Plan to throw one away; you will, anyway.

                        Robust Services Core | Software Techniques for Lemmings | Articles
                        The fox knows many things, but the hedgehog knows one big thing.

                        P Offline
                        P Offline
                        Peter_in_2780
                        wrote on last edited by
                        #19

                        Greg Utas quoted Fred Brooks:

                        Plan to throw one away; you will, anyway.

                        In a similar vein, the common saying

                        Think, Think, Think!

                        really means

                        discard your first thought, consider the second, and act on the third.

                        Software rusts. Simon Stephenson, ca 1994. So does this signature. me, 2012

                        1 Reply Last reply
                        0
                        • N Nelek

                          And babies piss or poops on you... :rolleyes: ;P :laugh:

                          M.D.V. ;) If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about? Help me to understand what I'm saying, and I'll explain it better to you Rating helpful answers is nice, but saying thanks can be even nicer.

                          P Offline
                          P Offline
                          Peter_in_2780
                          wrote on last edited by
                          #20

                          Nelek wrote:

                          babies piss or poops on you...

                          You telling me software doesn't?

                          Software rusts. Simon Stephenson, ca 1994. So does this signature. me, 2012

                          1 Reply Last reply
                          0
                          • B BernardIE5317

                            How 1,500 Chinese Workers Built a Railroad in Only 9 Hours https://www.msn.com/en-us/money/companies/how-1-500-chinese-workers-built-a-railroad-in-only-9-hours/vi-BB1oUxFR?ocid=socialshare&pc=U531&cvid=94ce8d284d3f4113b1b7d0cc27aeb0c7&ei=10[^] China built an emergency hospital to treat Wuhan coronavirus patients in just 10 days https://www.businessinsider.com/how-china-managed-build-entirely-new-hospital-in-10-days-2020-2[^] Chinese builder puts up 57-story skyscraper in 19 days https://apnews.com/general-news-finance-business-finance-business-82ebe4bf0a8b4c079c7a3e8932b6936f[^] "Dripping water hollows out stone, not through force, but through persistence." - Ovid, Roman poet

                            D Offline
                            D Offline
                            Daniel Pfeffer
                            wrote on last edited by
                            #21

                            In a word, no. As someone else mentioned here, building software is equivalent to the design phase of building hardware. I guarantee that the design team for the railway took longer than 9 hours to plan the railway, and that adding people to the design team would not have materially shortened the design process.

                            Freedom is the freedom to say that two plus two make four. If that is granted, all else follows. -- 6079 Smith W.

                            1 Reply Last reply
                            0
                            • B BernardIE5317

                              As I recall the discussion to which you refer is re/ projects in full progress and significantly advanced. The articles to which I refer are projects which are fully designed though yet to be implemented. Assuming the design of a software project is complete well documented and accepted it is not obvious to me why 100,000 programmers can not be hired to implement one of each of the 100,000 methods of the project and bingo presto voila the project is complete in no time at all and ready for integration test. "We can't solve today's problems with the mentality that created them." Albert Einstein,

                              R Offline
                              R Offline
                              Ravi Bhavnani
                              wrote on last edited by
                              #22

                              BernardIE5317 wrote:

                              it is not obvious to me why 100,000 programmers can not be hired to implement one of each of the 100,000 methods of the project

                              Because software engineering is not a task like making toast or painting fences.  (With no offense to makers of toast and painters of fences.) Methods aren't worked on in isolation.  While a 100K engineers could write a 100K methods in a few minutes, they can't design a 100K methods in a few minutes. /ravi

                              My new year resolution: 2048 x 1536 Home | Articles | My .NET bits | Freeware ravib(at)ravib(dot)com

                              1 Reply Last reply
                              0
                              • B BernardIE5317

                                How 1,500 Chinese Workers Built a Railroad in Only 9 Hours https://www.msn.com/en-us/money/companies/how-1-500-chinese-workers-built-a-railroad-in-only-9-hours/vi-BB1oUxFR?ocid=socialshare&pc=U531&cvid=94ce8d284d3f4113b1b7d0cc27aeb0c7&ei=10[^] China built an emergency hospital to treat Wuhan coronavirus patients in just 10 days https://www.businessinsider.com/how-china-managed-build-entirely-new-hospital-in-10-days-2020-2[^] Chinese builder puts up 57-story skyscraper in 19 days https://apnews.com/general-news-finance-business-finance-business-82ebe4bf0a8b4c079c7a3e8932b6936f[^] "Dripping water hollows out stone, not through force, but through persistence." - Ovid, Roman poet

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

                                I think "built" is the wrong use of words. I would use "assembled". If the plans are done, and you just need to implement according to an established standard by assembling pre-established components according to a pre-established pattern. . . then yes. Kind of the way that building a car can be done by hand, but usually it's done on a production "assembly" line. That's one of the tantalising possibilities of low code environments. But just because, you can, doesn't mean that anyone can, or that the results are spectacular. Methinks doing work very rapidly has implications with regard to quality, and what might be accepted and acceptable.

                                B 1 Reply Last reply
                                0
                                • P Paul Mauriks

                                  I think "built" is the wrong use of words. I would use "assembled". If the plans are done, and you just need to implement according to an established standard by assembling pre-established components according to a pre-established pattern. . . then yes. Kind of the way that building a car can be done by hand, but usually it's done on a production "assembly" line. That's one of the tantalising possibilities of low code environments. But just because, you can, doesn't mean that anyone can, or that the results are spectacular. Methinks doing work very rapidly has implications with regard to quality, and what might be accepted and acceptable.

                                  B Offline
                                  B Offline
                                  BernardIE5317
                                  wrote on last edited by
                                  #24

                                  I have limited experience re/ large software projects. I was imagining an initial lengthy process of design specifying all or as many as possible of the classes functions etc. required in terms of their interfaces only leaving details of implementation to each of the 100,000 assigned programmers. So no pre-established components rather pre-specified components.

                                  1 Reply Last reply
                                  0
                                  • P PIEBALDconsult

                                    Sander Rossel wrote:

                                    order of arguments

                                    Like one of my pet peeves about .net: public ArgumentException (string? message, string? paramName); public ArgumentNullException (string? paramName, string? message); public ArgumentOutOfRangeException (string? paramName, string? message); In my opinion, ArgumentException has the parameters in the correct order.

                                    Sander RosselS Offline
                                    Sander RosselS Offline
                                    Sander Rossel
                                    wrote on last edited by
                                    #25

                                    It looked strange to me at first, but I think I get it. With the ArgumentException it's not clear what is wrong with the argument, so you must specify a message for further details. In that case the paramName is secundary because it could also be hard coded in the message or the error could relate to multiple parameters. With the Null and OutOfRange exceptions the error is clear even without a message and a default message would suffice, so you'd rarely specify a message. What's more important is what parameter the error refers to. Hence the "switch" in parameter order.

                                    Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript

                                    1 Reply Last reply
                                    0
                                    • B BernardIE5317

                                      How 1,500 Chinese Workers Built a Railroad in Only 9 Hours https://www.msn.com/en-us/money/companies/how-1-500-chinese-workers-built-a-railroad-in-only-9-hours/vi-BB1oUxFR?ocid=socialshare&pc=U531&cvid=94ce8d284d3f4113b1b7d0cc27aeb0c7&ei=10[^] China built an emergency hospital to treat Wuhan coronavirus patients in just 10 days https://www.businessinsider.com/how-china-managed-build-entirely-new-hospital-in-10-days-2020-2[^] Chinese builder puts up 57-story skyscraper in 19 days https://apnews.com/general-news-finance-business-finance-business-82ebe4bf0a8b4c079c7a3e8932b6936f[^] "Dripping water hollows out stone, not through force, but through persistence." - Ovid, Roman poet

                                      M Offline
                                      M Offline
                                      Mateusz Jakub
                                      wrote on last edited by
                                      #26

                                      You confuse building with planning. In software building is actually compilation/bundling or running software step. Programming is planning like planning layout of tracks or planning rooms, which equipment should be where etc.. How long did it take to make plans for railroad or hospital? Keep in mind they most likely had already existing plans like having plans for emergency hospital ready in case they need them. But creating those plans most likely took much longer or those plans were reused from existing ones. Most likely all building components were prepared beforehand and no one counted time how much it takes to align stuff before you can "build a railroad in only 9 hours" - I can say by bringing in tools and materials for 3 months or more in advance.

                                      1 Reply Last reply
                                      0
                                      • B BernardIE5317

                                        How 1,500 Chinese Workers Built a Railroad in Only 9 Hours https://www.msn.com/en-us/money/companies/how-1-500-chinese-workers-built-a-railroad-in-only-9-hours/vi-BB1oUxFR?ocid=socialshare&pc=U531&cvid=94ce8d284d3f4113b1b7d0cc27aeb0c7&ei=10[^] China built an emergency hospital to treat Wuhan coronavirus patients in just 10 days https://www.businessinsider.com/how-china-managed-build-entirely-new-hospital-in-10-days-2020-2[^] Chinese builder puts up 57-story skyscraper in 19 days https://apnews.com/general-news-finance-business-finance-business-82ebe4bf0a8b4c079c7a3e8932b6936f[^] "Dripping water hollows out stone, not through force, but through persistence." - Ovid, Roman poet

                                        S Offline
                                        S Offline
                                        snorkie
                                        wrote on last edited by
                                        #27

                                        That is like asking if 9 women can have a baby in a month :laugh:

                                        Hogan

                                        1 Reply Last reply
                                        0
                                        • B BernardIE5317

                                          How 1,500 Chinese Workers Built a Railroad in Only 9 Hours https://www.msn.com/en-us/money/companies/how-1-500-chinese-workers-built-a-railroad-in-only-9-hours/vi-BB1oUxFR?ocid=socialshare&pc=U531&cvid=94ce8d284d3f4113b1b7d0cc27aeb0c7&ei=10[^] China built an emergency hospital to treat Wuhan coronavirus patients in just 10 days https://www.businessinsider.com/how-china-managed-build-entirely-new-hospital-in-10-days-2020-2[^] Chinese builder puts up 57-story skyscraper in 19 days https://apnews.com/general-news-finance-business-finance-business-82ebe4bf0a8b4c079c7a3e8932b6936f[^] "Dripping water hollows out stone, not through force, but through persistence." - Ovid, Roman poet

                                          E Offline
                                          E Offline
                                          Ed Kautz
                                          wrote on last edited by
                                          #28

                                          Yes. It could be.

                                          As pointed out previously, the design, structure, materials, etc. used for buildings are all standard. You don't have 40 different companies each with their own 'unique' way to build a building/room/wall/floor/etc. Each building may have slight modifications based on needs, but are generally minor modifications not greatly affecting the overall timeline of the build.

                                          Yet in the software world, there are multiple 'unique' systems for financial institutions, purchasing, inventory, medical, insurance, etc. All the systems of same-type are primarily providing the same service but developed/programmed differently.

                                          Software could be simplified to the extent of building a building if a single programming language could be developed and used to build a standard base system/application, and standard add-on modules, and a tool to modify the standard modules as needed, be it drag-drop, editing, etc. Then projects could be completed in much faster, reducing time and costs.

                                          There would only be one financial system, one purchasing system, etc. Just modify it as needed, or pay for the features as needed.

                                          But this would make all current languages obsolete. Many would loose jobs since the reduced need of programmers knowing defunct languages, except to keep current systems maintained. There would also be a reduction of duplicate developement projects, reduced need of project managers, architects. AI would also gain a stronger foot-hold in development based on the new standard language. If a bank could ask AI online to produce for them a system with x,y,z features, it would be like ordering a fast-food burger, hold the onions, add cheese and bacon.

                                          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