News for hackers. Stuff that matters.
Re:The Linux 2.5, Ruby 1.9 and Python 3 release management a... by jonathonf on Monday December 26, 2016 @07:05PM (#13260445)
> Microsoft breaking compatibility, more-so post Windows 7

IIRC, there have been several instances of this between releases, less so from the user application perspective, but rather from the driver model.

Windows 3.1 to Windows 95 (16- to 32-bit), Windows ME to Windows 2000 (NT kernel), Windows XP to Vista (UAC etc.) each saw various issues with device drivers.

The extent of user application backwards-compatibility is impressive, with only Windows 10 removing 16-bit application support (boo). For example, even now it's possible to double-click on the application icon at the left-hand of the window title bar to close the application - à la Win 3.1.

> The only mistake Microsoft made was not doing rolling releases

I think they're 'fixing' that with Windows 10.

Re:The Linux 2.5, Ruby 1.9 and Python 3 release management a... by dogma1138 on Tuesday December 27, 2016 @12:02AM (#13261372)
Windows 95 still booted through DOS, pretty much any application that could run on 3.1/3.11 could run on 95, you could run Windows 3.11 from within 95 if you wanted too.

Windows ME did not evolve to Windows 2000, Windows ME was a consumer/home operating System based on the same branch as Windows 98.

Windows 2000 was a continuation of Windows NT(4) for the enterprise market.

Windows XP was the first OS that unified consumer and enterprise versions on the same branch and moved the consumer version to the NT kernel.

Windows 10 didn't drop support for 16bit applications, it still is supported on the 32bit version like most people said, Windows XP 64bit couldn't run 16bit application either.

This has to do with how the 64bit CPU's work and the lack of 16bit real and IIRC even protected mode.

As for general compatibility you can install Windows 3.11 on a machine and upgrade it all the way to Windows 10 and keep your data as long as you go through 95/98 and Windows XP in the middle.

There are videos on Youtube where people install 3.1, 3.11, 95, 98, 98SE, ME, XP, Vista, 7 and 10 and keep their data and some settings (computer name, user, my documents, and even a quite a few windows settings ;)) and that is actually quite impressive.

Re:The Linux 2.5, Ruby 1.9 and Python 3 release management a... by webreac on Tuesday December 27, 2016 @07:51AM (#13262794)
IMHO, the single big break of backward compatibility was between windows XP and Vista 64.
Re:The Linux 2.5, Ruby 1.9 and Python 3 release management a... by dogma1138 on Tuesday December 27, 2016 @10:02AM (#13263468)
What exactly did break? I can run 20 year old software on Windows 10 without resorting to emulation.
Re:The Linux 2.5, Ruby 1.9 and Python 3 release management a... by dtech on Monday December 26, 2016 @07:30PM (#13260530)
> The extent of user application backwards-compatibility is impressive, with only Windows 10 removing 16-bit application support (boo)

It's still supported on the 32-bit versions of win10! It has never been supported on a 64-bit version of windows though.

Re:The Linux 2.5, Ruby 1.9 and Python 3 release management a... by jonathonf on Monday December 26, 2016 @07:37PM (#13260559)
That raises several questions for my next team meeting...
Re:The Linux 2.5, Ruby 1.9 and Python 3 release management a... by jonathonf on Tuesday December 27, 2016 @08:22AM (#13262960)
Well, it does. I was told one thing and reality is different. I'm supposed to trust other members of my team rather than fact-check their input.
Re:The Linux 2.5, Ruby 1.9 and Python 3 release management a... by wvenable on Monday December 26, 2016 @08:08PM (#13260661)
> Windows 10 removing 16-bit application support (boo).

CPU's in 64bit mode don't support running code in 16bit mode -- Windows 10 (actually 7) didn't remove support, it never existed to begin with. This is also why 32bit versions of Windows can and do still run 16bit applications.

Re:The Linux 2.5, Ruby 1.9 and Python 3 release management a... by pmalynin on Monday December 26, 2016 @08:47PM (#13260769)
Not exactly true.

CPUs in long mode (aka 64 bit) do not have the virtual 8086 mode, so the cannot natively execute real mode code. However, the code segment selector can be configured in such a way as to allow 16 bit protected mode code to be executed, the same way 32 bit code can be executed.

Re:The Linux 2.5, Ruby 1.9 and Python 3 release management a... by bdonlan on Tuesday December 27, 2016 @12:22AM (#13261442)
There's also the option to transition to 32-bit protected mode and then go to virtual 8086 mode from there. Or to simply emulate the entire CPU. It was probably just a cost-benefit trade-off in the end.
Re:The Linux 2.5, Ruby 1.9 and Python 3 release management a... by raverbashing on Tuesday December 27, 2016 @04:10AM (#13262118)
Yeah

Wasting silicon to emulate some 30+ y.o. architecture makes no sense

Intel/AMD could thing about doing a "pure" x64/x32 processor that starts in 32-bit mode mode and leaves everything else to an emulation layer (this could be present on the UEFI only for those customers that are interested in it)

Re:The Linux 2.5, Ruby 1.9 and Python 3 release management a... by therein on Tuesday December 27, 2016 @05:41AM (#13262415)
So why is 16bit execution supported on Windows 10 32bit but not on Windows 10 64bit or even Windows XP 64bit?
Re:The Linux 2.5, Ruby 1.9 and Python 3 release management a... by wvenable on Tuesday December 27, 2016 @03:38PM (#13265991)
It seems to be this:

https://msdn.microsoft.com/en-us/library/aa384249.aspx

"The primary reason is that handles have 32 significant bits on 64-bit Windows. Therefore, handles cannot be truncated and passed to 16-bit applications without loss of data."