On Friday, 30 May 2014 at 09:25:40 UTC, Jacob Carlborg wrote:
On 2014-05-30 00:13, Kiith-Sa wrote:
Or if you're working on tools, don't
make them for $OS, make them cross-platform. (I boycott
non-crossplatform tools
by default)
That's not so easy, depending on what you're doing. Some things
are done in completely different ways depending on the
operating system. If you're luck you can code two versions, one
for Windows and one for Posix. Low level stuff is usually
platform dependent, even if it fall under one of the above
categories. For example, getting the full path to the currently
running executable looks completely different on Windows, OS X,
Linux and FreeBSD.
But the basic code should compile. We've just had the case when a
coworker tried my code on Windows (I develop on Linux). It
compiled with the latest version of dmd. No questions asked. When
it comes to system stuff it's:
version (Windows) {
// some odd shit
}
version (OS X) {
// some other odd shit
}
version (POSIX) {
// normal stuff
}
But these are little things like the "tmp" directory and so on. D
usually compiles on all the major platforms.