The Nightstar Zoo

Nightstar IRC Network - irc.nightstar.net
It is currently Sat Nov 18, 2017 2:29 pm

All times are UTC - 6 hours [ DST ]




Post new topic Reply to topic  [ 15 posts ] 
Author Message
 Post subject: GNU mediocrity
PostPosted: Fri Apr 08, 2005 2:20 am 
Every time I learn a bigger and better GNU tool I am surprised and terrified at their priorities.

Having fancy features is more important than simplicity (you have to learn a lot before you can have the equivilant of "Hello, world!"). Having fancy features is more important having features that work (correctness and consistency seem to be optional for the developers). And worst of all, documentation is last priority. Most stuff has a description of all the various features, even if that's out of date, but there's rarely a good high level description of how things work, and what you need to learn to get going. You have to read dozens of pages, learn a whole new language, just to get a "Hello, world!" equivilant. Even if the "Hello, world!" equivilant is all you and 99% of people need.

They cater to developers that want to specialize and become gurus with the tool, probably ultimately become a developer on the project itself. They do not cater to people like me that simply want to use the tool as a tool and not get involved with the internals. An old-school FSF vet might not care if the results require tweaking, but people like me don't know it needs tweaking and we wouldn't have a clue where to start without other people bitching about the same thing on some list somewhere.

Usability isn't just for novice users, it just looks shinier when it's meant for them.


Last edited by anthonyr on Fri Apr 08, 2005 1:26 pm, edited 1 time in total.

Top
  
 
 Post subject:
PostPosted: Fri Apr 08, 2005 12:33 pm 
Offline
Nightstar Graveyard Daemon
User avatar

Joined: Mon Jun 03, 2002 8:30 pm
Posts: 1071
Location: Wouldn't you rather observe my Velocity?
"Linux is actually quite user friendly. It's just really picky about its friends."


Top
 Profile  
 
 Post subject:
PostPosted: Wed May 18, 2005 4:33 pm 
You should see GNU's implementation of "Hello world". I can't tell how much of it is a joke.

(It exists in order to to illustrate the "GNU coding standards", otherwise known as "how RMS writes code.")


Top
  
 
 Post subject:
PostPosted: Wed May 18, 2005 4:43 pm 
BeinSane wrote:
You should see GNU's implementation of "Hello world". I can't tell how much of it is a joke.

(It exists in order to to illustrate the "GNU coding standards", otherwise known as "how RMS writes code.")


The average GPL contributor is well beneath RMS standards. At least with the BSDs, someone will yell at you if you suck.


Top
  
 
 Post subject:
PostPosted: Wed May 18, 2005 10:01 pm 
...wait, we're not talking about Emacs?

(For the uninformed, Emacs was mostly written by RMS himself, and the non-Lisp parts are an absolute mess. The Lisp parts are...well, Lisp. And it was the model for GNU's standards.)


Top
  
 
 Post subject:
PostPosted: Thu May 19, 2005 1:28 pm 
anthonyr wrote:
The average GPL contributor is well beneath RMS standards.


Using RMS as the yardstick for your work is likely to make things rather interesting. On the one hand, he's an incredibly competent programmer - according to Stephen Levy, he once was matching the entire development staff of Symbolics, porting their new developments feature for feature to the LMI systems -and only a handful of programmers in the world could match him for raw skill. OTOH, his ideas of what constitutes a good tool, good documentation, etc. are, if not actually bad, often quite ideosyncratic and more than a few of his projects - HURD chief amongst them - have withered mostly due to his perfectionism and insistence on his particular form of ideological purity. Make of this what you will.


Last edited by Schol-R-LEA on Wed Jun 22, 2005 11:18 pm, edited 1 time in total.

Top
  
 
 Post subject:
PostPosted: Thu May 19, 2005 7:16 pm 
Offline
Concession Worker
Concession Worker
User avatar

Joined: Tue Jul 01, 2003 5:26 pm
Posts: 1479
Location: R'lyeh
GNU Make is an excellent example - it's needed for software development, on *n?x machines at least, but it almost seems designed to be as complex and intimidating to the newcomer as possible - and the ten thousand little version incompatibilities don't help (Do they really have to change make's behavior with every single version? Can't they just bugfix the damn thing?).

That kind of stuff is what's keeping me off Linux on my main machine at the moment (that, and the fact that I'm a gamer)...

_________________
Living in a state free from the burdens of privacy and democracy since 2008-06-18.


Top
 Profile  
 
 Post subject:
PostPosted: Sun Jun 19, 2005 11:47 pm 
That Hello World example is the most inelegant code I have ever had the displeasure of seeing.

Code:
#include <stdio.h>

int main () {
    printf("Hello world!\n");
}


Boom.

(I don't know if all compilers require stdio.h to be included for printf to be used, but I do know that gcc has complained to me when I don't put it in a file that uses printf.)


Top
  
 
 Post subject:
PostPosted: Mon Jun 20, 2005 7:59 am 
Offline
Concession Worker
Concession Worker
User avatar

Joined: Tue Jul 01, 2003 5:26 pm
Posts: 1479
Location: R'lyeh
That code is incorrect. You are required to return a value.


Code:
#include <stdio.h>

int main(void)
{
 printf("Hello Standards-compliant World!\n");

 return 0;
}


(oh, and notice the super-anal extra newline ;))

Jonathan Grynspan wrote:
(I don't know if all compilers require stdio.h to be included for printf to be used, but I do know that gcc has complained to me when I don't put it in a file that uses printf.)

And complain it should.

_________________
Living in a state free from the burdens of privacy and democracy since 2008-06-18.


Top
 Profile  
 
 Post subject:
PostPosted: Mon Jun 20, 2005 2:19 pm 
Can I borrow your avatar's gun for a moment? :P

If I were worried about standards compliance, I would have done it the GNU way, with a dozen files all on a CVS with redundant backups, diffs between every copy of every file ever uploaded, README, TODO, README.WIN32, FOO, BAZ, BAR and QUUX files (all line-terminated with \n, of course, just to make it difficult to quickly open in Windows' Notepad) and a copy of the GPL that's longer than all of the other files put together. ;)


Top
  
 
 Post subject:
PostPosted: Wed Jun 22, 2005 12:49 am 
Jonathan Grynspan wrote:
(I don't know if all compilers require stdio.h to be included for printf to be used, but I do know that gcc has complained to me when I don't put it in a file that uses printf.)

That's not a compiler issue. The compiler sees you trying to use a function that hasn't been declared. That doesn't automatically mean the function isn't available and if you use it like that some compilers will try to figure out what the function expects to see, but if it hasn't been declared you're doing something wrong. If the compiler doesn't bitch, it's doing something wrong and you need to turn up the warning level.


Top
  
 
 Post subject:
PostPosted: Wed Jun 22, 2005 8:46 am 
*sigh* I know the function hasn't been explicitly declared. But I also know, having just tested with gcc, that it is in fact considered "built in."

I try to cover my butt by including stdio.h and get lectured because it needs to be included! Oy! :P

Here's hoping I never try to write anything GUI in C. :D


Top
  
 
 Post subject:
PostPosted: Thu Jun 23, 2005 7:36 pm 
Jonathan Grynspan wrote:
*sigh* I know the function hasn't been explicitly declared. But I also know, having just tested with gcc, that it is in fact considered "built in."

I try to cover my butt by including stdio.h and get lectured because it needs to be included! Oy! :P

It should always be delcared whether or not it "works" the other way. Just because something "works" doesn't mean it's not broken.


Top
  
 
 Post subject:
PostPosted: Fri Jun 24, 2005 2:23 pm 
I know! I know! Yeesh!


Top
  
 
 Post subject:
PostPosted: Fri Jun 24, 2005 7:24 pm 
Offline
Concession Worker
Concession Worker
User avatar

Joined: Tue Jul 01, 2003 5:26 pm
Posts: 1479
Location: R'lyeh
Jonathan Grynspan wrote:
If I were worried about standards compliance, I would have done it the GNU way, with a dozen files all on a CVS with redundant backups, diffs between every copy of every file ever uploaded, README, TODO, README.WIN32, FOO, BAZ, BAR and QUUX files (all line-terminated with \n, of course, just to make it difficult to quickly open in Windows' Notepad) and a copy of the GPL that's longer than all of the other files put together. ;)

Unless there are very compelling reasons not to, the standard should be followed. Laziness is no excuse. Especially since the difference between correct and incorrect code is surprisingly often as small as between the two code snippets above...

_________________
Living in a state free from the burdens of privacy and democracy since 2008-06-18.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 15 posts ] 

All times are UTC - 6 hours [ DST ]


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group