View Single Post
Old 11-17-2011, 11:03 PM  
TheSenator
Too lazy to set a custom title
 
TheSenator's Avatar
 
Industry Role:
Join Date: Feb 2003
Location: NJ
Posts: 13,331
Quote:
Originally Posted by raymor View Post
For Android, Java is the preferred language. There's also something called Basic for Android, but Java is the language everyone uses. By learning Java, you can also use it elsewhere. For iphone, Steve Jobs made up his own language called Objective C. It's very rarely used anywhere else. Both have cute little wizards and things you can use instead for really simple apps. Kind of life using Frontpage Express to wysiwyg a web site, as opposed to actually learning the technology. Java and Objective C are the languages for "real" apps, though.

You can certainly dive right in and that's what most people do. That's also why if someone describes an app, I pretty much know how to hack it, because they learned a language and started coding without ever learning a damn thing about the art and science of programming, or software architecture. They therefore make very predictable mistakes, creating very predictable bugs.

Learning a programming language is kind of like reading the owner's manual for a power tool. Knowing how a specific saw works does not make you a carpenter and you'll get crappy results if you never take the time to learn things like what type and thickness of wood should be used in what type of project. Similarly learning the keywords for a specific doesn't make you a programmer. Languages are the easy part. Systems design is what really counts. I would strongly encourage you to spend some time learning that stuff, stuff that is entirely independent of what language you're using. Particularly if you application sends data to a server or had access to sensitive personal information, you'll need to learn enough about security to avoid certain common and costly errors.

I know that's not the fun part for most people. The fun part is seeing something "work". The boring part is making sure that it doesn't leak memory and crash the device if it's left running overnight. Yet, 95% of what I've learned over many years of programming has nothing to do with a specific language, platform, or feature. 95% of it is algorithms, architecture, design principles, and best practices.
Well said....
__________________
ISeekGirls.com since 2005
TheSenator is offline   Share thread on Digg Share thread on Twitter Share thread on Reddit Share thread on Facebook Reply With Quote