(FYI-> I don’t know where a topic like this should go, I just figured this was closest to what I was talking about)
I recently had my hard drive bite the dust, and lost a good amount of my Data. Fortunately, I got things like pictures off before it went down for good. However, I wasn’t able to get XTab (My guitar tab program I was working on) off. So, I’ve gotta go rewriting it.
Anywho, I got to thinking that this wouldn’t be a bad opportunity to learn C/C++, and rewrite my app like that. (Given a few of the things that it does better/faster than AS) Now then… the only programming experience I have is with Applescript, so I knew I didn’t have much to go on, so I set to searching google. LOTS of tutorials. The problem is that very few pertained to OS X, and those that did conflicted a lot, or seemed outdated. (Or just didn’t work when I tried to compile it through XCode :P)
Anywho… does anyone here know of a good tutorial site to learn from? Like I said, the only experience I have is with Applescript/Studio, so I’m pretty much starting from scratch. Any help would be appreciated!
If you’re going to get into using one of the C languages, I’d recommend starting with Cocoa/Objective-C. While it’s certainly no picnic to learn from scratch… especially if all you know is ASStudio… it’s syntax and features do parallel much of what’s available in ASS. Making the transition is not too bad given the appropriate time and commitment. Cocoa is generally easier to learn than some of the alternatives, and provides plenty of power for creating pretty much anything you can dream up. The names for methods and commands are not quite so cryptic, and the language is a little more english-like. The issue most likely will be your learning curve, not the power of the language. If you want to learn C/C++, you’re looking for Carbon, apple’s set of APIs which give developers using these languages access to mac-specific features. There are a handful of features available to carbon developers that aren’t available in obj-c, but if you need to you can add them to your obj-c projects by simply including the frameworks you need in your project (once you figure out obj-c, you’ll likely have the skills necessary to do this.) I rarely do this in my obj-c apps, and only for a couple of features that carbon handles that cocoa doesn’t. As a first step away from ASS, I’ll wager that you’ll be quite uncomfortable with the syntax and flow of programming under carbon, as it’s certainly not quite as fluid or predictable as applescript or obj-c.
As far as tutorials go (and assuming you want to learn cocoa, not carbon) I’d start by searching google for “cocoa tutorials”. There are a handful of sites out there that have a good selection of tutorials. As you get more familiar with the syntax of the language, you might find… as I do… that “gootorials” are a bit more useful. I do a lot of google searching for sample code that contains examples of the syntax for accomplishing certain tasks and for how to use a particular method. Many of the simple tutorials out there are not quite explanatory enough. And many of the more complex ones are a bit too complicated or task-specific to be of use to novices.
Regardless of which language you choose I think it’s fair to say that you should plan to spend a considerable amount of time learning, and not get your hopes up about cranking out a new app in a totally new language in the near future. Unless your app doesn’t actually DO anything, the learning curve can be wide… especially if you don’t have any experience with any other languages. I am certainly a supporter of learning obj-c, though, so if you’ve got the time and patience I encourage you to take the step. If you’re like any of the other converts I know, you’ll likely never go back.
I took a look, and think I’m gonna take a look into Cocoa. I’m not on any sort of timeframe, I’m just a casual developer. XTab was as much for my own use as much as I planned to release it.
So here’s to learning. Hopefully I’ll be saying ‘hello world!’ sometime soon
and not doing too bad for myself. This took a good 30 mins, not counting the hour or two I spent reading beforehand, but I did get it working. It takes a number, and then counts up to twice that. This was done from memory, just to see how much I could remember