lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]




Le dim. 20 janv. 2019 à 16:33, Viacheslav Usov <via.usov@gmail.com> a écrit :
On Sun, Jan 20, 2019 at 1:36 PM Philippe Verdy <verdy_p@wanadoo.fr> wrote:

> Everyone now compiles with "UNICODE" (when using the Win32 API) 

False.

Who does not ? Microsoft itself is slowly replacing most of its code (except the one for supporting very old hardware or software no longer supported by their manufacturers, only to preserve some minimum level of compatibility). Softwares makers have been long to propose 64-bit apps, but the move is underway, most initial difficutlies are solved (and the trend will accelerate because of limitations of mitigations with 32-bit sofwares and kernels).
Even smartphones are now 64-bit; the only remaining things are small IOT devices (but path is underway to hide this detail by using virtual machines on top of the small CPU capabilities, to hide the details).


> Now Windows 10 has started deprecating the Win32 API.

False.

True... You've not seen the latest build development and the fact it adds many security restrictions, moving it to isolate it in a sandboxed subsystem for legacy apps...

>  Everything can work with Unicode only.

For standard-conformant C code on Windows, false.

True, Unicode can be used with the Windows API UTF-16) directly even if the application I/O uses UTF-8. The kernel provides itself the conversion when needed without loss with legacy 8-bit I/O using UTF-8; ANSI/OEM charsets have caused many problems of interoperability and are no longer needed even for the console (which has been improved to fully support Unicode/UTF-8 including at boot time).
Even Unix/Linux now deprecates the uses of legacy 8-bit charsets, and are preinstalling themselves with UTF-8 locales (you are no longer required to install all the legacy 8-bit charsets, except possibly a single one for FAT-formatted external storages with legacy external devices.
UEFI boot also no longer needs OEM charsets; secure boot also now requires UEFI; old hardware with only BIOS boot mode are deprecated (they won't be secured enough and have lot of legacy compatibility limits, including storage sizes, this was made for the old 16-32 bit mode, but with 64-bit and today's memory now largely exceeding 4GB on every PC, and storages exceeding the legacy BIOS limits, plus the need to supprot new 4KB sector sizes, the old tricks no longer work reliably or have a severe performance cost)



Cheers,

Not so. You seem to like 32-bit world, but it is now definitely broken and causes more and more problems once you use it (except when these run in completely sandbones virtual machines and very restricted I/O)