Hacker News new | ask | show | jobs
by fortytw2 2306 days ago
I absolutely agree. The one time I had the great misfortune of building software for windows I was extremely happy to see Go worked at all.

Linux and OS X largely work the same way due to their shared Unix-ness and pretty much everyone I’ve ever met or talked with uses Go on one of those two platforms.

If you have to develop software primarily for Windows, maybe don’t use Go - it’s easily the least actively maintained OS target and there are many options for languages that are well supported on Windows by vendors who actually care. Kind of the same folly as trying to write an iOS app not in Swift or ObjC and then complaining it doesn’t work well.

1 comments

No one expects iOS to run on Windows. But given that there's a Windows version of Go, it's reasonable that it should work.

And also, the points about metadata and path management are spot on. It's 2020. Languages should not be assuming that paths are byte strings.

Unix-think is a bug, not a feature. A good language should abstract the file system, not just put a teeny tiny wrapper of modesty around it.

> Languages should not be assuming that paths are byte strings.

Lots of people who know what they're talking about disagree:

https://yarchive.net/comp/linux/utf8.html

Stuff exists on those file systems outside of your application, and at some point you'll have to interface with them.
For high-level languages you're writing user-facing apps in domains where your file handing needs are simple, I can see the appeal.

But of course you're ignoring the entire category of systems programming, cross platform apps that need something more than easy access to a file picker, integration code that frequently needs to deal with exactly the edge cases that these pretty abstractions ignore, etc. etc.

VB6 had its place. So does C.

> Languages should not be assuming that paths are byte strings.

They are in the real world and you have to live with that.

Screaming at people might sometimes have good results.

Screaming at reality never does.