Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I don't like Microsoft products, such as Windows, because I used them through out the years and find all the edge cases where they don't hold up. Windows OS is too fragile with their kludge of internal designs. Corrupt registry or WMI repository bakes systems with ease. This has nothing to do with Open Source.

OSes that use plain text configuration files are easy to resurrect. Windows is fixed with reinstall the OS. Linux and BSD are fixed with editing a config file or reinstalling a single corrupt application / library.

Example of bad versus good design is DirectX shader compilation. Windows can only perform this while the game is running. Linux with WINE can perform this without the game running. Windows will have bad FPS during the first run / scene with many games because of this.

PS. Windows print system is really bad in the industrial environment because they do not follow label markup language stands. Number of label DSLs have a print quantity setting to save memory. Want 1000 copies printed, one print job with print quantity set to 1000. Windows spools up 1000 copies of the label and sends each to the printer. This eats up the memory on printers in no time. It also brakes the ability to clear the print queue just on the printer. Extra steps require the Windows print job to be canceled and they the printer's queue to be cleared. Otherwise The printer will receive the next 990 of the 1000 print job.



Short answer is you not familiar with Windows but quite good with Linux. Hence the "not like" part. Plenty of Windows developers I know (that is way more than Linux developers statiscally) love Windows. The apps they designed and built simply way better or even non existent on Linux. The same reason too for them, they don't know Linux and near God-level tier with Windows from MFC to assembbly.


Assumptions .... I was an IT/Network Consultant for a number of years before going to product development. Started with DOS on 5 1/2 dual floppy and then Win 3.1.

Example of bad API designs by Microsoft that gets pushed into production is `GetPrivateProfileString`[0]. This function returns a single key value from an INI file. This function will 1) Open the file, 2) Search the file for the Key, 3) Close the file. A better design would be to abstract the file so it is only open and closed once versus how many key values must be read from an INI file. It is like reading one BYTE of an IC at a time instead of batching the process.

NTFS cannot even free master file table space. Creating a lot of small files make it expand and never shrink.

Windows does not properly handle STDIN and STDOUT. Because of DOS being an applications versus a SHELL a person must compile an application as a GUI or CMD flagged, that is also bad design because a command line application must be re-design and re-complied as a GUI to hide the DOS console from showing when it runs and brakes all STDIN and STDOUT logging methods.

Microsoft still does not have proper offline updating. For some reason they falsely believe that everyone connects their computer to the Internet. Lot of air-gap machines in the automation industry. Big reason to move product host OS to BSD or Linux.

It is not fun trying to fix a corrupt registry or WMI repository. Even Microsoft sent out a Windows update to stop auto-backup of the registry because their low-end Surface laptops didn't have the hard-drive space to store them.

[0] https://learn.microsoft.com/en-us/windows/win32/api/winbase/...




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: