June 05, 2012
On 2012-06-05 17:47, Jonathan M Davis wrote:

> When writing std.datetime, I was shocked to find out that Mac OS X doesn't have
> the librt functions in spite of the fact that they're POSIX. My guess is that
> they're from some version of POSIX that Mac OS X doesn't support, but
> regardless, the fact that something is POSIX doesn't seem to actually
> guarantee much. It puts you in the general ballpark of your stuff working if
> it's using POSIX stuff, but you have to make it sure (and potentially tweak)
> everything that you do which relies on POSIX functionality for each OS to make
> sure that it functions correctly. All you have to do is go through druntime
> and see all of the differences between each of the POSIX systems to see how
> much they vary, in spite of the fact that they're all supposedly following the
> POSIX standard.
>
> - Jonathan M Davis

The Posix support on Mac OS X isn't the best. I think it was pretty bad in Mac OS X 10.4. In 10.5 it got a lot better. I think it's getting better in each version.

-- 
/Jacob Carlborg
June 05, 2012
On Tuesday, 5 June 2012 at 15:32:05 UTC, Gor Gyolchanyan wrote:
> On Tue, Jun 5, 2012 at 7:03 PM, Dmitry Olshansky <dmitry.olsh@gmail.com> wrote:
>>
>> On 05.06.2012 18:57, Alex Rønne Petersen wrote:
>>>
>>> On 05-06-2012 16:52, Gor Gyolchanyan wrote:
>>>>
>>>> On Tue, Jun 5, 2012 at 6:43 PM, mta`chrono <chrono@mta-international.net
>>>> <mailto:chrono@mta-international.net>> wrote:
>>>>
>>>> Drop support since even Microsoft dropped support. Even if druntime will
>>>> support Windows 2000, all my the programs I code will at least require
>>>> Windows XP.
>>>>
>>>>
>>>> +1
>>>>
>>>> --
>>>> Bye,
>>>> Gor Gyolchanyan.
>>>
>>>
>>> Agreed.
>>>
>>
>> Same here, just make it official and be done with it.
>>
>> --
>> Dmitry Olshansky
>
>
> So, the set of supported operating systems will be:
> 1. Windows XP +
> 2. POSIX
>
> If it was not for the damned Windows, there would be a single
> universal operating system interface for all operating systems.
>
> --
> Bye,
> Gor Gyolchanyan.


Forgetting, of course, that there are many industrial operating
systems that don't fully support POSIX, if at all.

Or that even with POSIX, the support is not the same across all
commercial UNIX systems.

I like UNIX and POSIX, but that is not the universal API that many think.

--
Paulo
June 05, 2012
On Tuesday, 5 June 2012 at 15:48:07 UTC, Jonathan M Davis wrote:
> On Tuesday, June 05, 2012 19:34:38 Dmitry Olshansky wrote:
>> > If it was not for the damned Windows, there would be a single
>> > universal operating system interface for all operating systems.
>> 
>> If POSIX standardization was ever successful. If all you need is covered
>> by oldish Unix interface, if ... And there is ton of small details that
>> try to stub you in the eye while porting from say Linux to OS X.
>
> When writing std.datetime, I was shocked to find out that Mac OS X doesn't have
> the librt functions in spite of the fact that they're POSIX. My guess is that
> they're from some version of POSIX that Mac OS X doesn't support, but
> regardless, the fact that something is POSIX doesn't seem to actually
> guarantee much. It puts you in the general ballpark of your stuff working if
> it's using POSIX stuff, but you have to make it sure (and potentially tweak)
> everything that you do which relies on POSIX functionality for each OS to make
> sure that it functions correctly. All you have to do is go through druntime
> and see all of the differences between each of the POSIX systems to see how
> much they vary, in spite of the fact that they're all supposedly following the
> POSIX standard.
>
> - Jonathan M Davis

This is the hard reality of UNIX systems, that many aren't aware of
because they only know one specific system.

Long time ago, 1999-2003, I had my share of pain supporting server applications across Aix, HP-UX, Solaris, Linux, BSD besides Windows.

The one that gave us more headaches was HP-UX, due to the archaic compiler available on the system and the 32-64 bit transition happening on those days.

--
Paulo
June 06, 2012
On Tuesday, 5 June 2012 at 14:43:47 UTC, mta`chrono wrote:
> Drop support since even Microsoft dropped support. Even if druntime will
> support Windows 2000, all my the programs I code will at least require
> Windows XP.

I agree with removing the windows 2000 requirement from the run time library.

What about the DMD compiler itself?
Does DMD have a Windows XP+ requirement as well?
I would like to request that DMD itself not depend on XP.
But only if does not require a lot of work.

BTW - I am posting from a Windows 2000 machine.
Windows 2000 is handed for older machines.
It is also good for bare bone machines from tiger direct.
Yes I also use linux on these machines in dual boot mode.

I have several old legal licensed copies.
I can fairly easily install and uninstall windows 2000.
I do not have to deal with Microsoft's registration headaches.
Believe it or not I had a customer that required windows 98 support last year.

Embarcadero (formerly Borland) C++ Builder still supports these older systems.

June 06, 2012
OOPS

Ment to say
 Windows 2000 is handy for older machines and "bare bone" machines.

> Believe it or not I had a customer that required windows 98 support last year.
I guess if I am a dinosaur than my win 98 customer must have been a pre-dinosaur.

June 06, 2012
On Wednesday, June 06, 2012 04:09:12 tim krimm wrote:
> On Tuesday, 5 June 2012 at 14:43:47 UTC, mta`chrono wrote:
> > Drop support since even Microsoft dropped support. Even if
> > druntime will
> > support Windows 2000, all my the programs I code will at least
> > require
> > Windows XP.
> 
> I agree with removing the windows 2000 requirement from the run time library.
> 
> What about the DMD compiler itself?
> Does DMD have a Windows XP+ requirement as well?
> I would like to request that DMD itself not depend on XP.
> But only if does not require a lot of work.
> 
> BTW - I am posting from a Windows 2000 machine.
> Windows 2000 is handed for older machines.
> It is also good for bare bone machines from tiger direct.
> Yes I also use linux on these machines in dual boot mode.
> 
> I have several old legal licensed copies.
> I can fairly easily install and uninstall windows 2000.
> I do not have to deal with Microsoft's registration headaches.
> Believe it or not I had a customer that required windows 98
> support last year.
> 
> Embarcadero (formerly Borland) C++ Builder still supports these
> older systems.

dmd should run on older machines - though I would be very concerned about running out of memory if much in the way of templates or CTFE is used. It's the libraries that have issues. Supporting older OSes means disallowing newer OS function calls, which can be quite problematic. For instance, some of what std.datetime does would be easier if we could require Vista or newer, since Microsoft added some time-related stuff in Vista. As it is, it requires a function which is only in XP or newer (which is really weird considering that the function which does the opposite conversion is on Win2K).

We obviously can't require that users have anything newer than XP, because XP is still used far too much for that, but in general, the sooner that older OSes are unsupported, the better off libraries which use system calls are. Regardless, dmd should run on older machines as long as they perform well enough to compile what you're trying to compile. dmd doesn't require any of the newer system calls.

- Jonathan M Davis
June 06, 2012
On Wednesday, 6 June 2012 at 03:07:36 UTC, Jonathan M Davis wrote:

What causes the "RTLCaptureContext could not be located" error for instance?

You are saying it is object code in the runtime library that is linked in and not the object code generated by DMD for my D code.
So I can create a stub "run time" like in the XOMB OS and still run D programs.

The other reason I still use 2000 is:
I hate windows vista and windows 7 with a passion
but I can no longer get XP.
Unless I buy a refurbished PC with XP
that is coming off of lease.

I tolerate windows 7 only because I have too.
Windows 8 is going to be even worse.
I also hate paying the "Microsoft tax" and supporting the "evil empire".

Hopefully I will be able to convince future customers that Linux is better.
June 06, 2012
On Wednesday, June 06, 2012 05:31:51 tim krimm wrote:
> On Wednesday, 6 June 2012 at 03:07:36 UTC, Jonathan M Davis wrote:
> 
> What causes the "RTLCaptureContext could not be located" error for instance?

I don't know anything about that. My first guess would be that it's related to druntime, but I don't know. As I understand it, dmd itself should work on Win2K, but it would be very easy for there to be an issue with the libraries which would prevent them from running, and it may be that there's a bug in dmd which prevents it from working properly in Win2K.

> You are saying it is object code in the runtime library that is linked in and not the object code generated by DMD for my D code. So I can create a stub "run time" like in the XOMB OS and still run D programs.

druntime may or may not work. Parts of Phobos _won't_ work (at minimum std.datetime and anything that relies on the portions of it that don't work). Creating your own runtime would work as long as you create all of the pieces that are needed (I wouldn't really advise trying though - it's not something that sounds like it would be much fun).

> The other reason I still use 2000 is:
> I hate windows vista and windows 7 with a passion
> but I can no longer get XP.
> Unless I buy a refurbished PC with XP
> that is coming off of lease.
> 
> I tolerate windows 7 only because I have too.
> Windows 8 is going to be even worse.
> I also hate paying the "Microsoft tax" and supporting the "evil
> empire".
> 
> Hopefully I will be able to convince future customers that Linux is better.

I'm primarily a Linux user myself, but unfortunately, since we want D to be properly cross-platform (and since a lot of people _do_ use and like Windows), we need to support it. The question is how old a version that we'll support, and the fewer older versions that we support, the easier that it is for us.

- Jonathan M Davis
June 06, 2012
On Tuesday, June 05, 2012 11:43:34 Denis Shelomovskij wrote:
> it's time to make a decision. Original comment: https://github.com/D-Programming-Language/druntime/pull/212#issuecomment-582 7106
> 
> So what we will do with Windows 2000? Personally I don't like this pull request (druntime pull 212). It makes not-very-good-looking druntime uglier. I'd like voting about this to be done. Something like:
> 
> 1. Officially announce that minimum supported Windows version is 5.1
> (aka XP) since v2.053
>    1. Add link like "Email @denis-sh to get D stuff with partial support
> for Windows 2000".
>    2. Just call all Windows 2000 users dinosaurs.
> 
> 2. [A bit improve and] Merge this pull and officially announce that Windows 2000 is partially supported.
> 
> 3. Maniacally add full Windows 2000 support.
> 
> 4. Leave Issue 6024 opened forever.
> 
> 
> 
> And from my next comment https://github.com/D-Programming-Language/druntime/pull/212#issuecomment-582 7146: Oh, it's few days more than a year Windows 2000 is silently unsupported!
> 
> Links:
> * http://d.puremagic.com/issues/show_bug.cgi?id=6024

Personally, I like the tact of saying that we'll support whatever versions of Windows that Microsoft does (which would mean no support for Win2K), but if adding some Win2K-specific stuff to fix some Win2K specific issues doesn't cost us much, then it's fine with me. The problem is when there's a lot of it and/or it's disruptive. Some of the Win9x support definitely complicated stuff, and removing it was a definite step in the right direction IMHO. Win2K's situation is not quite the same however, so fixing some of the issues with it isn't necessarily a problem.

Honestly though, if it were purely up to me, I'd just go with the tact of saying that we'll support whatever versions of Windows that Microsoft supports, and anything that happens to work on older versions will work, and anything that doesn't, oh well.

- Jonathan M Davis
June 06, 2012
On 06.06.2012 6:09, tim krimm wrote:

>
> BTW - I am posting from a Windows 2000 machine.
> Windows 2000 is handed for older machines.
> It is also good for bare bone machines from tiger direct.
> Yes I also use linux on these machines in dual boot mode.
>

Using outdated OS to connect to the internet is one of biggest mistakes ever. For instance doesn't W2k happen to have this so convenient for malware IE6 ? ;) + There are various security breaches that nobody will fix ASAP anymore.

> I have several old legal licensed copies.
> I can fairly easily install and uninstall windows 2000.
> I do not have to deal with Microsoft's registration headaches.
> Believe it or not I had a customer that required windows 98 support last
> year.

What can I say try updating it at least to XP that still enjoys security fixes(?)
>
> Embarcadero (formerly Borland) C++ Builder still supports these older
> systems.
>


-- 
Dmitry Olshansky