Tom has posted 3 posts at DZone. View Full User Profile

Inq: New Scripting Language & Execution Environment for Java

11.05.2008
| 5948 views |
  • submit to reddit
Location: 
Javalobby

Inq (www.inqwell.com) is a more than just a language - it's an application server and GUI environment for rapid development of distributed applications.

In recent years enterprise frameworks have come and come again. There has been much discussion of their benefits and promise of code reuse. As a developer I never saw much of this mythical reuse. I generally found myself implementing the same boiler plate code of database adapters and GUI table models over and over again.

I have generally worked in environments where feature creep would be a luxury - most often requirements are poorly specified and incomplete and the landscape subject to change by new regulations or client demand. Such is the world of the finance industry and yet systems have to be produced. When the world changes how does your design stand up? Do you throw it all away and start again or make-do-and-mend? How long will it take? How much will it cost?

IT departments attempt to mitigate the high cost of change by imposing strict requirements definition and a formal project process. But is that good enough? Does it actually solve the problems or just brush them under the carpet? When the chips are down the user is king and if making them conform to the methodology won't work what do you do? Answer - come up with a new methodology (or is it an old one?)

Inq is a new scripting language written in Java. It's a dynamic language that uses a node space and simple eval-based functions to model the real world. Node structures are built to order so relationships can be loose and allowed to evolve.

But Inq is also an execution environment for client and server. Its key features are:

  • Server-side atomic transactions and automatic instance locks
  • Complete insulation from SQL with full database implemention independence
  • Caching of database result sets
  • Events as transactions create, modify and destroy application type instances
  • A process architecture with conditional monitors for simpler concurrency handling
  • Easily laid-out GUIs with automatic binding of views to models

Inq is free to use. We developed it because we got bored and wanted to put the fun back into programming.

You are invited to learn more at www.inqwell.com

 

0
Published at DZone with permission of its author, Tom Sanders.

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)

Comments

Denis Robert replied on Wed, 2008/11/05 - 6:08pm

It's not going to go anywhere as long as it's closed-source. Period.

Otengi Miloskov replied on Wed, 2008/11/05 - 8:07pm

It is closed source?, what a joke. This are just Fads, Fads, Fads.

Otengi Miloskov replied on Wed, 2008/11/05 - 8:11pm

Also what GUI's?, Swing is already deprecated, what a dumb idea of Sun to kill the best multiplatform GUI framework.

So how I could easily laid-out GUIs with automatic binding of views to models? if there is not gui anymore, Javafx sucks.

Java is done for the client side, period.

 

 

J Szy replied on Thu, 2008/11/06 - 2:19am in response to: Denis Robert

[quote=drobert_bfm]It's not going to go anywhere as long as it's closed-source. Period. [/quote]

After all, to achieve success, you need to be open source. Just like Java has always been. Or C#. Oh well.

Raphael Miranda replied on Thu, 2008/11/06 - 6:39am in response to: J Szy

Java is(almost) 100% open-source, and Even Microsoft has been actively supporting Mono. They haven't always been but the fact is they are now. 

 At this day and age that you have to integrate entire universes written in different languages, yes, openness is a necessity for success. 

Jacek Furmankiewicz replied on Thu, 2008/11/06 - 7:40am in response to: Otengi Miloskov

OtengiM, stop spewing what you read on someone else's blog last night.

Java UI development is just fine...not necessarily breathtaking, but just fine and gets the job done in a productive and reliable way.

And unlike the .Net world, you don't have to rewrite it every 2-3 years when MS throws a whole new API at you and tells you the old one is now deprecated.

 

J Szy replied on Thu, 2008/11/06 - 9:49am in response to: Raphael Miranda

[quote=xymor]Java is(almost) 100% open-source, and Even Microsoft has been actively supporting Mono. They haven't always been but the fact is they are now. [/quote]

C# is nowhere near open source, Mono is irrelevant. I doubt that even 1% of .NET deployments would be on Mono.

Java had long been the market leader before it was opensourced.

[quote]At this day and age that you have to integrate entire universes written in different languages, yes, openness is a necessity for success.[/quote]

No, it is not. Specification preciseness, accuracy and stability are necessary. You may be able to maintain those with an open source implementation, or you may not. 

Raphael Miranda replied on Thu, 2008/11/06 - 11:48am in response to: J Szy

No, it is not. Specification preciseness, accuracy and stability are necessary. You may be able to maintain those with an open source implementation, or you may not.

I agree, but anyone who has dealed with several proprietary software vendors trying to integrate diverse solutions know that most of the time, finding a software that has all those qualities is almost impossible and even when those qualities are present there are hundreds of obstacles, sometimes even political stances get in the way.

With open-source in the worst case adapt the code to your needs, whatever that may be. That is a very powerful quality. Specification preciseness, accuracy and stability - for better or for worst, it's all in your hands to provide those things as opposed to relying on others to provide them. 

J Szy replied on Thu, 2008/11/06 - 3:20pm in response to: Raphael Miranda

[quote=xymor]I agree, but anyone who has dealed with several proprietary software vendors trying to integrate diverse solutions know that most of the time, finding a software that has all those qualities is almost impossible[/quote]

The same for open source projects.

However if you look only for mature and maintained projects, it gets easier. No matter whether the project is proprietary or opensource. I think that more proprietary projects reach maturity than open source ones, but when already mature they probably all do have those qualities. To some extent, at least. It must be verified anyway.

Bugs do happen in both worlds, but I believe that more opensource projects are developed using the CADT model than proprietary ones.

[quote]With open-source in the worst case adapt the code to your needs, whatever that may be. That is a very powerful quality. Specification preciseness, accuracy and stability - for better or for worst, it's all in your hands to provide those things as opposed to relying on others to provide them.[/quote]

No, it's a myth, plain and simple.

Yes, that's what opensource advocates say, but starting a private fork of an opensource project means covering the costs of further source tree maintenance, at the very least. This may be acceptable for giant companies like Google but in the rest of the world, the world of tight budgets and lesser companies that don't have the perpetuum mobile profit generator Google has, it simply is not an option. For a single component it may seem a good solution, but a real project often uses more than 30 foreign components, now think about taking just ten components into own maintenance.

Depending on the size of the problem, it often pays better to work around the bugs or get rid of the component in question and write just the necessary bits in house. While it probably means that the budget will be exceeded, there's a better chance of avoiding a total disaster. The "opensource way" of "You can DIY" works only for trivial bugs in trivial projects.

I'm not telling not to touch the opensource. Some opensource software houses, like ASF, are more responsible and stable than many commercial companies, it's probably safe to depend on most of the components they provide. Taking some new shiny component from a company noone ever heard of or from a happy CADT bunch, that is asking for trouble.

If you're responsible for a project with a budget and a deadline, you have to be responsible about the dependencies as well and this means that you probably should choose only mature components that come from good, reputable software houses, opensource or proprietary, and never rely on whatever bullshit ESR wrote, to bail you out should you make the wrong choice.

Dave Newton replied on Fri, 2008/11/07 - 9:02am in response to: Otengi Miloskov

*What's* a fad? New languages? Most of the stuff we use now was a new language once--somebody's pet project.

Features that go in to your "non-fad" languages often come from the "fad" languages--who do you think did generics in Java? Where do you think most of the functional stuff in C# came from?

Dave Newton replied on Fri, 2008/11/07 - 9:04am in response to: Jacek Furmankiewicz

[quote=Jacek]

OtengiM, stop spewing what you read on someone else's blog last night.

[/quote]

But... then teh intarnet would stop.

hookfi john replied on Sun, 2009/05/31 - 7:52am

links of london Bracelets links of london Earrings links of london Necklaces Provide customers elegant and high-qualitylinks of london jewellerywith competitive price.

risech zhang replied on Fri, 2009/07/17 - 9:20pm

It is hard for women to resist the temptation of jewelries and women's jewelry box is like an abysm which is never full. open heart necklace jewelries have in years been recognized as the master key to the gate of happy love and marriage. And typically, Tiffany Charm ring worn on third finger of left hand is viewed as the guarantee of perfect felicity. By the reason that if the jewels are properly matched with clothes, then they will become the finishing point in the whole dressing and will display unique personalities. However, as for many people, it is too hard for them to match Tiffany Earring properly. The following tips are referred to you in the hope that they might be of some help in choosing and matching jewelries. When choosing jewelries, you should pay great attention to the complexion, dressing, temperament, age, occasion, profession, etc. in order to stand out them better. The top principle is that the jewels you chose should be neither repeat your face shape nor extremely opposite to your face shape. The best jewel piece for a girl with a heart-shape face is the one that is wider at the bottom because once again that will balance out that chin. And something likes a teardrop, upside down triangle, or even a button look perfect. The long hair should match with long jewels, such as long and narrow earrings, which will let you look as a fair lady. Tiffany's Engraved OVAL TAG PendantJazzy clothes go well with Tiffany Earrings having simple design. open heart necklace being chosen according to the occasions when visiting friends and relatives will show a sense of comfort and relaxation. These over-shining jewels are less suitable for people with dim skin who should keep their eyes on ones with less bright color, like silver. No one could be more suitable than the plump people for these brilliant jewels which often present nobility. While it is more likely for middle-aged and elderly people to choose Tiffany Charm jewels with dark color and traditional designs.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.