-
Website
http://blog.phanfare.com -
Original page
http://blog.phanfare.com/2005/10/xcode-vs-visual-studio/ -
Subscribe
All Comments -
Community
-
Top Commenters
-
Rich DeAugustinis
2 comments · 1 points
-
Andrew Erlichson
2 comments · 1 points
-
Oi Torpedo
2 comments · 1 points
-
hayles
3 comments · 1 points
-
Vinod
2 comments · 2 points
-
-
Popular Threads
-
HD Video has Landed at Phanfare
4 weeks ago · 22 comments
-
The case for purpose-built devices
1 week ago · 1 comment
-
Other Goodies in HD Video Release
3 weeks ago · 1 comment
-
HD Video has Landed at Phanfare
Begin Rant:
I use Eclipse @ work and find it deficient next to Visual Studio. Xcode is even worse. Apple seriously needs to build a robust IDE. And what about something equivalent to MSDN? The layout and structure of ADC needs a serious overhaul as well. While I'm dreaming, I'd also like to see more code samples similar to Flex docs "View the examples" link. Don't even get me started on Objective-C as a language...
End Rant.
Also, build results and console output can be hidden behind the source code while you are editing it, and then quickly accessed using Exposé when you run the project. Better for concentration. :-)
Xcode-Preferences-General-Layout : All In One
That might help you :)
It pays to read release notes
1. Debugging in Xcode is a pretty painful experience because (a) it's highly prone to crashing for no good reason, (b) you can't see variable values by hovering the mouse cursor over the code as you can in VS, (c) the default key bindings for stepping thru code are totally bizarre (you have to press three awkwardly placed and unmemorable keys simultaenously to step forward one line - unlike VS which uses F10 and F11 - don't tell me about changing the keybindings - that didn't work properly when I tried it.
2. The Interface Builder - is a pretty ghastly add-on to Xcode becuase (a) it's not really integrated into Xcode and (b) it's totally unintuitive in the way you connect up controls to the code. You have to do all kinds of weird stuff from adding lines of code in a header file and dragging the header file over the Interface Builder app to drawing connector lines while you hold down the shift key from the the UI panel to some other window. In VS on the other hand everything is so much simpler. You simply drag a control from a toolbox onto your form and click the control and voila VS adds event handler code for responding to button clicks, combo drop downs and so on. No fuss no muss.
3. VS built apps seem far more stable compared with app built in Xcode. Xcode apps seems to crash for all kinds of weird reasons - it's often very difficult to figure out why an Xcode app crashes especially when you look at the stack trace and see the thread that failed was one that was executing code deep inside one of Apple's Frameworks. In VS, however, a crash is much more likely to originate in your own code and the chances are the stack trace will point you to the source of the problem directly.
4. .NET code is so much nicer than Objective-C but that's another stpry ...
I too much prefer Visual Studio too Xcode, but it's all bout the IDE, not the quality of the build output. Also, I've seen plenty of stack traces deep in MS code so I don't see any difference on that front.
There are alot of nice features in eclipse - the plugin system by far is the best feature allowing you to plugin database browsers for example - something you cant do in vc++. However, overall it's interface is not as intuitive and it's debugger is not even close to vc++. Vc's ability to do stack traces, mouse over of variables to get current execution variables, etc. is very valuable. My one complaint with vc++ is it's annoying ability after version 6 to link Microsoft specific CRTs to any app that it builds (which is why vc6 is still floating around...)
VS is a very good IDE, you are right, IntelliSence and and screen layout is extremly good and easy to use. I'm .NET programmer and like it very much.
But VS is a windows application, it fits the OS with it's office etc. I guess, most of you guys are also programmer for windows, so you are used to the windows os concept.
So it's quite hard to compare it with an IDE of MAC. Apple's OS has a completely different GUI concept than windows. So you guys look at the apple IDE and complain that it's not like your are used to, a bit to short look on a product right?
Julian complains the Interface Builder is not intuitive. Can be, if you are not used to. Have you ever heard abput MVC?XCode completly separates code and GUI. Look at VS and you find the greatest mix between GUI/Code/Business Logic. So again a completly different concept!
On the other hand, the IntelliSence from VS is really top, and XCode is no match for it, with that I agree!
The main thing I don't like on VS is the performance. VS can drag down the whole OS just while opening a Solution (just u few XML files......)
I started using XCode only for iPhone app development as it's so hot. The IDE truly hinders my productivity, mainly lack of IntelliSense, poor documentation, IDE Window layout, etc. that need major improvement. Even Interface Builder can do much better job. The UI concept may be different or better, it can still make it more ease of use while keeping the underneath generated code in the way to adhere MVC that should make the code more maintainable, but not with compromise of code creation.
I agree that the multi-window approach is an acquired taste. It is basic NeXTSTEP UI philosophy, as far as I can tell. It's much more prevalent on UNIX systems and you have to get used to it if you're not.
I'm also a .NET developer, but I guess I'm saying that Xcode deserves a fair chance.
In my opinion the whole difference is not about philosophies. It is more about the workflow.
The workflow to create something in VS is far much better. Debugger is slick, fast and reliable. MVC could have been automated to some level (like in VC++).
However some people claim that the maintenance of the code in XCode is easier. I cannot comment it since most of my time I create something. It is very seldom when I have to maintain some old code and recreate the GUI.
XCode is standing next to the another free app; never mind the usability with multiple windows and the fact that i cannot simply go back (even vim can do it!) in code - debugging is a pain (C++) and 'fix and continue' feature simply never worked for me!
visual studio overall is the best ide, though i am not a typical ms fan.
This is an interesting post, I am on the point of writing an app that I want on PC and Mac. I am very disappointed no one shouted out in the comments that you should "Just use XYZ, GUI composer and cross compiler".
For years I used a UDE (CodeWright) and bolted on compilers, assemblers and linkers, I am an embedded designer mostly. The concept of needing different tools for Mac v's PC seems a little bizarre. There must be, by now, some tool where you can design dialogue boxes and forms in a platform independent way, then use specific board support libraries ( like .NET and what is it, X Code) for ports and OS calls to file/memory.
It also seems like GUI philosophy is different. Do I hear that I can't maintain look and feel between Mac and PC so my Windows User will get lost on the Mac app. I have to be Maccy on a Mac, and XPish on PC.
Fantastic. This makes life so much fun that I think I'll just drop the lot and get a job as a fry cook somewhere.
Thanks to all the commentators, you have enlightened me.