[Info-vax] RMS intro
Dan Cross
cross at spitfire.i.gajendra.net
Thu Jan 4 21:11:18 EST 2024
In article <un7np4$3rs6u$1 at dont-email.me>,
Arne Vajhøj <arne at vajhoej.dk> wrote:
>On 1/4/2024 8:46 PM, Dan Cross wrote:
>> In article <un7mh8$3ro6t$1 at dont-email.me>,
>> Arne Vajhøj <arne at vajhoej.dk> wrote:
>>> On 1/4/2024 7:34 PM, Dan Cross wrote:
>>>> In article <un75ou$3pjg7$2 at dont-email.me>,
>>>> Arne Vajhøj <arne at vajhoej.dk> wrote:
>>>>> On 1/3/2024 8:31 AM, Dan Cross wrote:
>>>>>> "cygwin executes Windows executables that are built
>>>>>> from Unix-y sources using compatibility libraries,
>>>>>
>>>>> Cygwin does not execute executables. Cygwin produces regular
>>>>> Windows executables that are executed by Windows line any other
>>>>> Windows executable.
>>>>
>>>> Nope. Cygwin is an _environment_ that exists under Windows,
>>>> along with a user interface, that supports executing Unix-style
>>>> programs. Yes, there's a toolchain, but Cygwin itself is not
>>>> only a toolchain. The more important thing, in many ways, is
>>>> the Cygwin DLL that supports cygwin execution.
>>>>
>>>> You may quibble with the terminology here; it is true that
>>>> technically _windows_ loads and starts those executables running
>>>> and the hardware actually does the execution, but it is saying
>>>> that "cygwin produced regular Windows executables" is so vague
>>>> as to be outright incorrect.
>>>
>>> It is precisely correct.
>>>
>>> Building with Cygwin toolchain produce an executable that
>>> can run on any Windows system as long as the DLL's it use
>>> are present.
>>
>> Go back and reread what I wrote.
>>
>>> It does not need any Cygwin environment.
>>
>> https://cygwin.com/cygwin-ug-net/overview.html#what-is-it
>>
>> |What is it?
>> |
>> |Cygwin is a Linux-like environment for Windows. It consists of
>> |a DLL (cygwin1.dll), which acts as an emulation layer providing
>> |substantial POSIX (Portable Operating System Interface) system
>> |call functionality, and a collection of tools, which provide a
>> |Linux look and feel. The Cygwin DLL works with all AMD64
>> |versions of Windows NT since Windows Vista/Server 2008. The API
>> |follows the Single Unix Specification as much as possible, and
>> |then Linux practice. The major differences between Cygwin and
>> |Linux is the C library (newlib instead of glibc).
>> |
>> |With Cygwin installed, users have access to many standard UNIX
>> |utilities. They can be used from one of the provided shells
>> |such as bash or from the Windows Command Prompt. Additionally,
>> |programmers may write Win32 console or GUI applications that
>> |make use of the standard Microsoft Win32 API and/or the Cygwin
>> |API. As a result, it is possible to easily port many
>> |significant UNIX programs without the need for extensive
>> |changes to the source code. This includes configuring and
>> |building most of the available GNU software (including the
>> |development tools included with the Cygwin distribution).
>>
>> In their own words, "Cygwin is a Linux-like environment for
>> Windows."
>
>Yes.
>
>But when used for development it still produces standard
>Windows executables, that does not require Cygwin to run.
It requires the Cygwin DLL; a part of Cygwin.
>WSL is used to create standard Linux executables that
>require WSL or another Linux to run.
No, WSL is used to _run_ standard Linux executables. How you
create them is independent of that. Of course, you _can_ create
them using WSL, of you can create them by some other means; WSL
doesn't care.
This is the distinction you seem stubbornly unable to grasp.
>>>>> And as I described above then Cygwin can build both *nix source and
>>>>> Windows source (and hybrids of those) not just *nix sources.
>>>>
>>>> You seem to be referring to the cygwin toolchain, which is only
>>>> part of cygwin. See https://cygwin.com/ for more.
>>>
>>> But it is a difference between Cygwin and WSL.
>>>
>>> Cygwin GCC accepts both Windows and *nix source. WSL GCC accept only
>>> *nix source.
>>
>> So what?
>
>It is a difference.
So?
>My list of differences had it.
>
>Your list of differences did not have it.
Because it's not relevant.
>>>>>> Toolchains are only tangentially
>>>>>> relevant.
>>>>>
>>>>> Toolschains are really the only thing that matters.
>>>>
>>>> Nope.
>>>>
>>>>> WSL exist to allow developers to run Linux toolchains.
>>>>
>>>> No, WSL exists to allow Windows users to run a "Linux
>>>> environment", full-stop, running unmodified Linux-branded
>>>> ELF binaries. Users can, of course, run a toolchain if they
>>>> wish, but they are not limited to that; believing so is a
>>>> failure of imagination.
>>>
>>> Microsoft has clearly stated that it is intended for
>>> developers to build for Linux.
>>>
>>> I assume that Microsoft knows why they have created WSL.
>>
>> From, https://learn.microsoft.com/en-us/windows/wsl/about:
>>
>> |Windows Subsystem for Linux (WSL) is a feature of Windows that
>> |allows you to run a Linux environment on your Windows machine,
>> |without the need for a separate virtual machine or dual
>> |booting.
>
>And it continues:
>
># WSL is designed to provide a seamless and productive experience for
># developers who want to use both Windows and Linux at the same time.
Yes. That's what I meant when I said, "Is that environment
intended for developers? Yes." Note that I said that in the
next bit of text that you quoted, immediately below this.
>> It is not a toolchain. Is that environment intended for
>> developers? Yes. Can you do more than run a toolchain?
>> Yes.
>
>It is intended for developers to run a standard Linux
>build toolchain to enable Linux builds on Windows. MS
>want to keep developers on Windows.
No. It is intended for developers to run Linux-branded ELF
binaries under Windows. Again, full-stop. Is the primary
objective of that to be able to perform development tasks? Yes,
but that is independent of being able to, "run a standard Linux
build toolchain to enable Linux builds on Windows." Do you even
know what that means?
>It could be used to browse the web, read email and use
>word processors and spreadsheets.
Correct.
>But MS has no interest in WSL being used for that.
That may well be true; they're clearly interested in development
tasks, but that includes a lot more than just "running a
toolchain." For example, using revision control, running CI/CD
runs, running automated integration test suites, deployment
pipelines, running scripts that pre- or post-process output of
some kind or another, using familiar text editors, etc. They
may not even be using a compiled language at all.
Again, do you have any idea what developers who use Linux as a
development platform regularly actually do with it? There's a
lot more to it than typing "make" and letting GCC do its thing.
Do you actually have any professional experience using Linux?
>And I don't think any WSL users use it for that.
I think you probably don't know any WSL users, or what they do.
- Dan C.
More information about the Info-vax
mailing list