Which Language?

Discussion in 'Mac Programming' started by DanTekGeek, Nov 25, 2004.

  1. macrumors 6502

    Joined:
    Nov 11, 2004
    Location:
    Denver, CO
    #1
    hi all,
    I want to learn a programming language. Preferably one that works well with OS X. I know some basic JAVA, and feel comfortable with the general ideas of OOP, but im not sure if i should continue with it, or try something else. Does anyone have any suggestions?
     
  2. Moderator emeritus

    Joined:
    Jun 25, 2002
    Location:
    Gone but not forgotten.
    #2
    You should try as many as possible but accessing GUI elements is easiest with Java and Objective-C on Mac OS X. Of course, with Java, it's good anywhere, in general.

    As a long time programmer, I feel comfortable with both of those along with C and C++ and a lot of other languages you'll never know but find Java to be the most efficient use of my time since I don't have to learn how to access GUI on each platform.

    Even AppleScript is a good way to become more comfortable with programming because you see a different view on accessing things.
     
  3. macrumors 6502a

    Joined:
    Aug 19, 2004
    #3
    What's your reason for wanting to pursue another programming language? Are you trying to build a resume, or just tinker around and write little programs?

    If you're just trying to have a little fun, I'd try Applescript. It seems pretty easy to learn, and it seems like you can do cool little things with it. Similarly, you could try to build some Unix skills by writing and executing bash scripts through the terminal.

    For resume purposes, I would recommend more Java and other OOP. If you're interested in doing websites, maybe you could try going the way of PHP.

    It really depends on what you're trying to get out of this.
     
  4. macrumors 6502a

    mj_1903

    Joined:
    Feb 3, 2003
    Location:
    Sydney, Australia
    #4
    If you want to create a shareware house for Mac OS X, it must be Cocoa. ;)
     
  5. macrumors 68020

    AmigoMac

    Joined:
    Aug 5, 2003
    Location:
    l'Allemagne
    #5
    When I saw the title and read your post, it came to my mind when a friend told me to help him because he needed to write a program by the end of the semester, I asked him, which language are you going to use? ... German, of course! :p
     
  6. macrumors 6502

    netytan

    Joined:
    May 23, 2004
    #6
    LOL. nice one Amigo ;).

    Anyway, no-one has suggested this one yet but I would say give Python a try simple because its a very capable language: elegant and easy to learn and powerful! It also has an Objective-C bridge which means it can be used to write Cocoa applications like Java :D.

    Also worth mentioning: it is platform neutral (and should work on any platform with a C compiler).

    Mark.
     
  7. thread starter macrumors 6502

    Joined:
    Nov 11, 2004
    Location:
    Denver, CO
    #7
    i want this more for tinkering and creating small programs than for a resume. i was thinking about cocoa, but dont i need more programming knowladge to try that? im definatly planning on learning apple script, but it dosent seem that usefull outside of using the features of the os and programs. i also want something more challenging than applescript.
     
  8. macrumors regular

    Joined:
    Apr 28, 2004
    #8
    Maybe you should look at RealBASIC?
     
  9. thread starter macrumors 6502

    Joined:
    Nov 11, 2004
    Location:
    Denver, CO
    #9
    i dont really want to learn a BASIC language. I want to learn something a bit more rugged and usefull.
     
  10. Moderator emeritus

    mkrishnan

    Joined:
    Jan 9, 2004
    Location:
    Grand Rapids, MI, USA
    #10
  11. macrumors 68020

    Joined:
    Jul 3, 2003
    #11
    Wanna be more Mac oriented?
    Cocoa with Java or Obj-C is a good start.
    Wanna stick to Java?
    Stick with it!
    The other OOP language of choice for me would be C++ because it's more mainstream.

    The only reason I don't want to pursue Java further is because it's for contractor-type programmers, little games for phones and the internet, and/or usually used for only a component of a program. And of course, since Java is in its infancy, it's slow. If I'm wrong, please inform me. But that's the impression I'm getting.
     
  12. Moderator emeritus

    Joined:
    Jun 25, 2002
    Location:
    Gone but not forgotten.
    #12
    That's not entirely accurate. Java is used for any number of things and there are likely to be more C++ contractors than Java contractors.

    As an environment, Java does require more resources and can be slower on system with less RAM available but can also be faster because it shares more code and that the code is optimised in the virtual machine.

    Furthermore, C++ is more error prone because people still tend to use structures which do not support a definite beginning and ending. You've probably heard of buffer overrruns and it's difficult for Java to have them since resources are monitored and managed by the virtual machine. Of course, that sort of thing slows down the code. Would you rather have fast, error-prone code or slower, proper code?
     
  13. Moderator emeritus

    robbieduncan

    Joined:
    Jul 24, 2002
    Location:
    London
    #13
    The "Java Is Slow" arguement is out of date. Modern Java is not slow at all. See here for on of the many available arguements against this.
     
  14. thread starter macrumors 6502

    Joined:
    Nov 11, 2004
    Location:
    Denver, CO
    #14
    i think ill learn cocoa. it seems to fit well with my skills and can do what i need it to do. its also handy that its so integrated with os x. does anyone have some good recources or books for learning cocoa?
     
  15. Moderator emeritus

    Joined:
    Jun 25, 2002
    Location:
    Gone but not forgotten.
    #15
    You might just look at some of the other threads, such as this one: http://forums.macrumors.com/showthread.php?t=91348
     
  16. macrumors regular

    Joined:
    Jan 26, 2004
    Location:
    UK
    #16
    Agreed about Python. It's great and very easy to use to knock up quick scripts in not much time.

    As for books, you can't get better than O'Reilly, IMHO. They have a decent-enough range of Mac books, including some introductory stuff to programming with Cocoa, Carbon and the like.
     
  17. macrumors 68030

    Catfish_Man

    Joined:
    Sep 13, 2001
    Location:
    Portland, OR
    #17
    cocoadev.com

    cocoadevcentral.com

    developer.apple.com

    books by Aaron Hillegass (generally considered the best) or O'Reilly

    #macdev on irc.freenode.net (not always a good place for newbie questions)
     
  18. thread starter macrumors 6502

    Joined:
    Nov 11, 2004
    Location:
    Denver, CO
    #18
    thanks for all your help guys. ill definatly check out those recources. and i might even take a look at python.
     
  19. macrumors 68020

    Joined:
    Jul 3, 2003
    #19
    Quite glad to be proven wrong. Thank you, bousozoku and robbieduncan. :)

    However, I do have a question. Do I really have a future with Java? Can I actually expect to be picked up by a large company that will hire me, and not make me a contractor? It seems to be contracting is popular, but still...

    Also, I'm looking into of a more game development/software engineering career. Java the way to go, or would C++ be a better choice? It looks like a majority of games are still developed with C++, so I'm thinking about switching over or learning both.
     
  20. Moderator emeritus

    Joined:
    Jun 25, 2002
    Location:
    Gone but not forgotten.
    #20
    Learning and maintaining knowledge of multiple languages is always best. You might even find that Objective-C or Smalltalk is desired, though they're not sought so often.

    As far as contractors go, the U.S. market has shifted greatly toward the disposal developer, due to the cost of benefits and human resources.
     
  21. Moderator emeritus

    robbieduncan

    Joined:
    Jul 24, 2002
    Location:
    London
    #21
    I work for a very large American financial institution in London as a developer. Our old code is C++. Our new code is Java. Well that's an oversimplification as some of our new code is Perl and shell script, but a lot of it's Java. Going forward we will continue to support and sometimes modify the C++ as well as the Java so both are usefull.

    If you want to be a games programmer then C++ is the way to go. I looked into being a games programmer (I went as far as interviewing with CodeMasters) but decided it wasn't for me.
     

Share This Page