Re: griping about development



Geoff Reedy wrote:

> something bad about IDE's

of course everybody has their favorite environment. you, me everybody. i don't
know 2 single people who develop code the exact same way... let me climb up on
my soap box here - i'm sorry this is going to be long...

but you're missing the big picture... and to paraphrase ahmad from earlier
today, tools != solutions.

i'm going to have to derivate from the free and open idea here (and go out on a
limb)... the fact that linux is a set of tools is the primary reason that
windows is a better seller on the shelf. people (that's people not like you and
me) don't want to sit down and learn the tools for adding users, configuring X
and setting up a firewall. people want solutions - which, god forbid, is what a
lot of companies developing for windows offer. windows itself is a solution. it
was a complete break from the old dos/unix based toolset, that while, yes, you
can do everything, it's not always intuitive. remember your first days at
unix/dos prompt? i do.

this is all rhetoric from here on out, and summarizes alot of things that i find
wrong with open source development.

the real question we need to ask ourselves is: what is the problem? the problem
is that we can't agree on anything. this is where microsoft struck gold. they
dictated what ordinary people should agree on, and the result is a bunch of
decent, yet somehow crappy products - in the sense they don't work for
everybody's needs, just most people's. they produced a solution - we're still
developing tools.

fortunately, here comes gnu and kde and gnome and all the other free software
organizations out there. now we have a plan. we have a component model, and we
have a framework into which we release our products. this is something we've
done right, and we have alot to show for it: the gimp, gnome office, gnome
desktop - good stuff one and all.

now, getting back to the development issue... here, we still develop tools.
xemacs is a tool. vi is a tool. glade is a tool. yes, you can build an
application with these. will it be good? maybe. will it survive the test of 5
years without a massive rewrite - not in any longstanding free software i ever
saw (i'm probably wrong though).

*prepare for corporate propoganda*
the real question that could be asked about gnome development is: is there a
process for developing high quality solutions to the needs of gnome developers.
the answer is no. hands down, no. i'll probably get flamed for this since there
are coding standards and some documentation and examples. the tools used to
develop gnome applications impy _some_ kind of process (you need a change log
and an install file). but i'm right, and i challenge anybody whose ever written
a gnome application to show me a system specification, or software requirements,
or a comprehensive design document. i've NEVER (let me repeat that) NEVER seen
any effort made to produce those for any freeware product (with the exception of
some design docs which were really just elaborate header files).

i think the lack of a development process is a serious problem in gnome and even
linux development in general. now, i'll finally get on to my point... what i had
asked for was an integrated development environment. let's break this down:

integrated
--------
works with other things and other things work with it. what's really meant by
"integrated" here is that it uses a set of tools to work toward a final product.
most ide's include a source code editor, debugger, compiler, etc. clearly most
ide's focus on the code generation part of the process.

development
---------
when i was in college i thought development meant writing code. it doesn't. it
means creating something - sometimes from scratch. at my company, development
doesn't start with writing code. it usually starts with a bid, but aside from
that, we always look at the system as a whole, the requirements of the software,
how the software works, then writing code, and then FINALLY testing, and fixing
bugs. who gives a shit what you write the code with. there's alot more to real
development than just the implementation.

environment
---------
a place where you do work (in this sense anyway). not much to expound upon
here...

so, integrated development envrionment: ide. what the goal of such a product
should be is the development of a formal process for developing gnome software
and the creation and distribution of tools integrated into a common,
environment. but, really, the process should be the primary goal.

look at rational rose. you can buy a copy of rose modeller for, what like
$10,000. wanna know why? they sold a solution - the unified process for
developing software. and they sell the tools too. rose modeller, clearcase,
requisite pro, and on and on and on. even better, none of its cheap! you'd
almost get the impression that a process for developing software is a good (if
not lucrative) idea.

i'm sorry if i spent alot of time going over what everybody knows... it's just
been a long time since anybody's talked about things other than code and bugs.

Andrew Sutton
asutton21 home com





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]