It's a mistake to suggest that the Mac tools are inferior to Visual Studio. They're different, and the learning curve is pretty steep, but Apple has provided a pretty good environment.
Admittedly there are convenience features in C# that are not available even to C++ developers in Visual Studio, but you lose a lot of power as a tradeoff. Personally I only use C# for rapid prototyping. It has the advantage of eliminating a lot of housekeeping tasks, and offers you the luxury of writing code while only
sort of knowing what you're doing.
The bottom line, though, is that having a tool that compensates for only
sort of knowing what you're doing is no substitute for
really knowing what you're doing. I strongly suggest not shying away from learning to do things "the hard way," especially when that's coincident with "the right way." Pros don't do things the hard way just for bragging rights. We're as lazy as the next programmer. We all just use the tools that do what we need them to do, and frequently there are good reasons to know how to use a language like Objective-C.
Objective C has the worst syntax ever for a programming language
Objective-C doesn't have bad syntax; it has syntax you're not familiar with. If you'd ever programmed in Smalltalk, you'd recognize Objective-C's ancestry instantly. As a way of adding OO extensions to C, the Simula/C++ conventions became more popular, especially after Sun adopted them for Java, but the Smalltalk-like model in Objective-C works just as well. Admittedly it's a little awkward that method syntax looks different from function syntax, but one advantage is that it makes you think about whether a particular piece of code is really more appropriate as a function or a method, which C++ doesn't so much. Additionally, the way Objective-C incorporates full late binding and a message-based architecture into a language that still compiles into native code is something I'd kill for in C++.
Interesting to hear that C# and Java have such similar syntax.
C# is the ultimate result of Microsoft's attempts to "embrace and extend" Java technology out from under Sun/Javasoft's control. Having failed to pull that off, they decided to make their own. The CLR is essentially Microsoft's take on a Java bytecode interpreter, and C# is more or less what the Java language would have turned into had Microsoft succeeded in usurping it. At least initially they were only different enough to avoid legal issues. The .NET class library is a different beast. They couldn't just clone the Java interfaces without being too obvious, so that's where the major differences between C# and Java programming appear.