Can software be built similarly?
-
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.
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
-
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
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.
-
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,
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
-
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
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.
-
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.
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.
-
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.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
-
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
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.
-
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
-
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
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.
-
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
The thousands-of-programmers model assumes that the most time-consuming part of software development is typing the code into an editor. Designing the software is really the biggest piece of work, and it is more difficult to serialize because of the need to agree on a contract between any two communicating parts. Building software as pipelines or loosely coupled modules can help with this, but there is only so much available concurrency in the design process.