Not caring that they're wrong doesn't make them right. The lessons of
the old Unix Wars about the danger of differentiation still ring true.
Every heard of overwriting defaults. Methins you squawk/protest too
much.
My point is that the feature isn't useful because it trivially can't be
robust. If you learn to rely on it, you will get headaches. Is " -lm"
really so much to type?
The squawking (which I interpret to refer to the ALL CAPS SHOUTING!!!!)
was in the post I was replying to.
Where Linux and GNU fail to follow POSIX, they usually have a
POSIXLY_CORRECT switch (or a POSIX_ME_HARDER :grin
, and it's usually
because of some brain-damaged thing a Unix vendor invented in order to
differentiate their product, which then got used in too much software to
excise it. Or were you disputing that standards are a good thing? If
so, you're beyond help.
Wrong. Invariably its because people dont like change. Debug using
eclipse or VS and compare it to using the god awful gdb with ddd or
something equally as half arsed, ugly and unreliable.
You have a problem with gdb? The problem is you. gdb is very powerful,
it has a well-designed CLI, and in my experience it's reliable (from
what I've heard, VS is very much /not/ reliable).
Anecdote: When Phil Kendall was designing the debugger for FUSE (the
Free Unix Spectrum Emulator, not Filesystem in USErspace), did he base
it on Eclipse? Of course not. VS? Surely you jest. No, he chose a
stripped-down gdb interface (somewhat modified to deal with z80 assembly
rather than C binaries with debugging symbols).
What, exactly, don't you like about gdb? Does it not hold your hand
enough, poor ickle child? Are there not enough pictures to engage your
attention?
Which particular packahame management? There are about 60 at the last
count. Too many chiefs, not enough indians.
I said which package management: Debian's system. If you meant which
package /manager/, there's really only one (apt). There are plenty of
interfaces, but that's a matter of choice; since they're all apt,
they're all compatible, so it wouldn't matter if every single user had
their own, they'd still all be using apt and sharing .deb packages. The
joy of standards, you see
And you based that on what? How did they err?
They (well, GNOME at least; I haven't used KDE) tried to copy the
'persistent desktop' metaphor; gnome-session-save is a shonky piece of
crap, and session management generally is a bit broken in gdm. I intend
to ditch it and install something simpler and lighter-weight, but I
haven't come to a decision yet.
Actually I think fvwm is quite nice-looking. What really sells it,
though, is that it decouples the desktop shell from the processes under
it. I was ssh-ing into linux.pwf.cam.ac.uk one day, running a fvwm
session by the magic of Xnest, when my ssh tunnel fell over. When I
connected back up, there were all my terminals, still running fine,
unaware that fvwm had ever exit. If only GNOME could detach like that
*sigh*. (Note, by the way, that this is /old/ technology; WMs generally
have been somewhat slow in taking up ideas from each other - but that's
because they've been responding to market pressure to "Look shiny! Like
Apple does!")
IDEs, well done, are a real boon. I can only assume you never used one
or worked with any considerably sized code base that allows context
help, auto class completions, refactoring, JIT debugging etc etc.
I've used IDEs, and hated them. "Auto class completions"? Sorry, I
don't do OO. Refactoring? I do that by hand and it isn't that hard;
having it done automatically sounds like a great way to introduce subtle
bugs if there's a global or a static around. I don't need context help:
C is small, and I choose libraries whose interfaces are similarly small.
If you find yourself needing context help in order to use a tool, the
tool is badly designed (or your brain is; I'm not sure which).
On the charge of codebase size, I guess I plead guilty: my largest
project is about 10,000 lines. However, that's largely because I design
small combineable tools in the Unix tradition, rather than the monster
monoliths that are popular in other parts of the computing landscape.
If you need an IDE to handle your project, your project is wrong - that
doesn't make the IDE right.
(I have worked with larger codebases; this summer I was working on a web
frontend to the NetFPGA toolchain, thousands of LOC in several
languages. I handled C, Perl, Python, PHP, Javascript, and Verilog. No
IDE, no problem.)
The shell is my DE; when I want help, there's 'man'; when I want build
control, there's 'make'; when I want debugging, there's 'gdb'; when I
want source control, there's 'git'. The fact that these are separate
tools designed by different people doesn't stop them interoperating
nicely; Unix tradition produces much better integration than
"Integration" ever can, and it leaves me free to pick and choose my
tools at will (don't like make? there's always CMake. Don't like git?
Try svn or bzr or hg.)
In summary, Integrated Development Environments Considered Harmful.
fisk me, I fisk back -e