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