Inq: Language and Reified Execution Environment

Discussion in 'Java' started by Tom, May 25, 2011.

  1. Tom

    Tom Guest

    Posted in comp.lang.misc but I've put it here too on the basis that Inq
    is written in Java, so might be of interest....

    There are a large number of applications whose purpose is to accept data,
    transform it, move it somewhere else and show it to users. For systems
    of this type I came to the conclusion that OO implementations are more
    of a hindrance than a help. Data processing applications do not need
    the complexity they introduce. At the outset there are entities and
    relationships, yes those old things. But we attempt to graft on class
    designs and then invent all sorts of ways to match the impedance. Why?
    Still, those early stages just seduce us - the real fun comes in the
    maintenance phase. Then you realise that those inheritance hierarchies
    you came up with no longer really hold so you spend time "refactoring",
    a nice word to keep your users at bay while you rewrite stuff.

    The less well you can understand a problem, the less control you have
    over it and the more volatile it turns out to be, the worse OO is at
    addressing it. While class designs and OO languages have many useful
    features I found that they only really work at an API level (things
    like GUI libraries, message handling or what you will). However these
    are artefacts, not "real world" problems. One size does not fit all.

    Then comes integrating all those "vertical" APIs. There are XML generating
    and processing libraries, database and messaging transactions, GUI
    building technologies, client/server, notifications, caching, concurrency,
    data and application distribution, report generation - please add any
    I have missed - and did you ever ask yourself - when does a configuration
    file become a bad programming language? Ok, so you have survived all
    that, then there is building and deployment to consider - dependency
    tools to manage all those libraries.

    As someone who has spent a long time developing bespoke applications I
    got very bored repeating essentially the the same task. There are only
    so many row mappers and MVC dispatchers one can write. The goal is - all
    those common services but without the need to bridge them to your
    application time over; to streamline or eliminate the build and
    deployment process; a simple and maintainable programming paradigm.
    So what to do?

    If you have ever thought "this interface is getting messy - I'm just
    going to pass a map and let the other end work it out" then you have
    taken the first step in the computer industry's definition
    of "reification" (see Wikipedia page). Reification is actually
    common - it happens every time you call your application server container,
    for example - but how far can you go with this idea? Unhappy with the
    status quo, that is what we asked ourselves when embarking on producing
    our own commercial applications. Having worked on a lot of projects that
    were unnecessarily bloated and compromised because of their history,
    we didn't want our own to go the same way.

    What we came up with was the Inq platform. Inq operates at a number of
    levels. It is a procedural language, has a type system that incorporates the
    entity life-cycle, retains metadata for its own use in GUI and report
    building and offers client and server environments. By reifying types,
    references and executable elements Inq is able to take over all the tasks
    that otherwise require coding effort but which do not contribute to the
    application itself. In this way, the code that is developed almost
    exclusively only addresses the application problem. Any that does not
    sees a high degree of reuse. Implementing the application in a different
    language to that of the infrastructure APIs prevents one from polluting
    the other.

    Having developed Inq for our own use, we hope it might be of interest to
    the wider community. Inq is open-source - downloads and more information
    are available at http://www.inqwell.com and of course your comments are
    welcome here.

    Thanks
     
    Tom, May 25, 2011
    #1
    1. Advertising

  2. In article
    <
    >,

    Tom <> wrote:

    > Having developed Inq for our own use, we hope it might be of interest to
    > the wider community. Inq is open-source - downloads and more information
    > are available at http://www.inqwell.com and of course your comments are
    > welcome here.


    Is there any prospect for making the version controlled source
    available through a publicly accessible repository such as
    <https://sourceforge.net/> or <http://code.google.com/>?

    "The Inq team have made some additions to JCalendar," prompts one to
    ask: Which JCalendar? Would a qualified name or link be helpful?

    --
    John B. Matthews
    trashgod at gmail dot com
    <http://sites.google.com/site/drjohnbmatthews>
     
    John B. Matthews, May 25, 2011
    #2
    1. Advertising

  3. Tom

    Lew Guest

    John B. Matthews wrote:
    > Tom wrote:
    >> Having developed Inq for our own use, we hope it might be of interest to
    >> the wider community. Inq is open-source - downloads and more information
    >> are available at http://www.***.com and of course your comments are
    >> welcome here.


    > Is there any prospect for making the version controlled source
    > available through a publicly accessible repository such as
    > <https://sourceforge.net/> or <http://code.google.com/>?
    >
    > "The Inq team have made some additions to JCalendar," prompts one to
    > ask: Which JCalendar? Would a qualified name or link be helpful?


    Perhaps http://www.jcalendar.net/?

    --
    Lew
    What, you took me seriously? Your fault.
     
    Lew, May 25, 2011
    #3
  4. In article <iriu80$dbn$>, Lew <>
    wrote:

    > John B. Matthews wrote:
    > > Tom wrote:
    > >> Having developed Inq for our own use, we hope it might be of
    > >> interest to the wider community. Inq is open-source - downloads
    > >> and more information are available at http://www.inqwell.com and
    > >> of course your comments are welcome here.

    >
    > > Is there any prospect for making the version controlled source
    > > available through a publicly accessible repository such as
    > > <https://sourceforge.net/> or <http://code.google.com/>?
    > >
    > > "The Inq team have made some additions to JCalendar," prompts one
    > > to ask: Which JCalendar? Would a qualified name or link be helpful?

    >
    > Perhaps http://www.jcalendar.net/?


    Or perhaps com.toedter.calendar.JCalendar: <http://www.toedter.com/>.
    The former appears to be proprietary and suffers a few broken links.
    The latter is LGPL, but the posted API is a bit dated. It proved easy
    to use, but the layout is over-constrained, with disappointing result
    on com.apple.laf.AquaLookAndFeel. I may have to poke around at those
    "additions" to see.

    --
    John B. Matthews
    trashgod at gmail dot com
    <http://sites.google.com/site/drjohnbmatthews>
     
    John B. Matthews, May 25, 2011
    #4
  5. In message
    <>,
    Tom wrote:

    > There are a large number of applications whose purpose is to accept data,
    > transform it, move it somewhere else and show it to users.


    That’s what Perl was developed for.
     
    Lawrence D'Oliveiro, May 27, 2011
    #5
  6. Tom

    Lew Guest

    Lawrence D'Oliveiro wrote:
    > Tom wrote:
    >
    >> There are a large number of applications whose purpose is to accept data,
    >> transform it, move it somewhere else and show it to users.


    > That’s what Perl was developed for.


    That's what EVERY computer language was developed for, so your statement is
    trivially true, Lawrence.

    --
    Lew
    Honi soit qui mal y pense.
    http://upload.wikimedia.org/wikipedia/commons/c/cf/Friz.jpg
     
    Lew, May 27, 2011
    #6
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Kai Grossjohann
    Replies:
    4
    Views:
    311
    Roy Smith
    May 11, 2006
  2. lazaridis_com
    Replies:
    11
    Views:
    433
    lazaridis_com
    Sep 3, 2006
  3. Lubna

    execution environment

    Lubna, Sep 4, 2006, in forum: Java
    Replies:
    4
    Views:
    463
    Lubna
    Sep 6, 2006
  4. Chris Withers

    securing a python execution environment...

    Chris Withers, Nov 19, 2007, in forum: Python
    Replies:
    4
    Views:
    446
  5. Tom
    Replies:
    4
    Views:
    315
    Lawrence D'Oliveiro
    May 27, 2011
Loading...

Share This Page