The Grognard Faces Down XCode

My favorite term these days is grognard. I am misusing it terribly, no doubt. But I like this word. It’s evocative. It’s more polite than neckbeard, but only slightly; grognard has a gutteral sound in the back of the throat that makes it a bit more worldly-sounding.

This leads into a technical discussion of sorts. I am trying to learn iPad programming (I will no doubt talk about it at length as I puzzle it out and get things working) and this means moving out of my rather enormous comfort zone and into somewhere new. I’m a UNIX grognard. I haven’t written any Linux kernel mode drivers* but if something needs to be done on Linux or a UNIX variant I’ve probably done it, boostrapped it, duct taped it, or otherwise shouted at it really super loudly.

When I cracked out the books I let loose a mocking laugh for lo, everything started with “NS” for “NeXTStep” and we all know where we are with NeXT. Yeah we know where we are — lost. I work in a text-mode universe** and all the sudden I had… tools… that generate… code… and do… things. And it all mocks me from its NeXTStep past!

I downloaded Xcode 4 and got it all set up and running and was instantly lost in a maze of twisty passages all alike. Swearing happened. So did the throwing of the book. Here I am in a very familiar universe of gcc and gdb and Unix-mode tools and a completely weird world of clicking and dragging and things that refactor code by somewhat magic and, uh, stuff.

I don’t… do… stuff.

I was weirded out.

Two days — two full days for someone who cut C on a mainframe — before popping up a window, creating some controls, generating a class, and having it display “Hello World.” Look! Something approximating success!

It’s kind of funny how things that are old are new again. NeXT. Smalltalk in its cunning disguise as “Objective-C.” Low-level C hacking. Hand-coding memory management. GCC tricks. Trying to fit a ton of code in a very small place. It is all wrapped in a little tiny happy graphical shell.

I have reached grognard.  And I have faced down XCode.  And I am fairly certain it has won.


* Yet.

** I am occasionally okay with Eclipse but even when working in Java I find it annoys me enough to go back to the text mode universe. The only non-nano/vim universe I have ever liked is TextMate for MacOSX. I am, in fact, writing this post in gedit on Ubuntu which is a half step above “putting HEX into memory.”