I see from the discussion you guys have used lots of languages. If I wanted to write an app that uses a serial port or wireless and could run on any device what language should you use? The app is not time critical it is just for set up purposes like a remote control and bare in mind I have a brain the size of a pea so learning a complex language is not an option.
Like many things, the answer will have to be "it depends". You say that it isn't time critical but serial comms does rely on almost precision timing at both ends. However, to run on "any" platform, I would probably stick with vanilla C as opposed to C++ or Go or Assembly (!) etc. There are plenty of useful C libraries to facilitate serial comms and networking - I'm half way through a "revision" of a book on the very matter - "Network Programming with C". The libraries are well tested and well used and reasonably easy to use.
If, by "any" you include iPhones/iPads <hack, spit> or Android phones/tablets etc - maybe you might have problems. As far as I know, Apple coding is done in C (or something similar - happy to be corrected) while Android is usually Java - but can be C or even Python or HTML.
It's probably not possible to run the same program unchanged (in the source) on many different platforms - there would need to be some fiddling, usually at low level, to get screen handling etc consistent - unless, of course, somethings like QT was available on all the platforms. That's a pretty good cross platform development system (C++).
Ruptor wrote:If an RPI is booted as a QL emulator how would anybody know it was not a QL wasn't really answered. Is it because you need to do things in Linux outside of the emulation to keep the system running? I can't see any problems since it is the same as any embedded program that uses a particular processor for its own ends.
To all intents and purposes, the emulator is running on a 680xx processor on the Pi. But does that processor emulate everything that the hardware does? I know not. How I would know which machine it is running on is relatively simple, after booting up, I would do something like
and see what I got back. Check out https://superbasic-manual.readthedocs.i ... chine.html
for details of the MACHINE command. Also, the PROCESSOR function would tell me about the particular processor (or emulation) I was running on - https://superbasic-manual.readthedocs.i ... #processor
Does the software care? I suspect not - unless it's specifically looking for a certain processor type etc.