01.01.2019

Here at Red Gate we’ve been running a “New Business” division for a while. The goal of New Business is to try things that Red Gate wouldn’t normally try. With each idea we hope to succeed, of course, but if we fail we want to fail quickly. After the release of I moved to New Business, and that’s how I found myself learning to Xcode. Over the last four weeks, and I have developed Out of Office, a simple app for setting your Outlook out of office message from your iPhone. As a C# developer, it has been a lot of fun, a great learning experience, and I’ve changed my opinion of Objective-C along the way. I’d like to share the experience, and maybe get you to try Xcode yourself.

Xcode IDE The first thing that hits you when you start writing for iOS is, of course, Xcode. I do feel more productive in a good IDE than in a text editor, but learning a new one is painful. So is Xcode 4, in my experience, a “good” IDE? In fact, I was pleasantly surprised by it. Sure, everything is in the wrong place, but it wasn’t too hard to find. Kind of like switching to the Mac: the problem is unlearning what you are used to, not the Mac itself.

@MarinaLiu-MSFT Yes it gives a prompt. I tried using my AD login as well as PAT. I was able to clone the project to my local using Visual Studio on Mac after generating Git credentials through VSTS but no luck with XCode.

In the end, the user experience seems quite well thought out. For example, I like the “assistant editor” that stacks to the right of the file that you’re currently working on. You can get it to automatically display the “counterpart” file (.h file for a.m file, and vice versa), the superclass, a sibling, a subclass, etc. It’s a good use of the space on a widescreen monitor. Perhaps more controversially, Apple have done away with the concept of “open” files. Unlike Visual Studio and most of the text editors that I’ve used, single clicking a file in the project browser immediately shows that file in the editor. Select another file and it replaces the first, automatically saved and accessible via the back button.

Openoffice.org Word Processor for Mac is one monster software you should have in your computer already. In my humble opinion, I’ll like to affirm that it is the best free Word Processor for Mac. Looking for an alternative to Word on your Mac? Here are the 10 best word processor software packages for the iMac and MacBook. Long ago, Mac users arguably got the short end of the stick when it. Best word processors for mac. Best Free Word Processors for Mac: Conclusion In conclusion, I want to be transparent about the fact that I’m not yet a Mac user. I still dream of the day when I’ll have the Moxie to make such a transition.

In practice I found that it works quite well. So what don’t I like about it? There isn’t anything that I found particularly shocking – apart from the lack of “replace in selection”, which led to this. Compared to Visual Studio 2010, Xcode has SVN/Git integration out of the box, and the “intellisense” is pretty good too.

But comparing it to vanilla Visual Studio seems a bit unfair, because one of the great things about Visual Studio is the that are available. By JetBrains makes me feel much more productive than I do with either IDE out of the box.

Yes, it costs money, but we’re professional software developers. Similarly I much prefer to the SVN integration in Xcode, and to its diff viewer. There just plugins for Xcode. Maybe that will change in the future.

For the moment, I’ll be watching JetBrains’ with interest. Objective-C Ah, Objective-C. It’s the language that everyone loves to hate. Without Apple, no one would still be using it. But as they’re currently selling, it’s hard to ignore.

I certainly took a big hit in productivity when I switched from C# to Objective-C, but a month on, is that still the case? Sure, it has most of the disadvantages of C, like a weak type system, header files, forward declarations, manual memory management, obscure linker errors, and a lack of namespaces and method overloads.

Xcode

It feels dated. But in reality, it’s better than I expected. Memory management Manual memory management in Objective-C is not as onerous as the bad old days of Win32.

To be fair, this is mainly a problem with Win32, not C. For example, has the delightful error code ERROR_MORE_DATA, which means “I’m going to throw away the 64KB of work I did for you because 64KB wasn’t enough. I’m not going to tell you how much you actually need though. Better luck next time.” In Objective-C, however, objects are reference counted. There is a that lets you know whether you’re responsible for releasing them. This allows functions like RegQueryValueEx to allocate memory themselves but pass the cleanup responsibility to you.