4 ms·
> “I suppose that’s all very well if you don’t know how to design software.” Could anyone who may have more information elaborate on what Wirth meant by saying
by begueradj 3y ago
> “I suppose that’s all very well if you don’t know how to design software.”
Could anyone who may have more information elaborate on what Wirth meant by saying this ? Thank you.
- tinco 3y agoHe's deriding the agile movement. He's saying if you don't know how to properly design software (up front), then he supposes that doing it in an iterative fashion is an acceptable alternative. The way he says it implies that he disapproves of it. In opinions such as this it pays to remind yourself that not everyone is faced with the same challenges. For all the esteem Wirth garners, I feel (at least at that time) his work on compilers and programming language design involves challenges that are very different from the challenges that inspired Extreme Programming.
- somewhereoutth 3y agoAnd not everyone has the same abilities. Tayloresquece methodologies like Agile are great for getting mediocre results for mediocre projects using mediocre developers (if they are not mediocre to begin with, certainly they will become so) in a repeatable and reportable fashion.
- zvmaz 3y ago> Tayloresquece methodologies like Agile are great for getting mediocre results for mediocre projects using mediocre developers (if they are not mediocre to begin with, certainly they will become so) in a repeatable and reportable fashion Nuanced, humble, and thoughtful opinion. Thank you.
- rramadass 3y agoHa, Ha! I absolutely love your phrasing! For those who may not know, "Tayloresque" refers to techniques pioneered by Frederick Winslow Taylor (https://en.wikipedia.org/wiki/Frederick_Winslow_Taylor https://en.wikipedia.org/wiki/Frederick_Winslow_Taylor) who introduced "Scientific Management Techniques" to increase worker productivity and efficiency in Factories. To the detriment of Humankind, his methods have been taken as gospel by the larger "Management Industry" from where they have bled into the "Knowledge Management Industry" causing all knowledgeable Software Engineers to rue their jobs/careers/lives.
- pts_ 3y agoThere's nothing mediocre about delivering features and bugfixes at the speed of light on whose correctness your reputation is based.
- deleted 3y ago[deleted]
- mjb 3y agoAnd that Worth worked primarily on systems that are many times smaller (maybe many orders of magnitude smaller) than today's biggest systems. It's no surprise, then, that the successful techniques are different. The right techniques to build a house, a skyscraper, a city, and a garden are different.
- morelisp 3y ago> systems that are many times smaller (maybe many orders of magnitude smaller) than today's biggest systems. This is a dangerous and misleading metric. You're right that different scale needs different techniques, but comparing sizes of actually existing systems in this way it's very easy to conclude your strongest designers who successfully wrangled a large problem into a simple system are your weakest designers because what they designed is so small.
- kragen 3y agothe empire state building is a bit more than an order of magnitude smaller than the great pyramid of khufu, if you go by weight that's why it can be taller, was built much faster, and has much more room inside. also, it has served its intended purpose, while as far as we can tell, khufu's pyramid failed to make him immortal; this is because it was based on flawed theories wirth's work should be an inspiration to see if we can make systems that are many times smaller, maybe many orders of magnitude smaller, than the systems we are unfortunately currently forced to maintain; and yet are more powerful than those systems
- extractionmech 3y agoIf you parse it, he is actually saying 2 things: 1: “very well”: methodology can help those without software design talent. You should stick to it if you know you can’t design software. 2: “don’t know”: Design can be learned but for the lazy there is methodology.
- jhbadger 3y agoIt reminds me of the famous exchange (which may have been apocryphal) between Dustin Hoffman and Sir Laurence Olivier. Hoffman was describing the "method" in which he got into the mind of the character he was going to portray by living as much as possible as the character did, wearing the same type of clothing, and trying to think like the character. Olivier, being a more traditional actor was said to have said "My boy, have you tried acting?"
- rramadass 3y ago"Extreme Programming (XP)" (https://en.wikipedia.org/wiki/Extreme_programming https://en.wikipedia.org/wiki/Extreme_programming) was the precursor to and origin of current Agile/Scrum and similar methodologies whose main tenet is that "Upfront Design is unnecessary" and "Design & Program as you go". Niklaus Wirth (along with Edsger Djikstra and other greats) had established the field of "Structured Design & Programming", "Top-Down Design", "Program Development by Stepwise Refinement" and similar techniques which laid the foundations of modern software development all of which had an emphasis on "Upfront Design"; You always Think before you Code. I am totally with Wirth (and the other greats); XP/Agile/Scrum are all lazy excuses used by people "who don't know how to design software".
- kragen 3y agothis is not a correct description of xp or of the history of software development certainly wirth and dijkstra laid the foundations of modern software development; so, too, did mccarthy, perlis, sussman, steele, kay, minsky, mcilroy, ritchie, thompson, and perhaps most of all stallman here's minsky: https://web.media.mit.edu/~minsky/papers/Why%20programming%20is--.html https://web.media.mit.edu/~minsky/papers/Why%20programming%2... article title: "WHY PROGRAMMING IS A GOOD MEDIUM FOR EXPRESSING POORLY UNDERSTOOD AND SLOPPILY-FORMULATED IDEAS"
- rramadass 3y agoIrrelevant; We are not trying to explain the history of software development here. The comment was in response to what Wirth could have meant when he said “I suppose that’s all very well if you don’t know how to design software.” It is in this context that my earlier comment needs to be UNDERSTOOD.