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).