▲ | const_cast 3 days ago | |||||||||||||||||||||||||
> Even on Linux, you can't have '/' in a filename, or ':' on macOS Yes this is why all competent libraries don't actually use string for path. They have their own path data type because it's actually a different data type. Again, you can do the Go thing and just use the broken string, but that's dumb and you shouldn't. They should look at C++ std::filesystem, it's actually quite good in this regard. > And a language that doesn't provide the tooling necessary to muddle through this mess safely isn't a serious platform to build on, IMHO. I agree, even PHP does a better job at this than Go, which is really saying something. > Go is making the tradeoff for language simplicity, while being marketed and positioned as a serious language for writing serious programs, which it is not. I would agree. | ||||||||||||||||||||||||||
▲ | astrange 3 days ago | parent [-] | |||||||||||||||||||||||||
> Yes this is why all competent libraries don't actually use string for path. They have their own path data type because it's actually a different data type. What is different about it? I don't see any constraints here relevant to having a different type. Note that this thread has already confused the issue, because they said filename and you said path. A path can contain /, it just happens to mean something. If you want a better abstraction to locations of files on disk, then you shouldn't use paths at all, since they break if the file gets moved. | ||||||||||||||||||||||||||
|