When you write CLI apps in .NET, for example, handling paths with spaces is a mess (argv splits on " ", even if you wrap arguments in quotes, so "C:\Program Files (x86)" is seen as 3 tokens.
C:\Users\andrewj\Desktop>type test.cs
public static class Test {
public static void Main(string[] args) {
foreach (string arg in args) {
System.Console.WriteLine(arg);
}
}
}
C:\Users\andrewj\Desktop>csc test.cs
C:\Users\andrewj\Desktop>test.exe a b "C:\Program Files (x86)" d e
a
b
C:\Program Files (x86)
d
e
Class Test
Public Shared Sub Main()
Console.WriteLine("GetCommandLineArgs: {0}", String.Join(", ", Environment.GetCommandLineArgs()))
End Sub
End Class