Re: GUI question

Gregg Irwin <[email protected]> Mon, 11 May 2009 13:15:45 -0600
Newsgroups gmane.comp.programming.language-of-the-year
Message-ID <[email protected]>
Hi Karen,

q> Non-programmer here... Can a programmer tell from the interface
q> what language a database application was written in?

q> (I'm a writer, this is background research for a subject I know
q> little about--yet.)

A writer doing technical reasearch, YAY! I'm sure I'm not the only one
who gets annoyed by computer and programming related things that are
so obviously wrong in books and movies. Thanks for taking the time to
actually *consider* this.

In addition to what others have said, there are various ways a person
might try to ferrett out the tools used to build a program, or even
some of the internals. e.g., someone might be called as an expert
witness in a case where code may have been lifted.

One the best ways I've found to do that is to identify unique
behaviors, particularly those that are unintended. i.e. bugs. Another
clue is standard layout patterns or templates. Here you may examine
various screens in the app, looking for patterns you know.

If we're talking current, or past, technologies, it's very possible to
figure things out in most cases. Sometimes you can tell by looking
just at the UI. Database tools (Access, PowerBuilder, FoxPro, Clarion)
may have a unique look to them, which gives them away. You may also
look at the files the program uses, to determine their format.

The next step is to use tools to examine the internals of the compiled
code itself. The Portable Exectuable format contains a wealth of
information that can be obtained with readily available tools. You may
also use a Spy type tool (Not "spyware") that shows you the internal
window classes, which are often known names used by specific tools.

If the program is custom, as are the file formats, you have more
reverse engineering to do.

If you can only look at the UI, you can sometimes make a guess. If
there's nothing obvious pointing to a particular tool, you may be
able to guess at a category. The more time and access you have, the
better your chances are of nailing down an exact answer.

If it's fictional, you could come up with some other ways to do it,
while still making it technically feasible.

HTH!

--Gregg