PDA

View Full Version : Which Language?




DanTekGeek
Nov 25, 2004, 11:34 PM
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?



bousozoku
Nov 25, 2004, 11:45 PM
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.

dotnina
Nov 26, 2004, 12:24 AM
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.

mj_1903
Nov 26, 2004, 02:41 AM
If you want to create a shareware house for Mac OS X, it must be Cocoa. ;)

AmigoMac
Nov 26, 2004, 03:17 AM
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

netytan
Nov 26, 2004, 07:17 AM
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

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.

DanTekGeek
Nov 26, 2004, 01:55 PM
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.

tamara6
Nov 27, 2004, 05:05 PM
Maybe you should look at RealBASIC?

DanTekGeek
Nov 27, 2004, 05:10 PM
i dont really want to learn a BASIC language. I want to learn something a bit more rugged and usefull.

mkrishnan
Nov 27, 2004, 05:54 PM
Try this demo to see what Cocoa is like, using XCode, which you should already have....

http://developer.apple.com/documentation/Cocoa/Conceptual/ObjCTutorial/chapter01/chapter_1_section_1.html#//apple_ref/doc/uid/20001101

applekid
Nov 29, 2004, 06:29 PM
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.

bousozoku
Nov 29, 2004, 08:17 PM
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.

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?

robbieduncan
Nov 30, 2004, 05:51 AM
The "Java Is Slow" arguement is out of date. Modern Java is not slow at all. See here (http://www.idiom.com/~zilla/Computer/javaCbenchmark.html) for on of the many available arguements against this.

DanTekGeek
Nov 30, 2004, 08:46 AM
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?

bousozoku
Nov 30, 2004, 10:22 AM
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?

You might just look at some of the other threads, such as this one: http://forums.macrumors.com/showthread.php?t=91348

VincentVega
Nov 30, 2004, 10:26 AM
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.

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 (http://mac.oreilly.com/), IMHO. They have a decent-enough range of Mac books, including some introductory stuff to programming with Cocoa, Carbon and the like.

Catfish_Man
Nov 30, 2004, 07:00 PM
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?

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)

DanTekGeek
Nov 30, 2004, 07:13 PM
thanks for all your help guys. ill definatly check out those recources. and i might even take a look at python.

applekid
Nov 30, 2004, 08:00 PM
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.

bousozoku
Nov 30, 2004, 09:42 PM
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.

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.

robbieduncan
Dec 1, 2004, 04:35 AM
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.

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.