iPhone Is Too Difficult For Beginners

9 Dec

I’ve been trying to learn to program iPhone right after finishing the Stanford CS106A class, but all I learned is that iPhone is too advanced for my level of programming. Not only is iPhone completely different from Java in terms of syntax, it also involves knowing a lot about memory management – even in the new iOS 5.

Instead, I’ve decided to learn Ruby and then Ruby on Rails. I’ve started Ruby, and it seems a lot more reasonable for a new programmer like me 🙂

Advertisements

16 Responses to “iPhone Is Too Difficult For Beginners”

  1. scott walker December 12, 2011 at 6:53 pm #

    android uses java… might be an option.

    • Natasha Murashev December 12, 2011 at 7:00 pm #

      I’ve actually decided to learn Ruby instead.

      I tried Android, but it wasn’t that much fun developing in it, considering the simulator takes like 5 minutes to load each time! Maybe I’ll go back and try Android once they’ve had a bit more time to work out the bugs and difficulties in the development environment.

  2. Holly December 23, 2011 at 2:28 pm #

    Hi Natasha,

    I assume this is the Stanford program you tried to do for iPhone/iPad app development: http://itunes.apple.com/itunes-u/ipad-iphone-application-development/id473757255

    There are actually two Stanford prerequisite courses (for that course), Programming Methodology (which you have done) and Programming Abstractions. Have you looked into the second one? This is the plan of action I am taking. Your blog has been a huge help to me as I work my way through Programming Methodology, so thank you!

    Holly

    • Natasha Murashev December 23, 2011 at 7:05 pm #

      Hi Holly,

      Yes, taking Programming Abstractions is the way to go. I’m really impatient, and really want to start building stuff right away 🙂

      It so happened that my friends were working on a project with Ruby, so I’m just learning Ruby instead, and I find Programming Methodology to be sufficient, although knowing Programming Abstraction would definitely be useful.

      I really wish Stanford opened up their web development class though – I’d definitely take that!

      Glad I’m able to help 🙂
      Natasha

      • Holly December 23, 2011 at 7:28 pm #

        Ok, I understand. Curious, what would you do with the web develop course? (Where would you take that knowledge I mean.)

        Hopefully I can find someone else’s blog for Programming Abstraction! 😉

      • Natasha Murashev December 23, 2011 at 11:24 pm #

        Currently I’m working on a startup with some friends, called StartupStats, which is like Klout for startups. It gets data from Twitter, Facebook, Linkedin, etc and calculates a startups “buzz” score. We then have a leaderboard displaying the hottest startups.

        One day, I want to have my own startup – I’m not sure what it would be, but I like having the ability to just build one on my own if I want 🙂 It doesn’t even have to be a startup, though. For starters, I’d like to be able to change the layout / design of my blog without having to ask a friend. I just want to be able to do this type of stuff myself!

      • Holly December 24, 2011 at 6:05 am #

        Cool! Good luck!

  3. KarelTheRobot December 26, 2011 at 7:42 pm #

    Hey natasha,

    If you are interested in web development classes, you can check out Harvards’ open courseware. Check out the link below.

    http://cs75.tv/2010/fall/

  4. Olivier February 22, 2012 at 3:07 pm #

    Hi Natasha,

    nice reading your blog and your way through the different courses.
    i just started CS106A and doing the Karel Assignments…not easy!

    How long did it take you to finish the CS106A and how many hours a week did you do it?

    Thanks for sharing your progress!

    Regards,
    Olivier

  5. Olivier February 27, 2012 at 4:23 pm #

    great….thanks for the breakdown !

    I`m trying to do it fulltime as well…..
    I dont have any previous programming experience so especially the assignments are quite hard for me!
    On lecture 7 at the moment!
    Good luck with Ruby ….

  6. Felix March 28, 2012 at 3:52 am #

    Hello Natasha,

    I have found your blog while googling for members of the CS193P iOS course.

    You don’t have a programmer’s brain if you think the Stanford course is too complicated for beginners. Programming is a talent as much as it is an acquirable skill. If you can’t wrap your head around Objective-C/Cocoa, then you will never be able to program Ruby in a way that will make people hire you.

    You may be able to learn how to code some websites or something simple like that which only needs scripted code that isn’t compiled, but I think you are deluded. You should look into becoming a designer or do something that is easier and doesn’t make your head hurt.

    Also, websites are not important anymore. Apps are where the game is at now, and if you can’t program them, then you will always be 6th rate!

    Life is short, don’t bite off more than you can chew!

    • Natasha Murashev March 28, 2012 at 9:03 am #

      Thanks for your encouragement Felix!! People like you is exactly why more people don’t learn to program – there are too many programmers like you to deal with. There is no such thing as a “programmer’s brain”. I’m glad you flatter yourself by thinking you’re smarter than everyone and then go around posting comments about it. Wow, what a jerk!

      Anyone can learn to program – it is not as difficult as you make it out. Different people learn differently, and that’s completely fine.

      And Website ARE important. In case you haven’t noticed, people spend at least 8 hours a day in front of the computer. I feel sorry for any people you find who want to be part of your study group.

  7. beanbobs April 13, 2012 at 12:36 am #

    Hi Natasha,

    I’m currently working my way through CS106A and loving it! I was really surprised to read that only around 5% of people complete these kinds of courses…This blog has really helped me and given me encouragement that there are other people out there in the same boat – so thanks! 🙂

    Anyhoo, I’ve been having a think about what to do after CS106A, and I am considering moving towards iPhone/iPad development, and so doing CS106B followed by CS193P..

    However, I’m also considering web development instead, and so I’m interested in knowing what your plan is. I know you’ve started learning Ruby – do you already have experience of HTML/CSS etc? Because I currently have no experience in that field whatsoever, not even basic HTML.

    I’d be interested to hear your thoughts!

    Thanks 🙂

    • Natasha Murashev April 13, 2012 at 9:06 am #

      Glad you love CS106A! If you want to do iPhone, I definitely recommend CS106B first (I didn’t do it).

      For Web Development, you shouldn’t worry too much about knowing HTML and CSS. It’s really not that hard. If you’d like to get a handle on it, I recommend teamtreehouse.com – they do really good videos that walk you through these (you have to pay a small fee, but it’s really good stuff).

      If you’re interested in Ruby, I did the course on http://www.rubylearning.org/class/ – it was really good. However, I’ve had a hard time finding a good online Ruby on Rails course. That is why I’m joining DevBootcamp (devbootcamp.com) – it’s really expensive, but they do job placement, so I think it’ll be worth it. So if you don’t care as much which language you do web development in, I would recommend trying out Python at Udacity.com – it’s taught by a former Stanford professor and has forums and support. And if you do really really well, you’ll possibly have job offers.

      Looking forward to hearing what you decide! Let me know if you have further questions.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s