Programming language to manipulate a graphical user interface (GUI) operating system

There is at least one programming language to manipulate a graphical user interface (GUI) of an operating system.
It’s named AutoHotkey (AHk) and is aimed for Microsoft Windows OSs.

AHk can be used to manipulate window-icon data structures in MS Windows – quite similarly to how we can manipulate window-icon data structures in a web browser with JavaScript.

Is there a programming language to manipulate a graphical user interface (GUI) in operating systems in general, unlimited only to say MS Windows OSs, or Linux OSs?

1 Like

There sure are. Very many.

C and C++ sure can. My understanding is that the original Windows operating system was written in C then later in C++ and those languages were used very commonly for Windows GUI applications. The Unix and Linux operating systems were written in C. I do not know absolutely for sure but I sure assume that C and C++ can be used for all the GUIs for Unix and Linux.

I am not real familiar with Java but it can be used for GUIs in all environments that support Java.

Python can. There are very many others.

Would it be correct to say that C is a language which is generally shipped with all Common OS families (Windows, Linux, macOS, etc)?

For example, if I am not mistaken, perl is shipped with pretty much any Linux, but is there a universal programming language which would probably be shipped with any major OS so that one won’t even need to download and install it? I ask this when putting things like Bash and Powershell aside because in my opinion they are more of computer-machine-operating languages than programming languages.

No. C is generally included with Unix and Linux but not other languages. I am not very experienced with Unix and Linux but it is my understanding that sometimes it is necessary to recompile the OS to apply changes. For proprietary OSs like Windows that is not possible, therefore there is no need for C with those OSs unless the user is a developer.

You seem to be drifting from your original question. I get the impression you are hoping for a common language. The closest you can get to something like that are the languages that are portable and available for all major environments.

Note that there are multiple definitions of portable. C and C++ are considered portable but must be separately compiled for each of the various environments. Even the definition of what compiled means varies.

I don’t think I was drifting :slight_smile: but anyway it’s good that you mention the issue of compiling the abstract code to machine code because it made me realise that I have made a mistake in phrasing my question – I am asking only about languages that are not compiled by the programmer itself to machine code (that’s why I mentioned AHk).

I do indeed hope to find a programming language which can manipulate all GUI (icon-window) OSs without personally compiling anything – just like JavaScript can manipulate generally any webpage (icon-window) minor data structure without personally compiling anything.

1 Like