7 hours ago, paulscottrobson said:
The problem with it is if you just crossdev you get away from the original point of the design - I thought - to replicate the learning environment we had on our Spectrums/C64/BBC Micros etc without the downsides (mostly storage before disk drives). You might as well design a console type design.
To quote the great philosopher, The Dude, "That's just like, your opinion, man."
? Cross-dev has been a thing for a long time. Lots of MS-DOS dev work was reportedly done on UNIX until DOS was self hosting (was it *ever* self hosting?). Quite often, initial development of new systems is done on the previous generation using simulators of the new components until the design is ready to be sent off for the next level of prototyping.
Yeah, a lot of dev work was done on the real hardware, but a lot of it was done on bigger/other systems and maybe only the fit, finish, and polish done closer to it being ready to release.
In any case, I see this transpiler being a modern & updated version of how I wrote stuff on the C-64 back in the 80s, start on paper with a general design/flow, maybe a few lines of hand-written code in a notebook, maybe even whole programs written out in long hand while away from the keyboard, surrounded by reference books. Type it in, some parts work, some parts don't. Looking at the code on the screen, we only had 40 columns and 25 lines, the program was probably longer than that, possibly much longer, and if it was in BASIC, no back-scroll, so, either LIST and hold down CTRL to slow down the output until you see what you're looking for and try and hit RUN/STOP before it scrolls past, or look at in chunks with LIST 100-200, nope, not there, LIST 200-300, ad nauseam. Oh it might be in this chunk, or the chunk it calls, or somewhere inbetween. Print it out on the tractor feed dot-matrix, back to working with a pile of paper, your pencil, and the reference material.
Ah, the good ole days.
Here, instead of a bunch of paper and a pencil, you're getting closer to the code in a text-editor. Working like this, your transpiled code might get you close enough to done that you do your final work on the end system and possibly back-port those fixes to the transpiler format for future versions/improvements.
Writing a transpiler/compiler is cool, and not a small task. It requires knowledge of not only the target language and all of its idiosyncrasies, but of the language(s) you're writing the transpiler in.
Cross-dev doesn't magically make the target system do things it can't otherwise do, we're still dealing with the limitations of the target (hell, even the limitations of the system you're doing the dev work on, compilers/transpilers/etc aren't perfect either).
The only wrong way to do it is the way that doesn't work.