Previous 1 2 Next 15 Replies Latest reply: Sep 28, 2006 10:43 AM by Craig Roberts1
gcarcass Level 1 (0 points)
Hello, I'm a graphic designer who has a lot of experience from the point of view of an advance user...BUT! I decided that it was time to start making "my own stuff" so I decided to learn how to program and build my own applications.

The nightmare started as soon as I decided to begin learning by myself.

The problem is I do NOT have ANY (nothing, none, zero, NADA) of programming experience, so I was wondering, what do you recommend me, BESIDE the "Programming in Objective-C by Kochan and COCOA Programming for Mac Os X by Hillegas.

I do Understand the CONCEPTUAL fundaments of Objects and Classes, but EVERYTIME I ask the same question I got the same answer which is....well "several different answers about books", which is precisely what I want... BUT c'mon guys I'm being serious NO EXPERIENCE and GRAPHIC DESIGNER.

I bought the books I mentioned before because, many told me that...BUT the Hillegas's one NEEDS C or C++ experience (maybe not a solid one, but a lot of it) and the Kochan's one is very good but as I said before ...GRAPHIC DESIGNER...I need to see windows, graphics, buttons and those stuff, just arithmetics operations, conditional statments and string managements is too abstract ...then the things got complicated anyway, I even was checking some PYTHON which has a very..extremely simple syntax, but as I said before, I need an IDE, something visually rich...and JAVA...mmmmm...Java... the Java Virtual Machine "Thing" does not convice me completely.

I've published the same question in many forums, so this time I decided to go to the source (the apple site), Is there any GOOD,EASY book on Objective-C (specifically Cocoa) that also teach a good deal of Xcode?

Should I stick to REALbasic as a very easy developer multiplatform environment with a very simple IDE, after all what I need is to create small multiplatform (it can compile to OSX, Classic, Windows and Linux) multimedia things or do I have a chance to play in the big leagues (Cocoa and Xcode) I don't mind sacrificing the Multiplatform features but only If I have a chance?

Help me guys you are my only Hope ( I guess everybody saw episode IV, right??)

G5(PPC Dual 2.0 Ghz)   Mac OS X (10.4.7)   1.5 Gb RAM
  • Jim McGowan Level 2 (175 points)
    I agree, you do need an understanding of C before tackling Objective-C. I liked 'Sams Teach Yourself C in 21 Days':

  • gcarcass Level 1 (0 points)
    Well...I was expecting a little more information, orientation, and comments.

    Thanks anyway.
  • Mark Szymczyk Level 4 (1,975 points)
    I would stick with REALbasic if I were you. You already own a copy and it does what you need it to do. You can move on to Cocoa when you need to develop advanced applications that REALbasic can't handle.

    You're asking a lot when you ask for a book that teaches both Cocoa and Xcode. Cocoa and Xcode are large subjects, large enough to have entire books devoted to them. A Cocoa book is going to teach enough Xcode so you can get through the examples in the book. An Xcode book is going to teach you Xcode, not Cocoa programming.

      Mac OS X (10.4)  
  • Bob Lang1 Level 5 (4,080 points)
    Hi gcarcass

    I think you're asking more than this discussion group can provide. To get from zero to a competent programmer using any language or framework requires more than just a book, it also needs a huge amount of intensive effort over several (many!) years. How long did it take you to become a graphic designer? How would you advise someone who wants to become a graphic designer? I'm sure you'd suggest that they need to learn the basics before they can tackle more complicated work.

    I teach programming at a UK university and our students take three years of programming courses, plus a year of industrial placement, plus a significant individual final year project. Once they graduate, they're competent programmers (most of them!) but they certainly don't know everything and will learn much more when they start working professionally.

    This isn't an attempt to put you off learning to program, but just to make clear what you're undertaking. My suggestion is to go to your local college and find a beginners' course in any programming language. If you find you enjoy it, and can cope with it, then you can take it further. Once you know how to program in one language, then adding further languages to your repertoire becomes that much easier, with each new one requiring less effort than the one before it.

    Best wishes

  • gcarcass Level 1 (0 points)
    Now I'm getting good advices, thanks guys!!
  • Dan Park Level 1 (0 points)

    I just read through your post. I think what you are interested in doing is learning to how to do the development of an application.

    There is quite a simple way to do this, if you are interested in creating a simple and small application which has very limited functions.

    If you are not too ambitious about creating a complicated and/or complex application, I can provide you with several guidelines and steps to get you going so that you would feel you have accomplished something on each step a way by making something amusing.

    In this way, you would not be too overwhelmed with too much technical info, in the beginning. As you progress, you would be bombarded with many questions, but you would also gain some confidence in what works and doesn't. From then on, you can take your journey forward, if you still have the continual interest in the app development.

    But, for now, let me get your feet wet, first, so you don't get overwhelmed...

    If I still have your interest, let's take a step.

    So, let's pick a language to develop an app. This is like picking a foreign language to write your story or prose.

    I recommend Spanish (Java) or English (C) or French (Basic). If I were you to choose, I would choose Java, since I prefer it over many others.

    Also, I am under an assumption that you are using a mac. I am on Windows. But, that shouldn't be a problem. You would need to download a GUI building tool called NetBeans.

    Here is the link:

    Once you have installed it. Send me a ping!

    Then, I will tell you few simple additional steps to the next short goal of your amazement.

    Dell Inspiron 9300   Windows XP Pro  
  • gcarcass Level 1 (0 points)
    Thanks a lot for your offering, actually I'm seriously thinking about it.I already downloaded Netbeans and also have eclipse.

    I don't want to be direspectful with your offer, but I like to understand what I'm doing and why I'm doing it. So if you think that Java is the best solution I would like to know why Java is the best option.

    Once again,thanks a lot, I'm impressed about your offering.
  • Dan Park Level 1 (0 points)
    I don't know where I should start on the computer languages, but let me say them as

    they come into my mind.

    What I say is not all complete. But, hopefully it would give you a glimpse of the

    landscape you want to know. The landscape is about the application development and

    the development profession.

    I do also encourage you to ask any drill-down, specific questions, if you have.

    The questions can be a question of any breadth and depth of any subject in the

    matter. And, again, hopefully I would be able to answer them. If not, someone

    else may help us here too.

    Basically, there are many computer languages you can use to create an application.

    Choosing a language really depends on your needs, your customer's needs and/or

    other factors. It may be somewhat pursuaded by your preference too.

    Why Java over others?

    I can give you many different answers to this question by the different aspects of

    the language. But, for the questions in your hand, I think you are asking for why

    would you use this language to develop your first, small application.

    Basically, it is easy for me to use it as a language to quickly create an

    application, while I provide the development guidance. I have thought of using

    perl, php, c, c#, c++, visual basic, and other langauges to show the way. But,

    they may be too tied to one application platform. A platform, in this case, can be

    Windows, Macintosh, Linux or Java. And, I don't want to give you the tutorial in a

    scripting langauge, since it is not really a language of choice for developing a

    full blown application by applying software engineering principles.

    It sounds a bit technical, but, if you ever decide to pursue the professional

    career and want to take few computer science classes, knowing Java would come in

    very handy, since it is a language of choice for the curriculum, besides the c++

    language. On a side note, in the curriculum, they also teach you about the

    different language issues, so you would know the differences in technologies, the

    concepts and the methodologies.

    (A methodology is a way of doing some type of engineering... It's not a big

    mysterious idea, but it's basically a way of creating an application. You can look

    at it, as if, a way of writing a prose or a poem.)

    By the way, using Java to develop a full-blown appication has its holes. This is

    so, since you can use a scripting langauge to develolp a full blown application

    quickly and painlessly, too.

    Look at it this way, for now... Once you develop a small application but generic

    in some sense in Java, you can package it and have it run on Macintosh. And, show

    it off to your buddies. After so, you can also run it on Windows, hopefully

    without a single line of code change. And, show it off, again.

    If you have a curious preference over a language, let me know. I can guide you in

    the direction, too, but, for me, since time is essence. You should start it, now.

    And, start moving on the next step.

    The next step is figuring out how to do compile a simple code block and run it. This will get you to be familiar with the development tool with the basics.

    Then, I will send another block of code for you to try. Of course, you should give

    me some questions for these, while I will ask you some questions to think over.

    I took a 3-min video of the steps of writing a small code block by using the development tool, Netbeans. I uploaded it on the google video, but the view resolution was aweful, so I re-uploaded to the following free ftp server. Access it by using the user account info: "adc" with "adc00" pw.

    So, ftp to by using a ftp client. You should see "first" Download it and unzip it to view the video file.

    Here are the questions:

    1) How do you change the application dimension and location?
    2) How did I fix the first compilation error?

    That's it, for now.

    Dell Inspiron 9300   Windows XP Pro  
  • Dan Park Level 1 (0 points)
    correction: is the user id.
  • Keith Barkley Level 5 (5,920 points)
    Also, just what kind of applications are you trying to write?

    If it is graphics type application, then there is another steep learning curve to do intensive graphics computations.

    Cocoa (through CoreGraphics) can help here, but I really suggest that you look into writing plug-ins for photoshop or Illustrator (whichever makes more sense). A Plug-in will allow you to leverage the main app for all the mundane stuff so you can focus on what you want to do.
  • Craig Roberts1 Level 2 (405 points)
    I have a varied range of programming experience, dating from the old school - Pascal, C, Fortran - to the more recent web-based PHP, DHTML.

    I'm familiar with OO dev, but not done anything extensive. Now, I am teetering on edge of delving into Cocoa or AppleScript Studio.

    First, I want to purpose .ai and .psd to thumbnails and PDFs. Perhaps plug-ins are a good start, but cannot find any docs on this only on scripting.

    Any help please?
  • Craig Roberts1 Level 2 (405 points)
    Oh, I forgot to mention I was looking to add file checking in/out and versioning to the application, like a CVS function for software dev.

  • Dan Park Level 1 (0 points)
    I am afraid that our curious fellow is no longer interested in the application development, or he is awefully busy with deliveries of the graphics design projects.

    In any case, I am interested in providing a continual guideline to someone who wants to start developing applications in Java on Mac or Windows platform. Hopefully, from the start to the end...

    Why? Well, when I started it all, there was a passing college student who wrote me a small tank game in assembly code. But no guidance or mentoring... I had wished I had, so here I am trying to be a mentor. So, I will try to walk you through the path of a maze.

    So, if there is a curious soul, ask away your questions. I may not able to answer them, but take a chance.

    Meanwhile, I am patiently waiting here for the guy who wants to enjoy the fun of application hacking.
Previous 1 2 Next