Linked by Thom Holwerda on Fri 6th Jun 2008 22:28 UTC
Linux Linus Torvalds - a classic example of the love-it-or-hate-it type of person. Brilliant programmer, of course, and the father of one of the most extraordinary software projects in the world, but sometimes, he can be utterly arrogant any annoying, yet the other moment completely sensible and utterly spot-on in his statements. CBR listed the ten best Linus Torvalds quotes.
Thread beginning with comment 317685
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE[6]: Torvalds
by krreagan on Sun 8th Jun 2008 03:01 UTC in reply to "RE[5]: Torvalds "
krreagan
Member since:
2008-04-08

It's a huge monolithic "hacked" piece of SW when it should have been an "engineered" piece of SW.

What is the difference between a "monolithic hacked piece of sw" and "engineered piece of sw"? Windows NT kernel too is a monolithic kernel, yet you aren't complaining about it. And what do you mean with "hacked"? The fact that it has been brought together by developers around the world for free instead of a company who has hired them to work on the kernel around the world? Just stating a fact doesn't make one design decision better or worse than an other, mostly because they are based on opinions or because they are suited for one task better than another one. So, Krreagan, please do explain in-depth what is wrong with the Linux kernel? Because if you fail to describe the real reasons WHY you think one or another feature is inferior to some other implementation then you are just trying to spread some bulls*it here and no one will believe you.

This discussion is not about NT (or its legacy), for which I am more or less ignorant about its design and implementation.

"hacked" is a piece of SW that has no real design, it's just regurgitated as its hacked together! It's characterized by large amounts of debugging, recoding and re-debugging, typically more time is spent in the debugging phase then in the coding phase. Can you show me a detailed design document for the (extremely complex) Linux kernel? I doubt it, and one that was written after the coding does not count.

An engineered piece of SW is thoroughly designed beforehand, the coding is almost a formality. advanced algorithms are prototyped and tested ahead of time, not during the coding phase...

This is one reason why software engineering will never (in the foreseeable future at least) be seen as a true engineering discipline!... because hacking is too prevalent.

My use of the term monolithic was not directed at the (lack of a) design of the kernel as both (monolithic and micro) have their strong and weak points, but that is another discussion.

I'm not an evangilist in this religoous war I was just providing my opinion!

Krreagan

(BTW I do embedded development on PPC linux systems and am appalled that it is being used in aerospace embedded systems. If it was not for the fact that I have a family to support...)

Reply Parent Score: 1

RE[7]: Torvalds
by WereCatf on Sun 8th Jun 2008 03:45 in reply to "RE[6]: Torvalds "
WereCatf Member since:
2006-02-15

"hacked" is a piece of SW that has no real design, it's just regurgitated as its hacked together! It's characterized by large amounts of debugging, recoding and re-debugging, typically more time is spent in the debugging phase then in the coding phase. Can you show me a detailed design document for the (extremely complex) Linux kernel? I doubt it, and one that was written after the coding does not count.

Can YOU show me such a detailed design document for your favorite OS/kernel, one that was not written during or after the development itself? I doubt that. You see, a kernel is a living target. It will never be finished and feature-complete and new ways of achieving something comes often up during the actual development. If they had decided to follow some premade design documentation they'd be hindering their coding.

And well, just because people spend a lot of time debugging doesn't mean the software is bad. It means they are just trying to make sure there are no bugs. In the case of kernel code which is very low-level software they of course have to debug it a lot. Even if they had some design document beforehand it still wouldn't remove the need for debugging.

This is one reason why software engineering will never (in the foreseeable future at least) be seen as a true engineering discipline!... because hacking is too prevalent.

As I said, they are fundamentally different situations. When you f.ex. construct something you design it, follow the design through and then you're done. Software which is supposed to only do one or another thing can easily also follow such a path but in the case of a kernel the software will never be complete. It is a living target and often you learn better ways to do things as you do them. It would be stupid to limit oneself to some premade decision at that point if the new way is superior.

So...I shall await for you to display me such premade design documentation for your OS of choice.

Reply Parent Score: 2

RE[8]: Torvalds
by krreagan on Sun 8th Jun 2008 15:47 in reply to "RE[7]: Torvalds "
krreagan Member since:
2008-04-08

You seem to think this is a comparison between OS's. It is not! It's a critique if Linux!

And well, just because people spend a lot of time debugging doesn't mean the software is bad. It means they are just trying to make sure there are no bugs. In the case of kernel code which is very low-level software they of course have to debug it a lot. Even if they had some design document beforehand it still wouldn't remove the need for debugging.

The amount of time that is spent on debugging is directly related to the quality of the original code, givin the final desired level of quality. Based on this, there is a huge waste if energy and time consumed in this phase of development on Linux. There is so much time debugging because there is no design! so new code always breaking old code because the developers have no idea what they are impacting by changing something! that is the legacy of the spaghetti code that the kernel is made of! It really is a cluster frack!

That's also one of the reasons why Linux will never be fundamentally better then it is now... It's just a mish-mash of features that are always in a partially complete (buggy) state. As you indicate there is no coherent design to Linux so it will never be a coherient OS.

It is a living target and often you learn better ways to do things as you do them. It would be stupid to limit oneself to some premade decision at that point if the new way is superior.

This is exactly why it should have a design! The fact that you do not see this indicates that you probably don't have a formal engineering degree.

If they had decided to follow some premade design documentation they'd be hindering their coding.

Spoken like a true hacker! You think with your fingers and shoot from the hip. Not from your brain!

Krreagan

Edited 2008-06-08 16:06 UTC

Reply Parent Score: 1