I want to create an application. It shouldn't be OS-specific but I'm running 98SE so I'll be explaining things in terms of that. I've already written it as a working script in VBScript, but it's too slow and gets exponentially slower as it handles larger and larger files.
I want to write it in another language as an executable, but I'm not sure what language will work -- or which would be best.
I have a feeling that C or one of its relatives is what I should be using but to be honest in my ignorance I have almost no basis for any opinion.
Here's what I need to use this language to do:
I need a native, portable-OS GUI.
I need multiple-file-handling capabilities invoked via the shell (i.e., by right-clicking on a selected file or selected files and invoking the program through their context menu).
I need it to read binary data from disk.
I need it to write binary data to disk.
I need to produce it in (at least) executable form. I'm fine if it's platform-portable, but I need it in Windows and frankly the people I'll be giving it to will be using Windows, too.
I need a free compiler operable on 98SE.
In other words: the user will select files or a file and through the shell context menu invoke the program using the files or file as arguments (correct terminology? I'm not sure). After the user manipulates settings from the GUI, the program will read the files or file as binary data and write further binary data to disk.
What language should I use? How do I go about it?
I taught myself VBScript from scratch but that was accidental and although I've become proficient with it I am because of my ignorance at a loss when it comes to other programming languages' merits, drawbacks, capabilities, &c.
If I can produce an executable with a native, portable-OS GUI, shell integration, and binary IO capabilities (preferably in single file -- no installation needed), that's all I need.
As I've said I'm running 98SE and don't have any other option; and it does have to be a free compiler (this is only a personal project).
Thanks very much for the suggestions as to which language I need to use. I'm entirely uninformed about this despite spending hours researching it on the Internet.
Can I do this in C?
All files are binary. That's the good news. All I/O is machine-specific, usually OS specific. Portability comes from the ability to PASS THE SOURCE CODE AROUND, not pass the executable around. Each implementation will require its own compiler and its own run-time libraries. That's the bad news.
Now, you talk about portability, but you really say it has to be 98SE. That isn't portable, that's specific. You will have to have a compiler that will support 98SE, and whose libraries are designed for 98SE (a FAT file system). I don't know of a free one that will meet those requirements. You may be able to get an old, used one (like VC++ 6.0, or the appropriate version of an old Borland compiler).