Interesting article

All off topic discussions go here. Everything from the funny thing your cat did to your favorite tv shows. Non-programming computer questions are ok too.
Post Reply
User avatar
Jvac
Member
Member
Posts: 58
Joined: Fri Mar 11, 2011 9:51 pm
Location: Bronx, NY

Interesting article

Post by Jvac »

Linus Torvalds’s Lessons on Software

The OP outlines many things. One of the most important:

"The other thing—and it's kind of related—that people seem to get wrong is to think that the code they write is what matters. No, even if you wrote 100% of the code, and even if you are the best programmer in the world and will never need any help with the project at all, the thing that really matters is the users of the code. The code itself is unimportant; the project is only as useful as people actually find it.”

And this:
"Way too many projects seem to think that the code is more important than the user, and they break things left and right, and they don't apologize for it, because they feel that they are ‘fixing’ the code and doing the right thing.”

So my question is when you code do you code for look and feel of your OS or do you have the user in mind?

Or you think about both?

Edit: What are your thoughts about the article?
"The best way to prepare for programming is to write programs, and
to study great programs that other people have written." - Bill Gates


Think beyond Windows ReactOS®
AndrewBuckley
Member
Member
Posts: 95
Joined: Thu Jan 29, 2009 9:13 am

Re: Interesting article

Post by AndrewBuckley »

Code, hands down. I am the user and my customer base wants the code to be correct.
User avatar
JackScott
Member
Member
Posts: 1031
Joined: Thu Dec 21, 2006 3:03 am
Location: Hobart, Australia
Contact:

Re: Interesting article

Post by JackScott »

I don't think it's as simple an abstraction as users vs. code. Nothing is ever that simple. I think if you were to abstract it down to that kind of granularity, a better comparison would be interfaces vs. implementation. I'm the kind of guy that would rather a set of neat interfaces between components (including a user interface to user interface) and a heap of messy implementation than the other way around.

Merlin: In my experience, what the customer wants is what they asked for. What they usually ask for is a useable program. Even if the code is perfect, a program isn't useable unless they can use it. ;) The only possible exception is cryptography and finance programs.
User avatar
Combuster
Member
Member
Posts: 9301
Joined: Wed Oct 18, 2006 3:45 am
Libera.chat IRC: [com]buster
Location: On the balcony, where I can actually keep 1½m distance
Contact:

Re: Interesting article

Post by Combuster »

Merlin wrote:I am the user and my customer base wants the code to be correct.
Jack scott seems to have skipped the most important part :D


Mostly technical design and code, because if it's done well the UI can be more effectively layered on top (and the same for any other functional requirement I want added/fixed later). And at the moment, my customer base too takes kicks out of code so I can't quite slack on that.
"Certainly avoid yourself. He is a newbie and might not realize it. You'll hate his code deeply a few years down the road." - Sortie
[ My OS ] [ VDisk/SFS ]
User avatar
JackScott
Member
Member
Posts: 1031
Joined: Thu Dec 21, 2006 3:03 am
Location: Hobart, Australia
Contact:

Re: Interesting article

Post by JackScott »

Combuster wrote:Jack scott seems to have skipped the most important part :D
D'oh!
cxzuk
Member
Member
Posts: 164
Joined: Mon Dec 21, 2009 6:03 pm

Re: Interesting article

Post by cxzuk »

I think every user wants a reliable product.
User avatar
Chandra
Member
Member
Posts: 487
Joined: Sat Jul 17, 2010 12:45 am

Re: Interesting article

Post by Chandra »

Jvac wrote:So my question is when you code do you code for look and feel of your OS or do you have the user in mind?

Or you think about both?
Actually, I place myself as a user of my own OS and ask myself, "Alright, I want this image edited, where's the graphics editor? Hey, why does this OS takes so long to format this drive? That's awful, you can't even re-size the window" and such.

The very next day, I come up with different ideas and implementations.
Programming is not about using a language to solve a problem, it's about using logic to find a solution !
Kevin
Member
Member
Posts: 1071
Joined: Sun Feb 01, 2009 6:11 am
Location: Germany
Contact:

Re: Interesting article

Post by Kevin »

Jvac wrote:So my question is when you code do you code for look and feel of your OS or do you have the user in mind?
I'm not aware of any users of tyndur. There are occasional testers who take a fresh image each time. So there's no real problem with compatibility.

As soon as you have people using your software (be it an OS (probably not) or any other program), this changes and you need to take care of stability. But I doubt that a noteworthy number of OSes here have that problem.
Developer of tyndur - community OS of Lowlevel (German)
Casm
Member
Member
Posts: 221
Joined: Sun Oct 17, 2010 2:21 pm
Location: United Kingdom

Re: Interesting article

Post by Casm »

Jvac wrote:"The other thing—and it's kind of related—that people seem to get wrong is to think that the code they write is what matters. No, even if you wrote 100% of the code, and even if you are the best programmer in the world and will never need any help with the project at all, the thing that really matters is the users of the code. The code itself is unimportant; the project is only as useful as people actually find it.”
A program written by techies for techies is fine, so long as you don't expect Joe Bloggs to use it. Of course I could name names, but I won't.
User avatar
NickJohnson
Member
Member
Posts: 1249
Joined: Tue Mar 24, 2009 8:11 pm
Location: Sunnyvale, California

Re: Interesting article

Post by NickJohnson »

Here's the question: does Linus mean the actual end user as the "user of the code", or does he mean the developer who uses that code for an application or other system component? Since Linus writes Linux, which isn't directly used by any users but is used by those who write Linux drivers and interface with the kernel from userspace, it seems like his perspective on this might be skewed.

"Way too many projects seem to think that the code is more important than the user, and they break things left and right, and they don't apologize for it, because they feel that they are ‘fixing’ the code and doing the right thing.”

Oh, the irony. I'm pretty sure this is a good description of what is wrong with the Linux driver interface...
User avatar
Jvac
Member
Member
Posts: 58
Joined: Fri Mar 11, 2011 9:51 pm
Location: Bronx, NY

Re: Interesting article

Post by Jvac »

Thanks all for your reply.
Merlin wrote:Code, hands down. I am the user and my customer base wants the code to be correct.
Chandra wrote:Actually, I place myself as a user of my own OS and ask myself, "Alright, I want this image edited, where's the graphics editor?
That is a very good way to see things when programming.
JackScott wrote:What they usually ask for is a useable program. Even if the code is perfect, a program isn't useable unless they can use it.
There are many programs out there that are coded proper but are just sitting because there is no use for them. Thats a shame.
"The best way to prepare for programming is to write programs, and
to study great programs that other people have written." - Bill Gates


Think beyond Windows ReactOS®
OSwhatever
Member
Member
Posts: 595
Joined: Mon Jul 05, 2010 4:15 pm

Re: Interesting article

Post by OSwhatever »

Jvac wrote:So my question is when you code do you code for look and feel of your OS or do you have the user in mind?

Or you think about both?

Edit: What are your thoughts about the article?
Absolutely. When I design the programming model of the kernel and its API I very much think about the user and that it should intuitive to use. I think that's one of the most important things of the operating system. We have several examples where the programming model sucks and people constantly moan about it. The C++ variant of Symbian is for example a programming model that is much criticized.

For an operating system to become successful it must be convenient for the programmer otherwise the amount of code base will suffer. However, the trend is that you get more and more layers between the kernel and the programming environment. You usually don't see Win32 calls when you do C# programming. Qt is another example where the actual kernel API is hidden. We'll see more of these kind of abstractions but the kernel API is still important so that it can support all these different programming models.
bonch
Member
Member
Posts: 52
Joined: Thu Aug 18, 2011 11:19 pm

Re: Interesting article

Post by bonch »

I don't have any users so I'm free of this dilemma.
Post Reply