Sunday, May 25, 2008

Idea for next ELP

Since next year is my last year as a MOUSE student member, I would like to end with a bit of a bang. For my next ELP (experimental learning project) I would like to make a program with cocoa. The program will simply be an internet browser geared for MOUSE students with a built in chat system, among other things. At his point, I'm just trying to see if this would actually be a realistic goal, but it would be a good reason to finally learn the programming language. Also, it would give me something a bit more original to present, not to mention expose me more to the world of programming. More details are to come regarding whether or not I'm able to go about completing this.


  1. Sounds pretty ambitious to write a web browser and chat system in any language, let alone one you're just learning. If you have enough time, it does sound fun, though. Not having a Mac, I've never used cocoa, but it looks like it has good tools.

    I recommend you try writing at least a simple cocoa application before you commit to doing something big. And keep in mind that complexity can grow exponentially with the size of a programming project without a good modular design.

  2. Thanks for the advice. I was planning to set up little benchmarks over the summer in which I set down and program something to test myself. Also, the place where I will be working over the summer is computer shop heavily geared towards macs, so I should have the perfect environment to learn in.

    You sound like you've had some experience with programming before. So if you have, can I ask which language you've used and what were some of your experiences?

  3. Hi, Ryan. I'm a professional software engineer, so I've done a fair amount of coding. Mostly I do server-side Java programming, but I like using Ruby for small tasks, and lately I've been working a lot with databases. A long time ago I worked with C and C++, too (even on Mac, but that was before OS X).

    I can see why you're interested in trying Cocoa - from the Apple keynote you linked to it looks like a really great tool. The downside is that it's limited to Macs and it generates a lot of code (in Objective-C, which is apparently mostly limited to Mac) which can be tricky to understand.

    If you haven't done much coding, I might recommend Ruby as a good language for beginners (though advanced programmers can do some pretty amazing stuff with it). It looks like Cocoa works with Ruby, too. Java is a good beginning language, too, and has good tools and is cross-platform, but it requires more patience than Ruby. Python is supposedly good, too (and it's used for developing XO apps and Google's new App Engine platform - if I had the time and energy, I'd learn it).

  4. oh, cool. :)

    A few summers ago I played with C++ and Java. I also did a little visual basic on the side. I was trying to see what I liked better and whatnot, but I never continued it.

    I think another reason why I want to do this project is because I want to see what are my limits with computers. Plus, I've always had this urge to create something wonderful and I feel that the mac is the platform I want to create on.

    Anyways, please feel free to check up on my progress from time to time. I plan to heavily write about my learning of Cocoa over the summer and then go into the actual development process of the program. I would like to hear your feedback as I move forward with all of this.

    P.S. - I have a friend who is going to be doing some programming for the XO this summer. I really can't wait to see what him and his team will be able to make. Hopefully I can make some guides for whatever it is on my wiki project. Also, I don't think that I'll start doing coding on the XO till I see that it will be around to stay.