[go: up one dir, main page]

|
|
Log in / Subscribe / Register

Quotes of the week

We are not conducting a scientific research experiment here. We are conducting a very large software *engineering* project here.

So perhaps we should be using robust software engineering processes rather than academic peer review as the model for our code review process?

Dave Chinner

So you (or rather Intel in general) will have to be very explicit on how their stuff works and can no longer hide in some driver and do magic. The same is true for all other vendors for that matter.

If you (vendors [...]) do not want to play (and be explicit and expose how your hardware functions) then you simply will not get power efficient scheduling full stop.

There's no rocks to hide under, no magic veils to hide behind. You tell _in_public_ or you get nothing.

Peter Zijlstra

to post comments

There is no such thing as

Posted Jun 12, 2014 3:21 UTC (Thu) by HelloWorld (guest, #56129) [Link] (9 responses)

“robust software engineering processes”. Edsger Dijkstra had this to say about “software engineering”:
> if you carefully read its literature and analyse what its devotees actually do, you will discover that software engineering has accepted as its charter “How to program if you cannot.”.

There is no such thing as

Posted Jun 12, 2014 22:36 UTC (Thu) by kjp (guest, #39639) [Link] (1 responses)

Yeah, "robust software engineering processes" made me do an eye roll too - ironcally, such a phrase itself sounds a bit academic.

But there _is_ . . .

Posted Jun 12, 2014 23:07 UTC (Thu) by pjhacnau (subscriber, #4223) [Link]

It was just after reading that quote I came across commit cf7eb979116c2568e8bc3b6a7269c7a359864ace where Thomas Gleixner refers to something (sadly) more prevalent - "trainwreck engineering".

There is no such thing as

Posted Jun 15, 2014 23:30 UTC (Sun) by dgc (subscriber, #6611) [Link] (6 responses)

I'm so glad that Mr Dijkstra didn't build bridges.....

Public: "The bridge fell down! Did you load test your design?"
Mr Bridge Designer: "No, mechanical engineering is for people who can't do maths."

There is no such thing as

Posted Jun 16, 2014 21:08 UTC (Mon) by HelloWorld (guest, #56129) [Link] (5 responses)

You're implying that what people like to call “software engineering” actually has anything to do with engineering. It doesn't.

There is no such thing as

Posted Jun 17, 2014 1:20 UTC (Tue) by dgc (subscriber, #6611) [Link] (4 responses)

I sense you don't quite understand the difference between programming and engineering. Programming is a *tool* used to build things, engineering is the *discipline* of building things *successfully*.

Indeed, programming is something we are demonstratedly bad at - software fails all the time, everywhere. Hence we need a discipline that wraps our programming tools that minimises failures. That's what software engineering is, and that's how I use it.

Now, go back and read your original Dijkstra quote from this perspective: that the human race cannot program. The meaning is now the exact opposite of what you originally intended it to prove. i.e. in the context of "nobody can program", it implies that we should all be engineering software rather than "programming".

There is no such thing as

Posted Jun 17, 2014 2:20 UTC (Tue) by HelloWorld (guest, #56129) [Link] (1 responses)

> Programming is a *tool*
No, programming is an activity.

> Indeed, programming is something we are demonstratedly bad at - software fails all the time, everywhere. Hence we need a discipline that wraps our programming tools that minimises failures. That's what software engineering is
No, it's not, that's what the quote says. Perhaps you'd like it to be that, but it isn't.

> The meaning is now the exact opposite of what you originally intended it to prove. i.e. in the context of "nobody can program", it implies that we should all be engineering software rather than "programming".
Err… no. That's just nonsense.

There is no such thing as

Posted Jun 17, 2014 14:30 UTC (Tue) by ortalo (guest, #4654) [Link]

Seconded.

BTW, did you know that LWN comments needed to be more than 10 characters?
Initially, I only wanted my comment to consist of the first word; but that builtin constraint obliged me to rethink the issue. On second thought however I came exactly to the same conclusion.

There is no such thing as

Posted Jun 19, 2014 2:06 UTC (Thu) by donbarry (guest, #10485) [Link] (1 responses)

Dijkstra had much to say on this subject: it's well worth reading.

His argument was that software design was substantially harder than was usually supposed, and that we were/are in the infancy of learning how to do it right. He argued for a highly formal, symbolic approach, which could be verified and proven correct. And he developed quite a bit of mathematical infrastructure towards that end. His methods were used, for instance, when Intel discovered their famous hardware divide bug: the microcode in subsequent processors was "proven" correct through formal means.

Dijkstra maintained that programming was a particularly hard area of applied mathematics -- "the poorer mathematicians had better remain pure mathematicians." He was, of course, trained as a mathematician himself. But he was also a noted programmer and language designer, who advocated for clarity and simplicity above all in language design. He was one of the significant fathers of Algol 60, and personally wrote its (if memory serves, first) compiler, using pen and paper, his ubiquitous tools.

His arguments have proven prescient. The progress of the useful arts is always impeded by what he termed "unmanaged complexity", and he relentlessly warred against it. Other, more mature areas of engineering, have developed tools, methodologies, and theory which has proven quite successful in managing complexity. Computer programming is in its utter infancy compared to them.

There is no such thing as

Posted Jun 19, 2014 13:43 UTC (Thu) by etienne (guest, #25256) [Link]

> Other, more mature areas of engineering, have developed tools, methodologies, and theory which has proven quite successful in managing complexity.

I have never really understood why people try to prove that some re-written source lines in some algorithm are correct, instead of the basic design philosophy of never re-writing anything, like in the old Smalltalk environment.
Surely, something which is currently used millions of times per second is working, and you could change the Smalltalk function - if you introduced even the most un-triggable bug you would notice immediately (by a complete crash).
Is that because under Smalltalk you cannot sell a pre-compiled application, you have to give source code, so you cannot sell software? Is that still important in those GPL days?


Copyright © 2014, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds