Programming language in MSN/Y/MS Office?

Click For Summary

Discussion Overview

The discussion revolves around identifying the programming languages used in the development of software applications, particularly those on Windows platforms. Participants explore methods for discovering this information, the necessity of specific languages like C/C++, and preferences for certain languages in software development.

Discussion Character

  • Exploratory, Technical explanation, Debate/contested

Main Points Raised

  • Some participants suggest contacting the software publisher or checking their website for information on the programming language used.
  • One participant notes that Windows does not restrict software development to C/C++, as various compilers can target the platform.
  • A question is raised about the absence of Java in discussions, with speculation that its requirement for a runtime environment may influence preferences for C/C++.
  • Another participant elaborates on the need to understand binary representation and how to interface with Windows routines, mentioning the role of Dynamic Link Libraries (DLLs) and frameworks like COM and .NET.
  • It is proposed that many programming languages can be used for Windows development, provided they interface correctly with the necessary components.
  • Visual Basic for Applications (VBA) is mentioned as a potential tool for adding functionality within Office applications, contingent on its support in newer versions.
  • A method is suggested for identifying the source language of an executable or DLL file by examining it in a text editor for identifiable character strings.

Areas of Agreement / Disagreement

Participants express a range of views on the programming languages used in software development, with no consensus on a single preferred language or method for identification. The discussion includes both agreement on the diversity of languages and disagreement on the implications of using specific languages like Java versus C/C++.

Contextual Notes

Limitations include the potential variability in software development practices and the dependence on specific software versions and environments for language support.

Who May Find This Useful

Individuals interested in software development, programming languages, and those seeking to understand the technical aspects of software creation on Windows platforms may find this discussion relevant.

pairofstrings
Messages
411
Reaction score
7
My question is simple. And that is: How to find out the programming language used in creating the softwares that we use on our different platforms/architectures/instruction sets? Is there any method to find it? Is it necessary that all the windows based software use C/C++ to create softwares? Which language is preferred, in general?

Thank you for replying.
 
Last edited:
Technology news on Phys.org
Yes: write a polite e-mail to the publisher (although sometimes, it'll also be stated on their website). There are a multitude of compilers of various programming languages that target the Windows platform, and most have probably been used at some point to compile code. Windows (or any other OS) doesn't care what language a program was written in: just whether or not the binary code (compiled from the source code) works.
 
No Java? Is it because java programs needs Java Run-time Environment(installed) to run the program that everybody gives preference to C/C++?
 
pairofstrings said:
My question is simple. And that is: How to find out the programming language used in creating the softwares that we use on our different platforms/architectures/instruction sets? Is there any method to find it? Is it necessary that all the windows based software use C/C++ to create softwares? Which language is preferred, in general?

Thank you for replying.

For development, if you are developing for something like windows, you have to understand the structure of the binary representation for programs, and then how to make calls to the various routines.

In terms of developing for the windows platform, many of the platform functions exist in public Dynamic Link Libraries (DLL's). In fact this is the way it works for many windows programs.

Then there are frameworks like the Component Object Model (COM) and the .NET platform. Again these have their own special representations as well as ways to interface the objects and make use of them.

In terms of the language, you can pretty much use anything that is out there, just so long as it interfaces correctly with whatever you are trying to interface with.

As an example of this look at the .NET platform. You can call any valid procedure from VB.NET, C#.NET, the C++.NET implementation and so on. They all reduce their code down to .NET intermediate representations, but never the less it does demonstrate what I said above.

If you want to do some simple things within Office, you might want to use Visual Basic for Applications if that is still supported. VBA is basically Visual Basic, and with that you can do things like add functionality to spreadsheets, databases, or documents. If you know Visual Basic, then the big challenges are knowing what the states are, as well as the callbacks for the different document types.

If you have a professional version of Office, you should be able to get access to the VBA backend if Office still has VBA support (I know it definitely used to in older versions, but I'm not sure about newer ones).
 
If you want to know what the source language was for a specific .exe or .dll file, try looking at it in a text editor. There are often some character strings identifying the software development system that created it.

On unix systems, there is usually a program called "strings" which will filter out the printable characters from any file.
 
Which text editor should I try?
 

Similar threads

Replies
4
Views
3K
  • · Replies 102 ·
4
Replies
102
Views
4K
Replies
16
Views
3K
Replies
7
Views
4K
  • · Replies 11 ·
Replies
11
Views
2K
  • · Replies 49 ·
2
Replies
49
Views
5K
Replies
3
Views
3K
Replies
10
Views
5K
  • · Replies 10 ·
Replies
10
Views
2K