Path: csiph.com!weretis.net!feeder6.news.weretis.net!news.misty.com!news.iecc.com!.POSTED.news.iecc.com!nerds-end From: Hans-Peter Diettrich Newsgroups: comp.compilers Subject: Re: Portable Software Date: Wed, 5 Apr 2023 11:23:39 +0200 Organization: Compilers Central Sender: johnl@iecc.com Approved: comp.compilers@iecc.com Message-ID: <23-04-006@comp.compilers> References: <23-03-001@comp.compilers> <23-03-017@comp.compilers> <23-03-022@comp.compilers> <23-03-029@comp.compilers> <23-03-032@comp.compilers> <23-03-042@comp.compilers> <23-04-005@comp.compilers> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Info: gal.iecc.com; posting-host="news.iecc.com:2001:470:1f07:1126:0:676f:7373:6970"; logging-data="75751"; mail-complaints-to="abuse@iecc.com" Keywords: design Posted-Date: 05 Apr 2023 05:39:14 EDT X-submission-address: compilers@iecc.com X-moderator-address: compilers-request@iecc.com X-FAQ-and-archives: http://compilers.iecc.com In-Reply-To: <23-04-005@comp.compilers> Content-Language: en-US Xref: csiph.com comp.compilers:3448 On 4/2/23 12:04 PM, Anton Ertl wrote: > For a Unix, there were a few hoops we had to jump through to make > Gforth work: e.g., IRIX 6.5 had a bug in sigaltstack, so we put in a > workaround for that; HP/UX's make dealt with files with the same mtime > differently from other makes, so we put in a workaround for that. > Windows, even with Cygwin, puts up many more hoops to jump through; > Bernd Paysan actually jumped through them for Gforth, but a Windows > build is still quite a bit of work, so he does that only occasionally. Too bad that not all existing OS are POSIX compatible? ;-) So my impression still is: have a language (plus library) and an interpreter (VM, browser, compiler...) on each target system. Then adaptations to a target system have to be made only once, for each target, not for every single program. Even for programs with extreme speed requirements the development can be done from the general implementation, for tests etc., and a version tweaked for a very specific target system, instead of the single target version in the first place and problematic ports to many other platforms. Of course it's up to the software developer or principal to order or build a software for a (more or less) specific target system only, or a primarily unbound software. (G)FORTH IMO is a special case because it's (also) a development system. Building (bootstrapping) a new FORTH system written in FORTH is quite complicated, in contrast to languages with stand alone tools like compiler, linker etc. Some newer (umbilical?) FORTH versions also compile to native code. DoDi