Beginner - create a journal program with Xcode?

Discussion in 'Mac Programming' started by FreqFlyer, Nov 27, 2009.

  1. FreqFlyer macrumors newbie

    Dec 26, 2007
    Hello everyone!

    I've how been a Mac user for about a year, and I'm really glad I made the switch. The applications and great community has also made me much more interested in software, and now lately also programming.

    I like to keep a journal for both training workouts and everyday life. I have used viJournal everyday for now, but I think it would be interesting to program my own little and simple app to do some of the basic things. So, my plan is to get the " C Programming Language" by Kernighan and Ritchie, and the "Programming in Objective-C" by Kochan. Then I'll learn C and Objective-C. I'll deal with the step from Objective-C to Xcode later :)

    But after having read and completed these books and their exercises, do you think I'll be able to write my own little journal program? Just basic things. I'm thinking about a calendar, and a interface like viJournal. Is this possible, or does it takes years of training to write an app like that? Do you guys think that the two books I mentioned above are good to start with? :)

    Thanks for any help! Have a great weekend! :)
  2. Manty macrumors member

    Mar 18, 2008
    Lisbon, Portugal
    If you're a beginner (really a beginner) try searching google for some introduction to C, learn the logic, do the hello world, learn if's, else's, for's, while's, etc... I'm not familiar with any of those books, but you have very good resources online. I can recommend Cocoa(R) Programming for Mac(R) OS X from Aaron Hillegass, I read it, done the examples, and learned Cocoa from there. If/When you already know the logic learning a new language or how to work with a new API (Cocoa is just a set of API's) it's easier and faster.
    Another thing I remember, when I started learning my first language (Python I think) I was looking for something to keep me interested, something visual. Try to think of a project (something like a notepad) similar to your Journal or at least a part of it. Just my opnion. :)
  3. xStep macrumors 68000

    Jan 28, 2003
    Less lost in L.A.
    You should review this other thread going on right now.

    After reading and performing the practices in such books, you should be able to make basic programs. I looked up vJournal and see it is a GUI application. Those books do not cover GUI coding. You'll also want something like
    Cocoa(R) Programming for Mac(R) OS X (3rd Edition) by Aaron Hillegass. This highly recommended book teaches how to use the Mac tools needed to create OS X GUI programs. It assumes you already understand programming.

    Coding is only half of the equation to developing applications. The other side is designing an application. It is more difficult than it looks and also very time consuming. It is also very pleasing to complete.
  4. FreqFlyer thread starter macrumors newbie

    Dec 26, 2007
    Thank you both for your helpful answers!

    Yes, I'm planning to buy the Cocoa Programming for Mac OS X by Hillegass. I can see that it's recommended everywhere. But do I need to learn any more codes than those you find in C and/or Objective-C? I understand that I need to learn Cocoa to design a GUI, but that's just fun I think :)

    So, just a quick question: Is it more difficult to design a GUI than writing the program itself? I've always thought that writing all those codes and commands was the tricky part! =)
  5. xStep macrumors 68000

    Jan 28, 2003
    Less lost in L.A.
    Depending on your path, you might have to learn some other tool sets. Don't worry about other possibilities right now. You'll be able to pick them up if and when you'll need them.

    You learn Cocoa to implement the GUI, not design it. Depending on difficulty, some people have used Interface Build to design their GUI. They then can just use that in their project. This is unusual though. Most people start with rough designs on paper. Many like to see how it would look in pixels (on the screen) so use graphics tools to better pre-visualize the result they'd like to see.

    Both sides have their difficulties and skill sets. As you gain more experience in each, it becomes easier, because you'll find that the new projects have similar characteristics to past projects that you have already solved.

    By the way, the more time and detail you put into the design phase, the easier it will be to code. A good design allows a programmer to focus on his target rather than ask a lot of questions or make his own, possibly incorrect decisions.

Share This Page