In response to Richard' post here is my position statement...it is a work in
progress but I felt synergy with many of the concerns expressed by Dick.
While I enjoy the "reflective meta towers of philosophy" <grin> as mental
experiments my interest and modest abilities are in building software that
works and is used. Ideally I like to see this done by small teams of domain
knowledgeable end users.
I'm interested to seeing others passions/positions for the future of
Carleton University School of Computer Science
Programming For The Rest Of Us - Young, Old and Application Oriented
"Escape From Middleville - Programming For Intelligent End Users"
According to industry pundits applications programmers will live in
middleware world for most of the next decade. Three platforms will
dominate the press and customer data and switching centers - Java and EJB, MS
.NET and Linux/Apache. XML will glue all of these together using "Web
This is an exciting world for a bright CS graduate in their 20-30s but
boring and tedious for those of us under 16 or over 40 and trained in a
domain of problems such as business, engineering or the arts. As the
objects and interfaces are relegated to services and the complexity of
EJB exceeds that of CICS and Tuxedo those who have application needs are
quickly being removed from the ranks of programming to more lofty titles
called architects, project directors etc.
We are told that the future lies in disciplined processes such as RUP,
UML and MDA. This presents a second complex world which the younger CS
types hate (hence XP) and which in itself presents yet more stuff which
gets between us and the applications. Next generation IDEs which will
streamline the development process are promised.
My interest is about life outside this world of powerful component
oriented middleware which is dominated by the CS "C" culture and it's
complexity. I have been exploring how small teams of application aware
developers achieve satisfaction and success outside of middleware. Scripting,
4/5GLs, Visual Programming, Functional Programming are alive and well in this
world as are most of the best practices advocated in XP.
"Richard P. Gabriel" wrote:
> I wanted to course correct a little on the preparation for the workshop.
> The readings I posted are intended to get you into a frame of mind to
> think freely and not be afraid to express thoughts or ideas that
> otherwise might not go over well in "regular" company. We will use
> deconstruction about to the extent presented in the note by Brian
> Marick on the web page. "Against Method" presents a philosophical
> justification for the methodology of abandoning assumptions of the
> past - and deconstruction will help us uncover what they are.
> I don't want to spend much time talking about meta-level stuff. I am
> personally interested in exploring 3 things:
> * to what degree does the idea make sense of trying to do *some* sort
> of reset in computing?
> * what areas and specific ideas seem to have some hope of improving
> things for building software and involving end-users in design
> * what ways are there to actually push these approaches forward
> For example, I believe that we have spent the last 10 years in a
> spiral in which interfaces and our approach to designing with them
> have become more and more rigid while the requirements for
> distributed computing are pushing in the opposite direction. The
> evidence of a pushback is the rise of XML as a distributed computing
> *language* or protocol instead of APIs. I'd like to talk about how to
> make APIs more flexible, for example.
> If you look at my weird paper on parallel programming language
> design, you'll see that there are a number of programming language
> ideas that could make some kinds of distributed computing easier and
> perhaps more correctly done. I'm certain I've not dug very deeply
> into what could be possible here.
> I'd like us to consider whether how we conceive of programming helps
> or hurts us at the moment with how we plan software and build it.
> User-involved design seems more like a pipe dream than reality. Open
> source seems to exalt coders and freeze out non-coding users. Can we
> figure out how to really involve users, perhaps by using scripting or
> at least a customization "protocol" that would enable people to trade
> their customizations.
> And how should we do this for real? My approach so far has been to be
> outrageous about the ideas to get attention. In fact, the paper on
> parallel programming language design was intended to be just that.
> But that's ok for PR, not for how we could really proceed.
> To these ends, it might be useful for folks in the workshop to post
> (perhaps revised, perhaps expanded, perhaps different) position
> statements so everyone can get an idea what interests people have.
> I will be off e-mail the rest of today, so I hope you all can get started.