Forums before death by AOL, social media and spammers... "We can't have nice things"
|    comp.sys.apple2    |    Discussion about Apple II micros    |    56,720 messages    |
[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]
|    Message 56,129 of 56,720    |
|    fadden to David Schmidt    |
|    Re: Apple2 development toolchain    |
|    08 Apr 23 09:40:42    |
      From: thefadden@gmail.com              On Saturday, April 8, 2023 at 9:07:45 AM UTC-7, David Schmidt wrote:       > On 4/6/23 4:17 PM, fadden wrote:        > > Every language has a runtime.       > If I write DiskStuff.py, you need a Python interpreter. If I write        > DiskStuff.jar, you need a Java runtime.        >        > If I write DiskStuff.exe and DiskStuff.app, you just need an OS.              There are two separate things: compilation to native form, and runtime support.              Compilation to native form can happen ahead of time or "just in time".        Java/C# might use an interpreter for something that bloats up when compiled       (like large static array initialization), but they generally compile       everything to native code before its        executed. (It might even be using LLVM, though Java wasn't particularly well       suited IIRC.)              C/C++ need libcrt (compiled in), libc.so, and probably some other support       libraries; run "ldd" on a Linux executable. There are very few fully       "stand-alone" executables anymore. "/sbin/init" on my Ubuntu system is linked       against 36 shared libraries. /       lib/x86_64-linux-gnu has 24MB of binaries in it. If Java or .NET ships as       part of the operating system, then I would argue that a Java or .NET app is       equally unencumbered on that platform.              If a program can be distributed in a fully-encapsulated form, then the only       drawback vs. a gcc-compiled binary is potentially the distribution size. With       modern storage that's more of a philosophical issue than a practical one.              Windows does an amazing job with software; you can still run creaky old       versions of CiderPress. Apple discards all software every few years: 68K,       then PPC, then x86, then x64, then ARM. They interpret the old stuff for a       few years then drop it. Linux        effectively invalidates old executables when libc has a major change, and you       can't count on building an executable for one distribution and running it on       another. Apps compiled to bytecode are easier to distribute and to carry       forward because each        individual app doesn't need to be recompiled (...unless you have       system-specific start code).              (FWIW, Linux *hardware* compatibility is outstanding... you can still use old       SCSI cards with the default distribution. Windows breaks the world when they       update their driver model.)              --- SoupGate-Win32 v1.05        * Origin: you cannot sedate... all the things you hate (1:229/2)    |
[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]
(c) 1994, bbs@darkrealms.ca