Valdosta Daily Times


March 23, 2014

Teach yourself programming for fun and profit

VALDOSTA — Unless you've been living under a rock with no Wi-Fi lately, you've probably heard of Flappy Bird, the mobile game where you try to guide a bird as heavy as a broken heart through a series of pipe obstacles. You might have played it yourself or watched a loved one—a spouse, a child—descend into its depths, only to emerge in a daze hours later, confused about where the day has gone.

Flappy Bird's creator, Vietnamese developer Nguyen Ha Dong, ended up taking Flappy Bird down from mobile stores, citing a desire to avoid publicity and regrets over stories of players losing jobs and failing classes due to their Flappy Bird Habit (he has since indicated that the game will return at some point in the future, albeit changed in some way).

When Dong took Flappy Bird off the Android and iOS markets, Flappy Bird was bringing in an estimated $50,000 per day in ad revenue. Not too shabby for a game he says it took him a few days to program.

Dong has been programming for years to get to the point where he can crank out a mobile game—albeit a simple one—in a few days, but he started out where every other programmer starts, learning the basics of a programming language.

With mobile apps becoming a larger and larger market place, it's tempting to throw your own hat in the ring. And even if you don't hit the Flappy Bird lottery, programming, in an increasingly digital world, is a good skill to have.

But before you can start programming, you have to learn a programming language.

“It's a very strange mix of learning a foreign language if that foreign language was also math,” said Michael Holt, assistant professor and reference librarian with Valdosta State University. “That sounds a lot harder than it is. There are rules, there's grammar, there's conventions in every programming language that are exactly like learning a foreign language.”

And just like foreign languages, there are a lot to choose from: Java, C, C++, HTML, Python, Ruby. The list goes on.

If your ultimate goal is mobile programming, the list is a little easier. For the most part, Android apps use Java; for iOS, C, C++ and Objective-C are popular.

As for the actual learning, Holt advises would-be programmers to take advantage of online teaching tools, like the popular coding website CodeAcademy, which offers beginner classes and activities in a variety of programming languages.

“It'll take you from knowing nothing about programming and take you up to where you have a pretty good grasp of the basic vocabulary of a bunch of different programming languages.”

Once you feel comfortable with the language, the next step is to get a software development kit, or SDK, which gives you the tools to develop for a specific platform or framework.

For Android, it's as simple as downloading it. iOS has a couple of hoops to jump through, but nothing too bad.

Some SDK's make parts of the programming more streamlined, like Android's SDK that points out which lines of code are causing problems. Fixing the

problems, though, are still up to you.

“The good news is that there's a lot of freely available information online to help you get started to write your first app; to write some sample apps.”

Holt points app programmers to Kahn Academy, a website geared towards teaching in general that also covers programming.

He also advises finding a group of people to talk with about programming, rather offline or online, and having a device on hand that runs the platform you're programming for.

Though it can vary depending on the size of your app, usually transferring it over to your device just takes a few minutes.

If it sounds simple, it's not. But like everything else, the more you do it, the better you'll get.

Holt estimates that you'd need at least six months to a year of working on learning programming a few hours a day, a few days a week.

“My basic advice is don't be afraid to fail. You're going to. It's a good thing to jump in and try, see what you can do. Get your hands dirty and learn the programming language first before you jump into the actual app development.”

Text Only
Top News

Do you agree with the millage rate increases?

Yes. We need to maintain services
No. Services should have been cut.
     View Results