On 03/03/17 11:35 AM, Stefan Seyfried wrote:
I really could not care less who writes a piece of software. If it works well.
That's a it simplistic. Its simplistic on a number of counts. First and foremost, "works well" .. for who (or is it 'whom'? Are there any Grammar-nazis around?) ... and under what conditions and constraints? Lennart pointed out that SysVinit could fail and break the system under quite a number of conditions. Then there are issue to do with what I'd term 'communication'. Is the code clear? That begins with not in-line comments or a man page, but with a clear statement of architecture and objectives. On that count, systemd wins hands down over SysVInit, which has no formal design, no defined protocols, is all 'informal' and 'just grew'. In fact that's its problem, some code did things that were not very good, for reasons that were unclear. Which gets into the issue of 'maintainability.' If you've ever been a maintenance programmer you'll know that having a clear statement of architecture and objectives, what the code is doing (or not doing) what it is, over and above the in-line comments, is vitally important. If you don't understand this then any changes you might make could end up being damaging. Some programmers do take this care. Some programmers make sure that their work is 'resilient', that is that "it works well - even when abused". So yes, I do care who writes it. Once, some years ago, I was in a library and met a lady who was taking a course about programming in C and struggling with it. I pulled a copy of Wales' book on the V6 kernel and showed it to her. pages of code and pages of explanation. Its not exactly a textbook on how to design a OS. I have a few of those (Thank you Andy, thank you Doug). But this is about practice not theory. It was one of the very few occasions I've seen someone's jaw drop. "I can understand this!". It was her "Zen Moment". She was being taught by someone who was probably a poor programmer and his course was churning out poor programmers. Dennis was a GOOD programmer, a GREAT programmer, not only because he could write clean and understandable code but because he had a VISION. Linus had a vision too. There are a few other programs I use that were built by people with a vision and with a discipline. All are incredibly well designed, well architected and well documented. None are simple. By comparison with some, systemd is small and simple. If you want 'complex' there's a lot of it about in Linux. Think of GCC, of VIM. VIM? Yes, its like systemd in many ways. And trust me, Bill Joy's original VI code was bloody awful! The designers of VIM threw it away and went back and worked on a properly architected editor that just happened to have the same UI. But because it was well architected from the start it became extensible in ways that Joy's wasn't, all without breaking it. A compiler is probably the most complicated piece of software you'll use, but GCC is, like systemd, like vim, very modular and extensible. Again, vision and architecture and coding discipline. I DO care about who writes the code I use. -- "Key escrow to rule them all; key escrow to find them. Key escrow to bring them all and in the darkness bind them. In the land of surveillance where Big Brother lies." -- Peter Gutmann -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org