Live data from Hacker News

Ask HN: learning web programming vs. tablet programming

news.ycombinator.com

11–20 of 26 posts

Re: Ask HN: learning web programming vs. tablet programming

#11
Learning a bit of system administration and renting a vps is probably better long term.

I'd say tablet to the original question, but Android. In time it will spawn a much bigger ecosystem then Apple can or wants. Java is much cleaner then it's painted, and in time all the jvm languages will be useful on Android.

Re: Ask HN: learning web programming vs. tablet programming

#12
Web programming, specifically taking advantage of all of the APIs HTML5 provides.

All existing tablet devices are very friendly to HTML5 having all being built off of webkit (Android and iOS). So you can kill two birds with one stone and not have to worry about IE compatibility.

Re: Ask HN: learning web programming vs. tablet programming

#13
You should start by purchasing a mouth guard, since if Javascript makes your teeth "cringe" then you're going to need it for every other kind of programming you attempt.

What I really mean by that is you're going to need a great deal of patience and perseverance to get good at any kind of programming, and even when you do get good at it, you're still going to end up battling things that have nothing to do with the programming language you choose (like browser compatibility issues, bugs that are other people's fault, bugs that are your fault that take you 7 hours to track down, etc.)

It's easy to enjoy things you are very good at, but to get there, you're also going to have to enjoy not being very good at all.

To answer your original question, if you are seeking to participate in an exciting new field, work on the tablet programming. If you want something where you can accomplish cool things with relatively few headaches, stick with Python but drop GAE and go with "normal" hosting.

Re: Ask HN: learning web programming vs. tablet programming

#14
This is a difficult choice to make because we're at an interesting crossroads in application programming. My gut feeling is that web programming will win in the long-term - there's so much competition between browsers now that the pace of innovation is faster than ever. There's still a long way to go though.

Web programming is great once you surrender to the fact that frameworks are the way to go. At first, yes, it's essentially magic. But once you get experienced and you delve deeper into the framework you can assimilate the (hopefully) insightful design choices made by the developers. If you choose web programming, I would highly recommend the Sencha frameworks: Ext JS 4.0 is out soon and Sencha Touch is looking very promising.

On the other hand: the iOS stack is mature, well thought-out and will teach you good programming practices. It's also where the money is right now - an iPhone/iPad shop I know here in the UK is literally struggling to recruit. I see it as a bubble akin to early web development; a lot of companies jumping on the bandwagon just to have their own 'app'. You've also got to choose whether to learn Android or iOS, which is a whole other discussion!

I'm honestly not sure what to suggest. Personally I'm an experienced web developer learning iOS development and it's been fun so far.

Re: Ask HN: learning web programming vs. tablet programming

#15
It depends of what you want to do.

IMHO it is really stupid trying to do what makes old standard programming shine(c, c++,python{this could be used to program web too}) with web programming, as it it not good idea to use old languages to manage documents and information(in which web programming shine).

You will find people that only have experience with one of those camps that will tell you that you only have to know one of them(when you only have a hammer see every problem as a nail.)

So I recommend you: first understand where you want to go, then learn the best tools for getting there, not the other way around.

Re: Ask HN: learning web programming vs. tablet programming

#16
A big part of the fun of programming IMHO is seeing the results of what you are writing. I try to center my workflow around that – always having my app buildable, working in small increments, changing what feature I work on as soon as it starts to bore me. Being rather new to programming, a lot of common issues can be real problems for me (e.g. xcode build settings). Be sure to standardize your debugging process. What helps me most is starting to write a question on stackoverflow and thinking what people would need ask me (did I check X? What Y returns?).

Regarding your main question, web seems more fun to me (I've done both a bit). You can iterate faster and push updates more often. Surely I hate having to mess with the server, but generally I set it up and need not touch it for another couple months.

Re: Ask HN: learning web programming vs. tablet programming

#17
post #9

Go for the tablet using ONLY native Objective C. Don't use PhoneGap. It will be a good learning experience, you will be able to instantly test the code, and there are no two ways about it. Few hacks or tricky stuff. It's a pretty straightforward platform. Also, you can easily earn money with this, and the money is purely passive. No server administration, etc. You can finish it, put it in the store and run off for th…

Also, you learn about memory management and device constraints.

Didn't know that a tablet platform will have device constrain with so much processing power at hand. Will someone enlighten me about the amount of low level stuff (memory management and thinking about rams and disk space and the likes) goes into writing software for iPad or even an android and iPhone.

Re: Ask HN: learning web programming vs. tablet programming

#18
"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"

Yes, you characterize web development correctly. "The web" is a great idea, but web programming the way is currently is, is an enormous pain in the neck (and I'm putting it mildly). I don't foresee this becoming any better in the near future, because instead of reinventing the browser and the outdated models that come with it, we keep tacking things on to it.

So if your goal is to be "not bored", my advice is to look elsewhere. Well, you may not be bored doing web programming, but you will definitely tear out your hair in frustration, as you already found out. It won't really get any better as you learn more; just more complicated.

(That said, I do have great respect for people who do this for a living. I'm not sure if I would be able to do it for any extended period of time.)

Tablets are a different story, development-wise. It isn't necessarily easier, but it's different, and it's more like "real" programming, rather than figuring out what breaks in which browser and how to fix it, or wasting hours tweaking your CSS. There are drawbacks, however. For starters, your audience is limited. If you want to develop for iOS, you'll have to pay the Apple tax, and go through their approval system if you want your app to show up in the app store. Android imposes fewer restrictions, but it's more in flux, and good tablets that run it are pretty hard to find. All these are things to take into consideration.

Personally I am heading into the direction of tablet programming, although the field isn't very mature yet.

Re: Ask HN: learning web programming vs. tablet programming

#20
post #9

Go for the tablet using ONLY native Objective C. Don't use PhoneGap. It will be a good learning experience, you will be able to instantly test the code, and there are no two ways about it. Few hacks or tricky stuff. It's a pretty straightforward platform. Also, you can easily earn money with this, and the money is purely passive. No server administration, etc. You can finish it, put it in the store and run off for th…

I know some pretty capable devs who find Obj C challenging, certainly in comparison with JavaScript. There's a reason good iPhone/iPad devs command a high hourly rate.

Also, your hard earned Obj C knowledge will be pretty much useless outside Apple platforms.

There are definitely a lot of apps where you have no choice but Obj C, but reading OPs experience I think he'd enjoy focusing on designing the app rather than dealing with implementation details.

Post reply on HN