Cocoa Programming with NO Experience

2»

Comments

  • Reply 21 of 37
    costiquecostique Posts: 1,084member
    The books mentioned above are all good for a beginner. There is also excellent <a href="http://developer.apple.com/techpubs/macosx/Cocoa/CocoaTopics.html"; target="_blank">Apple's documentation</a>. Read it carefully several times, look for sample code and in a month you will be writing software. Check <a href="http://www.cocoadevcentral.com"; target="_blank">CocoaDevCentral</a> regularly.

    I recommend starting with C, though, because (almost) all the tricks in C are possible in ObjC. The problem with C++ is that it is a bit inconsistent and very complicated in that it offers a developer an amount of freedom he doesn't know what to do with. C++ fits very well in Cocoa so don't be afraid to learn: one day you'll need things you are not aware of now.
  • Reply 22 of 37
    a couple of people above mentioned some things that i'd like to comment on. first, php and python were noted as real languages. i've always felt that for it to be a real language it needs to be compiled. scripts aren't really programming. thats just a personal definition tho.



    also, for all the shit c++ takes people would think its the antichrist or something. it has a lot of drawbacks and all, but it still has its place (popularity, omnipotence). its a requirement for the title of 'programmer'. but of course, what people were getting at is its bad to learn on. i suggest you learn c first. i've always found c to be the most fun language (yes, programming==fun), and its the foundation for a bunch of others (c++, objective-c, ..more..). some borrow at least syntax from it. if u know c well enough, adding ++ and/or objective onto it can be like adding a module to ur brain. java is close enough to c++ syntax that u can grab it pretty quickly after ++.



    (and now for a little rant) i noticed when i took the mandatory c++ classes here in college that they didn't really differentiate the ++ from the raw c. it bothers me when some1 asks for help with a c++ problem, and theres no classes or anything ++ about it; goddammit it's 'c'. i also don't like how teachers insist on me using standard library classes to do shit, when i can write faster better stronger ones.
  • Reply 23 of 37
    bungebunge Posts: 7,329member
    [quote]Originally posted by thuh Freak:

    <strong>i've always found c to be the most fun language (yes, programming==fun), and its the foundation for a bunch of others (c++, objective-c, ..more..). some borrow at least syntax from it. if u know c well enough, adding ++ and/or objective onto it can be like adding a module to ur brain. </strong><hr></blockquote>



    Now when I was in school we learned Turbo Pascal, and C was just starting. TP was virtually identical to C, just a slightly different syntax. Other than that, Basic, TP, C even Assembly aren't really all that different to me.



    So, how the hell do I add that ++ module to my brain!!?! Thanks to those of you that have posted some links.



    [quote]Originally posted by thuh Freak:

    <strong>i noticed when i took the mandatory c++ classes here in college that they didn't really differentiate the ++ from the raw c.</strong><hr></blockquote>



    Same problem for me. The school was just introducing C & C++ but it felt like the teachers didn't understand it very well.
  • Reply 24 of 37
    Definatly go with a ANSI C book, then read Learning Cocoa with Objective C. I started with the C book, and you don't have to understand everything perfectly, just be able to have a framework for yourself. Then the stuff you read in the Cocoa book will make for sense (after you get your OOP mindset, took me a while). So far its a hobby, but a hobby I want to make a lot of after I get out of high school.



    Anyone have good online (aka- free) beginner's java resources?
  • Reply 25 of 37
    [quote]Originally posted by Spiffster:

    <strong>

    Anyone have good online (aka- free) beginner's java resources?

    </strong>

    <hr></blockquote>



    Bruce Eckel gets a lot of good press for his Thinking in Java books. The third edition was recently released and you can download it for free here:

    <a href="http://www.mindview.net/Books/TIJ/"; target="_blank">http://www.mindview.net/Books/TIJ/</a>;

    edit: I forgot to mention that I don't often recommend this book to beginners because it approaches Java from the angle of knowing C and C++ first and often refers to these languages when introducing concepts. But it seems that this method would suit you.

    edit: also wrong link ttp://www.mindview.net/Books



    Also you can download his Thinking in Patterns with Java book, which is a work in progress, here:

    <a href="http://www.mindview.net/Books/TIPatterns/"; target="_blank">http://www.mindview.net/Books/TIPatterns/</a>;



    Don't overlook the extensive Tutorials, API references and code samples provided by Sun. Find them at:

    <a href="http://developer.java.sun.com/"; target="_blank">http://developer.java.sun.com/</a>;



    If you think your getting the hang of it check out the best book about Java, Joshua Bloch's superb Effective Java.

    <a href="http://java.sun.com/docs/books/effective/"; target="_blank">http://java.sun.com/docs/books/effective/</a>;



    [ 01-23-2003: Message edited by: stupider...likeafox ]</p>
  • Reply 26 of 37
    How hard do those of you in the "know" think it would be for me to learn Cocoa if my background is in AppleScript and VB.NET?
  • Reply 27 of 37
    airslufairsluf Posts: 1,861member
  • Reply 28 of 37
    scottscott Posts: 7,431member
    I had a great C++ class. We used the example on nomnomial objects to creat polynomials. Then we over loaded methods like "+" "-" "*". It was a great C++ OO class.
  • Reply 29 of 37
    nebagakidnebagakid Posts: 2,692member
    [quote]Originally posted by mntrapper:

    <strong>How hard do those of you in the "know" think it would be for me to learn Cocoa if my background is in AppleScript and VB.NET?</strong><hr></blockquote>



    Personally speaking, it does not look incredibly hard, however, it will be more work. AppleScript Studio is nice, but looking at Cocoa , it seems more simple, and more powerful. I have been looking at examples and have ordered a book... I think it should be looked at as learning something new in school that it is a very new thing, and there is some work that will be involved to learn it!
  • Reply 30 of 37
    [quote]I would be interested in hearing how PHP compares to other "real" programming languages.



    I have been writing PHP for a couple years now (self-taught and not full time) and have a very good grasp of the NON-OOP side of that fence. I have played around with OOP in PHP and comprehend and have applied it, but am lacking a good global view of the benefits it will get me and keep falling back to my non-oop style (I forget the proper term for this).<hr></blockquote>





    php kicks ass, one of my favorite languages. Try out the OO side of php. php is everything programming languages should be, simple, conceptually advanced, and powerful. Being able to dynamically generate functions and variables is a great feature - the only other language discussed here that can do that natively is Objective C, but of course because of Turing completeness it is possible to force any language to do anything, it is just a question of how much effort it would take.
  • Reply 31 of 37
    I used to do Web apps in PHP and while it has its place, I am now really loving Java for Web apps... J2EE is really bitchin'. Having a super sophisticated caching engine, like the one in JBoss, is such a huge performance kick... Plus I can cluster and scale as far as I need without any crazy hacking. There is some good work being done in PHP, but I will never go back.
  • Reply 32 of 37
    eat@meeat@me Posts: 321member
    You need 2 books:



    K&R ANSI C Book

    Aaron Hillgass's Cocoa Programming for OS X

    (see amazon's reviews)



    If you want to build web service apps (think watson) you can use Applescript to build Cocoa applications using IB/PB and Applescript Studio. You can call SOAP/XML RPC apps remotely.



    <a href="http://www.stepwise.com"; target="_blank">www.stepwise.com</a>

    <a href="http://www.macdevcenter.com"; target="_blank">www.macdevcenter.com</a>



    are two good sites.



    obj c is a nice language. i like the message passing system and the poew of using the cocoa frameworks. just get some foundation of ANSI C (bypass C++ if you are new) and go to Obj C.



    IB is a very fun tool.



    best of luck.....



    one last thing, some books were written prior to jaguar but pay attention to 'key archieving' for serialization. (for apps without database access this is useful) and rendezvoux (sic)
  • Reply 33 of 37
    From my experience knowing Javascript inside and out allowed me to slip into Java and C/C++ very easily. The biggest thing to get used to was typing variables (short, long, etc.), structs and pointers. I had already learned basic OO from Javascript.



    Where Javascript got it's name asside, the syntax for most structures (for loops, if/then/else and so on) are no different than a lot of languages including C++ and Java (including curly braces).



    I would say getting used to Lingo and Supertalk was harder. PHP is pretty elegant and Smalltalk is pretty amazing if you like OO. I hated Basic when I was doing ASP work. It all depends on where you start. I haven't tried Cocoa yet but would love to when I have the time.
  • Reply 34 of 37
    amorphamorph Posts: 7,112member
    [quote]Originally posted by mntrapper:

    <strong>How hard do those of you in the "know" think it would be for me to learn Cocoa if my background is in AppleScript and VB.NET?</strong><hr></blockquote>



    AppleScript Studio uses Cocoa (note to others here: Cocoa does not imply Objective-C). You can build Cocoa apps in AS Studio and replace parts with Objective-C (or Java) as desired. That might actually be a good way for you to learn.



    If you want to plunge right into Objective-C, I'd recommend getting the indispensable <a href="http://www.powells.com/cgi-bin/biblio?inkey=4-0131103628-0"; target="_blank">K&R</a> book - which is rather dense for a tutorial, but an excellent reference on C written by the people who created it. Also, the second edition of <a href="http://www.oreilly.com/catalog/learncocoa2/"; target="_blank">Learning Cocoa with Objective-C</a> has gotten good reviews (be sure to get the second edition, though), and O'Reilly also offers <a href="http://www.oreilly.com/catalog/buildcocoa/"; target="_blank">this tutorial</a> - which I haven't seen, but which at least has two highly talented writers, and a focus toward people new to programming, as well as to Cocoa. Finally, as others have mentioned, Apple's documentation is excellent.



    One caveat: Forget everything VB taught you about OO programming. Objective-C is much cooler.
  • Reply 35 of 37
    scottscott Posts: 7,431member
    As soon as my new powerbook shows up (fscking ship it already!) I'l back to playing around with this stuff. I think my first project will be to make a simple app to convert roll pitch yaw angles in to 4x4 rigid transforms and back again.
  • Reply 36 of 37
    bungebunge Posts: 7,329member
    [quote]Originally posted by Scott:

    <strong>As soon as my new powerbook shows up (fscking ship it already!) I'l back to playing around with this stuff. </strong><hr></blockquote>



    What languages do you/will you be using?
  • Reply 37 of 37
    scottscott Posts: 7,431member
    Don't know yet. I can do it in C. Shoot I could copy and paste it from code I already have. I think I'll use Java if I have to code stuff. Mostly I want to learn IB and just figure out how to get an interface that will take data and output calculations.
Sign In or Register to comment.