Zoom Picks Zoom Picks
Search:    Home :> About Us :> Security & Privacy :> ToS :> Add Your Link :> Add Your Article   
 
 

Using Animation & Rich Media In Web Design

The use of special effects on web pages has literally exploded. Special effects are used either to d ... - Andy MacDonald
 

6 POWERFUL VRE Business Models You Can Start Building In 2006 Using Google Adsense - Part 1

This article is part 1 of a series of 6 about building VRE businesses online and will give you examp ... - Cory Threlfall
 

Good SEO Strategies

SEO is not difficult but not easy either, there are some strict rules that you need to follow to ran ... - Sexy Gurl
 
 

5 Creative Ways to Use Your Autoresponder for Automation & Profits

How to use Your Autoresponders to Sky-Rocket Your Profits through the ROOF? - Murtuza Abbas
 

Insider Secrets To How To Use An Autoresponder Effectively That Your Competitors Won't Tell You!

The secrets of how to use autoresponders effectively that will lure your visitors away from your com ... - Karin Manning
 
 

Home –› Computers & Networking –› Computer Software
 

Badly Designed Languages, Consistency and Tools

 

Most commercial languages and community based languages are easy to understand and use. You may however find yourself in a position where you have to use an inelegant proprietary language that is annexed to an application you have been engaged to support. The language may be used as part of a customisation process. Now for the worst case scenario:

The syntax of the language is extremely irregular and the documentation provided for it is worse!

Having to employ a language that has excessively awkward syntax and unreasonably defined routines you know two things:

  • The language perforce must be consistent for the interpreter to work.
  • There are syntactic rules to the 'proper' construction of a clause or a routine.

Even the untidiest rules with some perspiration and serious mental effort will eventually reveal a consistent approach to constructing a routine to achieve a desired result. To understand what the language's rules are and how they are applied:

  • Read the documentation very carefully to see if it can shed any light upon how to construct an instruction. (As mentioned sometimes the documentation is of no use).
  • Graphically map out example language constructs into flow charts or ER diagrams.

Graphical representations of routines constructed from a badly designed language can vastly improve your understanding of what the language is saying. Charts and diagrams remove the clutter of curly braces, formatting and keywords. The graphic will present you with an abstracted clear view of the flow of the language and the way it instructs an application to do something. The next step is to write out a similar routine using your graphical representations as a guide and see if you can simulate a similar result to what is expected. If you are successful then you have solved some of the language's mystery.

Once you have a handle upon the language, your next step, if you have time, is to create some kind of interface between the language and yourself. By this I mean divorcing yourself from direct contact with the language by either:

  • Creating a Graphical User Interface through which you create forms or design flowchart diagrams that are then translated to the language's code.
  • Creating a markup language and a system to convert the markup language to the awkward syntax of the proprietary language.

Both options will need an interpreter that will convert your language to the proprietary language and vice versa. You start by breaking down and mapping the components that make up the proprietary language:
  • Sub-routines
  • Properties
  • Composite keys
  • Definitions
  • Variables etc.

Begin by breaking down the independent components from the largest to the smallest for instance:
  • Publicly declared variables and constants and then
  • large components like routines which have dependent components within them and
  • then breaking down each dependent component.

For example:

property x:5 [independent component]
property t:10 [independent component]

definition "my test property" [large component]
{
property "prop one" [dependent component of definition]
{
edit oneof "property two" relate by "is keyed by" READONLY [dependent component of property within definition]
} ASGRID LENGTH 1200
}

The tools at your disposal to help break down the proprietary code are:

  • Editors that allow you to create customised colouration of the syntax, like Crimson Editor which is free.
  • Regular Expressions to help break up the code efficiently and accurately.
  • Character reading tools.
  • Text manipulation functions within the language from which you will be building your interfaces interpreter.

Once you have learned the proprietary language's break-down and can represent scripts written in it within your interface, you can then work upon reversing the process so that you can create a proprietary script from your interface.

Things you may want your interface to do for you:

  • Remove the clutter of curly braces and common constructs when converting from the proprietary language to your interface. For instance, there may be a set of words that must always appear together like 'relate by "is keyed by"' you can simply represent it as a tag or a graphic symbol of a key.
  • Add helpful comments when converting back from your language to the proprietary one. For example, should you have to view the proprietary script where there might be nested curly braces, it might be helpful to comment those braces to show the end of each section, for example:

do 1{
code
do 2{
code
do 3 {
code
do 4 {
} // end do 4
} // end do 3
} // end do 2
} // end do 1

To convert the code the interface might break down the components into a database. A table for sub-routines, a table for properties and variables etc. Each component could be ordered by recording the starting position of a component's first character in the code block (script). This provides the ability to convert the code in both directions as it was originally written or re-write the code in order of component. For example:

You start with a script that looks like this:

property x:5

definition "def One"
{

display dialog x
}

property t:6

definition "def Two"
{

display dialog t
}

Splitting the code into it's respective tables:

Properties Line=1; Name=x; Value=5 Line=8; Name=t; Value=6

Definitions Line=3; Name=One Line=10; Name=Two

Definition Clauses Line=5; display dialog x Line=12; display dialog t

You can either re-write the lines of code in their respective line/character number order or re-write them by their object order like so:

property x:5
property t:6

definition "def One"
{

display dialog x
}

definition "def Two"
{

display dialog t
}

Once you have decomposed the code into a more manageable format you can manipulate it how you would like.

In recapitulation, when dealing with a badly designed language you carry out the following steps:

  • If possible abstract out some examples of its use into a flowchart or diagram. This will go far to improving your understanding of the language.
  • Create an interface between the language and yourself to make programming in it easier. This will really pay dividends to your use of the language and give you an intimate understanding of it's quirkiness.

Author: Duane Hennessy
 
Author Bio:

Duane Hennessy

In 2004 I started my own company Bandicoot Software to provide high-quality useful software for program development and personal applications.

My day job I am a Senior Systems Adimistrator specialising in MS Office integrated solutions, System Architect and VBScripts providing imaginative solutions to complex business problems.

OTHER FACTS ABOUT ME

- Creator and Moderator of ?AccessDevelopers? web group, an international forum for Access Developers around the world to seek solutions to problems, swap ideas and demonstrative code and discuss theory and practices of Access Database Development.

- Director of my own company Bandicoot Software, Australia.

- I am an author for ezinearticles. I am currently working with some friends in Mexico and Argentina to convert my articles to espa?olas mejecanos and espa?olas argentinas.

- Currently learning Spanish to create software in Spanish. I plan to learn Spanish, Italian, Portuguese and French in this order over the next five years.

This article can be searched using: free software, free software downloads, cheap computer software, discount software
 
 
 

Related Articles

 
Blogrolls, Needles, And Haystacks -- A Conundrum
 
8 Easy Ways To Build An Ever Growing List Of Subscribers
 
To Sell Much More, Make Your Copy And Presentation A Casual Conversation
 
How to Write a Privacy Policy
 
Cell Phones ?C Important Factors To Consider
 
From Womb to your Personal Computer's Doom
 
Credit Card Payments Lead To Online Sales Success
 
Tips When Moving From One Host To Another
 
Guaranteed Ways to Build Up Your Ezine List
 
FTP Hosting
 
 
 
Get 3 way links
 
 

Business & Services

 

Careers & Employment

 

Automobile & Automotive

 

Recreation & Entertainment

 

Society & Communities

 

Computers & Networking

 

Sports & Adventure

 

Home & Garden

 

Lifestyle & Fashion

 

Art & Culture

 

Events & News

 

Games & Play

 

Shopping & Auction

 

Self Help

 

Teens & Kids

 

Fitness & Health

 

Policies & Law

 

Finance & Banking

 

Cooking & Drinking

 

Travel & Accommodation

 

Technology & Science

 

Academics & Education

 

Property & Agents

 

Healthcare & Medicine

 
Home :> Security & Privacy :> ToS  
Copyright © 2006-2008 www.zoompicks.com - All Rights Reserved.