[H-GEN] Windows to *nix

Anthony Irwin anthony at server101.com
Thu Sep 21 20:12:15 EDT 2006


McBofh wrote:

> Anthony,
> the essential problem is that users of computers want "it" (ie the
> computer, its OS and all+sundry applications) to "just work".
>
> If your app doesn't "just work" then you have failed your user base.
>
> My goal when writing software is to ensure that (a) it interoperates
> seamlessly with the existing infrastructure, and (b) that the user
> should not require reading any manual or howto/readme/quickstart
> guide in order to be productive with it.

Yeah thats true of most users but I still think the only way to get the 
most of things is by reading docs and learning things like the keyboard 
short cuts and the like. I can't think of any examples right now but I 
know that on many occasions I have read things about software in the 
docs that would make one more productive or a concept for doing things 
that you would not of thought of or realised by yourself.

Take emacs or vim for example they are both really great editors but 
work totally different to how most would expect and their is no way you 
would be able to use them without reading the docs but its worth while 
using them if only for a month or so to get insight into a new way of 
doing things.

> Most people who write OSS are awful coders who regard software
> engineering principles (let alone practices!) as evil and concepts
> to be shunned in favour of 1337ness and popularity.

I haven't really read much oss code never really had a need to but I get 
the impression that there are a lot that do care about the quality of 
the code and will spend longer getting it right then many commercial 
companies that just want to make a product release date.

I thought that the *bsd community for one would only accept code that 
does things right and would hold back features and functionality to 
rewrite the code and do it the write way. Even if a few don't care about 
code quality and standards any of the popular free software  programs 
will have people that do care about code quality go over it and fix any 
bugs and redesign sections if needed.

> And your comment on preferring vim or (x)emacs over IDEs shows me that
> you don't really understand why IDEs exist or why developers make use
> of them. I, personally, love to use XEmacs as much as possible. However
> when I'm writing Java, XML or (shudder) UML .... an IDE such as netbeans
> is essential in order to remove the extra crud that these more expressive
> languages require. Perhaps you should talk to some professional 
> developers
> about what they really use to do their work.

I have used ides before and was somewhat impressed by them. They have 
all the language commands and options available in drop down lists so 
you can see whats available to you. They will often show you what 
parameters functions require and the data types needed.

They will also show you all your own custom classes and functions in the 
drop lists as well and if the ide is for a certain language will often 
have a language reference built in.

And thats not mentioning gui designers, debuggers, package builders and 
the automatic creation of build scripts etc.

Sure ides can make you more productive especially if your not sure how 
to do certain things or are new to a language because you will see 
things and go yeah that sounds right or press f1 on the keyboard when 
your cursor is on a language command and see the docs for it.

But that doesn't make you better at what your doing it just means the 
ide can do things that you can't. I have used ides and written some 
programs and taken all the build scripts that it generated to another 
computer and compiled the source the standard way but it doesn't mean I 
know anything about using autoconf or writing make scripts.

An example of that was in the past when ever I needed to manually create 
mysql databases and create / browse table structures I would use 
phpmyadmin. I didn't need to know the sql syntax for showing the 
database table structure or how to manually create users with certain 
permissions. Sure phpmyadmin was fast and productive and I didn't need 
to know until I needed to do some work on a machine that didn't have 
phpmyadmin and needed to use the mysql cli utility as that was the 
requirement.

I had to search google and the mysql manual for the correct sql syntax 
that I never bothered to learn because the phpmyadmin utility shielded 
be from needing to know. It didn't take me long but I have been working 
with sql for many years and really should have know.

I think ides shield you from a lot of things and you should do away with 
them at least until you know the ins and outs of what you are doing. 
Even then if you start relying on the ide too much you will forget many 
aspects of what your doing because what the ide does for you will 
ultimately be forgotten by you because you never need to do it. Then if 
you ever find yourself in a situation with out an ide or something 
becomes corrupted and needs fixing guess what you don't know how, you 
need the manual again.

I guess long term ides can be good especially for designing gui 
interfaces because who really wants to sit their for an hour writing gui 
code when a few clicks of the mouse and 10 minutes later you have your 
gui designed. They have their place but I still like my vim and the 
increased knowledge and skills of doing things for myself.

Kind Regards,
Anthony Irwin




More information about the General mailing list