Don't criticize people, criticize concepts.
I agree that we need to criticize concepts, not people. That said, we shouldn't be ignorant of a language's strengths when criticizing it's weaknesses.
Most of all, it's important to analyze the trade-offs inherent in working with a particular language. For example, it's very easy to iterate when working with a language like PHP. I can appreciate that while also not being a fan of implicit type conversions and inconsistent naming patterns in builtin functions.
When discussing trade-offs, it helps to discuss things from a position of knowledge, not ignorance. If you haven't programmed in PHP, you might want to hold back some commentary on it.
Don't go after people for using it, it might not be their choice. But do push back on apologists and promoters.
A couple of years ago I troubleshot a problem someone was having on a Mac. IIRC, instead of creating a file with an extension they had somehow managed to create a folder with an extension, with the actual file inside of that folder.
Also IIRC, they tried to click into the folder, but apparently Mac had hid the file extension (of the folder!) which prevented them from entering the folder (since the name without the extension was not the full name of the folder??). This only became apparent when dropping into the shell and doing a list. From there it was easy to change directory into the full name of the directory.
I have no clue what was happening here.
MacOS has a handful of extensions on folders that make the Finder treat them as files instead of folders. The most common is `.app` which is what almost every modern mac app that doesn't use a package installer is. It's how the "drag to install, drag to uninstall" magic works. The app, all it's bundled libraries and resources are all in this folder. Double click the "folder" and you launch the app because the inner folder structure is a convention that MacOS understands and so knows where the actual executable inside is.
There are a handful of others (notably their office suite ones `.pages` `.numbers` and `.keynote`) which do this too
NTFS supports executable permissions for users, groups, and all other types of ACL you can manage. It's just enabled by default if you have read access.
That said, in 99% of cases the Mark of the Web will do the same thing the executable bit will do on other platforms. You'll have to store an executable on a fat32 drive for it to be executable without a "your computer is in terrible danger" prompt.
Don’t criticize the users, that’s needlessly rude. But Windows needs to be criticized.
A single example, its lack of an executable permission, hiding file extensions, and running things based on file extension is at its core the cause of 95% of the worlds problems. They could easily fix so much just by showing extensions.