| I am 36 year old with a very well paid and well progressing business career and I am bored to death. The idea of going to the office 9-7 for the next 30 years kills me. And I really believe I have a great corporate job so I now that the issue is having a corporate job. So I am learning to program, a bit for fun a bit to see if I can start something of my own. The original plan was to learn web programming since I imagined web applications were both fun to develop and the best shot at a start-up. I took up Python and developed a simple file sharing application on Google App Engine (you can see it at myfilesinthesky.com but you don't lose anything if you don't). Well, thinking about the interface and implementing the programming logic was actually fun. And it took 10% of the time. The other 90% was spent fighting with browsers' quirkiness and with Google App Engine (if I skipped GAE I would have fought with sys admin so not better I suppose). And that was teeth-cringing. So I am not really sure web programming is that fun after all and the next step would be now to learn javascript to start doing browser-side wizardry which from what I'm reading around looks like as teeth cringing as it gets (ok, cobol programming is worse, I am sure). And then I read Paul Graham's essays on tablets - paulgraham.com/tablets.html - and I am thinking now that ipad programming can be still promising business wise but much more fun since you have full control of the device and building native apps. No more need to get crazy with browser UI and sys admin stuff! Before I spend the w.e. of the next six months learning C, obj-C and Cocoa, let me ask you, what would you advise to an aspiring programmer, learn web programming or dive into tablet programming? |
Find something that you would like to have but that is not currently available and then build that, that in turn will decide for the platform and associated toolchain.
It is much better that way because you can't really make the case for what is 'better' for an aspiring programmer, web programming, tablet programming or any other 'kind' of programming per se. It all depends on what you want to achieve and programming is just a means to an end.
Also, under the hood all 'kinds' of programming are essentially equal (in spite of many religious arguments to the contrary), it's in the end just a way to very specifically tell a computer what you want it to do and in that respect any programming will serve as a way to get better at every other kind of programming.
The more you do it, the better you get, just like with every other skill.
Good luck!