Today on Blogcritics
Home » Culture and Society » Science and Technology » Software Development and Mimesis

Software Development and Mimesis

Please Share...Tweet about this on Twitter0Share on Facebook0Share on Google+0Share on LinkedIn0Pin on Pinterest0Share on TumblrShare on StumbleUpon0Share on Reddit0Email this to someone

Is software development interesting? Most people would say no, I suspect. Certainly most eyes glaze over when I start talking about it with non-developers (which I rarely do).

In fact, it's a very strange and interesting meeting point of diverse ideas, some better suited to literature, others to magic.

In the industry itself, we haven't got a clue what we're doing — we call it software development, software engineering, an art, a craft — what it actually is remains a constant topic of debate. And each term is freighted with meaning, implications and history.

Long before I began as a developer, it interested me in quite abstract terms. Schooled in both historicist and philological, as well as Marxian and post-structuralist literary traditions, I was naturally curious what the word 'language' even meant in programming. It seemed to have much in common with the magical languages — inscriptions which effected change in the 'real world', in reality itself. And not just on human behaviour and thought, but on the actual machineries of our lives.

At that point I didn't realise that 'programming' was only part of the puzzle, and that software development is a literary activity, probably most close to drama among the traditional forms. But it's also an interpretive literary critical activity.

What do I mean? When we design a modern software solution, we usually follow the 'object oriented' approach.

You might imagine we write big pieces of management-style code which coordinate the loading and and manipulation of data in a chronological fashion (i.e. load data, do this then that to it, save the changes, etc.). Historically a lot of development has taken this approach, and it is generally known as 'functional' programming, for reasons you don't need to know.

Under the 'object oriented' approach, we actually try to model the 'problem domain' and create an imitation of reality in software. That means we examine the language of the business problem we're solving, isolate the various actors and their responsibilities, and create software versions of them.

These are software 'objects' – defined as the data required by each and the associated actions, known as 'methods', to operate on that data – and the only way to do anything in a system like this is to ask them to perform the action for us. Common examples are user, account, institution, invoice, or payment objects.

There are different types of relationships that can exist between these objects — a customer object can contain, or have a link to, its credit card and account objects (this is known as 'composition'). There can also be sub-types – perhaps personalAccount and businessAccount types which share, but customise or add to, the common Account behaviour (this is known as 'inheritance').

So the activity of designing a complex software solution begins with the identification and organisation of all the objects involved. The simplest way to understand it is to think of all the nouns and verbs involved in a business situation — the nouns will be objects, the verbs will be methods. "Purchase a product, pay with a credit card payment" reveals the nouns product, payment, creditcard and the verbs purchase and pay.

We have special languages and visual styles for representing this analysis. The most common is UML (the Unified Modelling Language), which provides a range of diagram types for representing the various actors, relationships, and activities.

Now this is clearly an interpretative activity like literary criticism. But I want to think about the process of mimesis at the core of the activity.

Mimesis is ancient Greek for imitation, representation. For the broader meaning, I'm happy with the definition Erich Auerbach provided in his magisterial Mimesis: The Representation of Reality in Western Literature: "a lifelike illusion of some 'real' world outside the text by processes of selection, exclusion, description, and manners of addressing the reader." As well as the techniques used to create this literary representation, the conventions required to understand it — the drama and the audience.

Not a small topic. Representation, imitation, similarity, difference — these are core issues in our relationship with the world, our selves, and language, which is why they have preoccupied philosophers from Plato and Aristotle to your favourite (post-)modern thinker.

And this is the proper subject of object-oriented software development. And when we're done modelling reality, we implement it in a magical language that can operate on the real world and creates real, actual representations of these things.

A hidden electronic drama, every time you browse the web — a reflection of your actions, yet paradoxically, possibly the more 'real'. After all, if they don't work, neither can you.

Powered by

About Chromatius

  • http://blogcritics.org/writer.php?name=gonzo%20marx gonzo marx

    very nice peephole into the Arcane wizardry involved in the manipulation of the digital Logos…

    /golfclap

    anytime ya wanna tackle the next generation browser/digital Alexandria…gimme a shout

    no, i’m not Jesting here

    Excelsior?

  • http://chromatius.blogspot.com/ chromatius

    Glad you liked it. There’s a lot of potential in these tools and techniques.

    Especially given our ability to have imaginative connections with these machines, making then extensions (supplements) of our minds.

    And always up for knowledge and adventure. Vi Veri Veniversum Vivus Vici.

    Excelsior!

  • http://blogcritics.org/writer.php?name=gonzo%20marx gonzo marx

    heh….

    what if i told you i have an off-the-shelf Answer to full bore Avatar based VRML actualization as a next gen browser/OS, with the side-effect/goal of a new Alexandria, holding the entirety of public domain media, housed in a beowulf cluster redundant data-haven which would also synchronize the Virtualosity Environment?

    how’s that whet the whistle?

    Excelsior?

  • http://chromatius.blogspot.com/ chromatius

    Sound interesting, although my VR days are well in my past, so I’m not really up to speed.

    My preoccupations a little more abstract than interfaces – although clearly there’s drama and dramaturgy in that. For example, I’d like to model meaning with these tools – something like modeling Bakhtin’s logosphere – the ways meaning is generated, inflected and transmitted by language use.

    So in terms of the project you discuss, I’d be thinking about how to model how the various ideas infect and inflect each other – how books in a library talk to each other, as Eco put it.

    Excelsior!

  • http://blogcritics.org/writer.php?name=gonzo%20marx gonzo marx

    and there you are into the nut of the matter, my Friend…

    indeed , part and parcel of such an Interface is to utilize said tools to expand and codify the Logos into the 3 dimensional topography in such a way as to be more accessable to the User

    as for VTML itself, Pesce seems to have stopped in the late 90’s with the failed 2.0 project, bandwidth and graphics acceleration were both insurmountable problems

    those are the things i’ve worked out a way around, indeed the more folks who utilize this System, the better and faster it woudl run

    a free, less featured system for anyone(students especially)…a small monthly fee gives you some bells and whistles (like customizing your avatar)…2 higher modes i woudl explain later…

    but EVERY Protocol woudl be built right in, from FTP to videocom…as Minsky and Stephenson enVision it…

    would be bigger than windoze in a few years…

    but alas, i am no programmer, and have no access to the capital it would take to get it done

    thought i’d toss it out to a geek who would grok in fullness

    Excelsior?

  • http://chromatius.blogspot.com/ chromatius

    I took a little look around. VRML is still apparently hampered by the lack of a widely used browser/player. Same as it was last time I played with it about 10 years ago.

    Certainly approaches like grid or P2P and geolocation offer possibilities in terms of bandwidth etc; and of course everything’s faster these days.

    But it’s the lack of a reliable, fully featured, widely adopted client platform that remains the problem.

    “None of this will happen unless there is someone there to herd the cats; to bring order and stability forth from the chaos of community. It’s a rare bit of magick, this capability. But the VRML community has proven time and again that it is capable of confounding the odds, producing the impossible upon command. In some ways that’s been its biggest downfall: it’s been able to resuscitate itself so often that it has no real fear of death. And it’s been irrelevant for so long people have forgotten that there was a brief, shining moment when it looked an awful lot like the future.

    The future is back, but it won’t be here forever. There is a rare opportunity, in the transition to X3D, to correct the mistakes of the past.
    In the tradition of the Linux kernel development team, and the Apache developers, the VRML community could decide to cast their lot together.

    It’s either that, or hang separately.”
    Mark Pesce 25 May 2004

    But for me, the thrill would be to represent and model the topography and relationships of meaning in software – no outputs required initially; just a debugger and log files.

    Representing it would be a whole other step, although it would probably develop organically from the initial work. Links? Paths? Dimensions? Spectra? Shadows?

    Excelsior!

  • http://blogcritics.org/writer.php?name=gonzo%20marx gonzo marx

    it’s the Browser and InterFace i speak of!

    my Soloution begins there, and extends into the Realms you speak of…

    find us a backer, and i’ll split the whole enchilada with you, including the very simple Answer for making the browser work properly with a cheap licensed piece of off the shelf software that would be integrated into both browser, and client/server applications…

    yes to all…Links, Paths, Dimensions…and more..the Logos IS flexible

    Excelsior?

  • http://absent-mind.blogspot.com/ Jet in Columbus

    Gonzo-try downloading Internet Explorer 7 Beta 3 for Windows Sp2, I’ve been playing with it for a couple of days now and love it!
    You and load several websites and monitor each one with a single click on the same page! it’s great.

    Also Windows defender is a great popup antispy ware tool.

    So far the only complaint about the Beta three is they forgot to up the image toolbar back in Explorer, but I’ve alread bitched them out about that.

  • http://blogcritics.org/writer.php?name=gonzo%20marx gonzo marx

    oh Jet…i don’t do spy-ware…

    i ain’t used Explorer since…welll..since it first came out

    Firefox is the 2D browser of choice, with Opera a close second

    but the only net security hole bigger than Explorer is Outlook…

    i might advise ya ta try lavasoft’s AdAware, and AVG anti-virus…both solid products, and both have free versions

    the combination will help tremendously…

    oh yes, and do get FireFox…try it, ya will love it

    so sayeth yer gonzo

    Excelsior?

  • http://absent-mind.blogspot.com/ Jet in Columbus

    In conjunction I’m also using Spybot-I guess I’m just old fashioned…

  • http://blogcritics.org/writer.php?name=gonzo%20marx gonzo marx

    spybot is decent…use all three tools if you insist on using Explorer…

    Excelsior?

  • http://absent-mind.blogspot.com/ Jet in Columbus

    Right now I’m in love with the toolbar that has all my favorite sites and e-mail addresses on it and they’re only ONE click away and the fact that I can have it load multiple sites at once on loggin in…

    And yes I do use all in conjunction.

  • http://chromatius.blogspot.com/ chromatius

    “making the browser work properly with a off the shelf software that would be integrated into both browser, and client/server applications”

    One thought – it may not the type of solution that will likely find widespread support – many people prefer open source solutions; business may pay but want access to source for code level integration; some might live will compiled libraries if they’re convinced by the project.

    It’s the cat herding issue. You need a critical mass of cats heading in the same direction. And possibly some freely contributing to development.

    Does the OTS product offer source code or compiled libraries, or is just an executable/plugin of some sort?

  • http://blogcritics.org/writer.php?name=gonzo%20marx gonzo marx

    just a plug in type, which is already distributed widely and used as freeware…i woudl hire the guy and toss him a liscense fee, just for improvements

    not something ANY user has to worry about…all woudl function right out opf the box, fully integrated with EVERY Net protocol built in

    no “herding cats” needed… just time, some programmers and cash to get it developed, once done the income flow from memberships alone woudl make WoW look anemic…possible advertising revenue is a limitless proposition, while be unobtrusive to the User ( who cares if there is a coke machine or bill board here and there in the Virtual?)…much more that i don’t really want to get into on a public forum…

    but i do think you are beginning to see the Possibilities of a completely Integrated solution for the next generation

    which could be done in a year or so to beta..possibly less

    Excelsior?

  • http://chromatius.blogspot.com/ chromatius

    I do, but for me integration means it’s easy for others to customise and develop against – even if the client solution is in place, you need a community of developers providing compelling content, programming the back end to provide new ways of seeing, thinking, representing, creating relationships.

    These efforts can only happen when the right interfaces are available, so it can be coded against, and probably only with an open source solution, so that people are confident their efforts won’t go to waste.

    The nature of the industry.

    Excelsior!

  • http://blogcritics.org/writer.php?name=gonzo%20marx gonzo marx

    yep..and i have those problems whupped…mostly due to the InterFace and the one neat Trick i alluded too

    might i also mention the secure portion of our Show… 13×13 encryption out of the 16×16 bits…the nulls used as signifyers…daily changed “book code” basis

    and thas about all i can get into in public without an NDA, or it’ll get stolen and messed up

    but if you are truly Interested in discussing further…let me know

    Excelsior?

  • http://chromatius.blogspot.com/ chromatius

    We should take this offline anyway – we’re pretty offtopic – drop me a line. Just go my blog URL and email me from there (couldn’t leave an email address on a comment page).