App Developing ?

Start with Java or C# - at the beginning.

A nice IDE is Net Beans, a simple Editor is Notepad++.

Then look at Android apps for free, Apple dev has a sub.
 
Apple dev has a sub.

Only once you need to actually test on hardware and release to the store, its free up until that point (assuming you have a Mac!).

As a few people have said, Visual Studio Express is a great tool and C# is a good language to learn. Would steer clear of Obj-C and native iPhone apps until you have a bit of experience, I'm a very experienced .NET developer and have a couple of Obj-C iPhone apps in the store but found it a steep learning curve at first, this would probably put off a novice.

Html and Javascript (JQuery is the favoured library) are a must if you are planning any sort of web app. I personally hate javascript but its a necessary evil that I have to work with every day.

HTML5/javascript web apps are a good skill to have these days due to its cross platform nature so lots of firms want to save money by releasing a rubbishy HTML5 hybrid app rather than going to the expensive of porting proper native apps. For that reason there's good work in it.

Also not forgetting SQL! You need that whatever platform or language you choose, rare to find an app without some form of data store so you need a firm grounding in at least one flavour of SQL, whether its T-SQL, PL/SQL etc. Learn one well and you wont have that much trouble moving to another as they have a lot of the basics in common. I'd recommend downloading SQL Server 2012 Express to learn that (or maybe MySQL) - both are free and have tons of learning resource available. SQL is one of the easiest languages to learn but one of the hardest to master.
 
Last edited:
Then look at Android apps for free, Apple dev has a sub.

Apple development (iOS or OSX) is free. The Xcode IDE is freely available as is the iOS simulator, so you can start developing apps without any capital outlay as long as you have a Mac to develop on. You only need to pay the sub when you are at the stage of wanting to sell the app through the app store.

Xcode is a good IDE and objective-c is a perfectly good language. As with any platform (especially where you are using a C derived language), it's not about the language as such, more learning the API's and how best to perform a task. There's nearly always more than one way to skin a cat but there may well be a single better/more appropriate way of doing it, that will save time and resources.

If I was new to software development I probably would not jump straight into either iOS or Android development (which would confuse the hell out of me) but I would learn the basics of programming; types, assignments, loops, conditional branches by creating some simple command line programs in C. Get one of the myriad of C compilers out there follow a 'Hello World' tutorial, compile your code and marvel as the text appears on the screen.

Once the basics are mastered (will not take long), then tentatively move into the platform of choice and start putting the basics learned to use but with all the power that a modern development environment gives you.
 
HTML5 Game Development (cs255): Building High Performance Web Applications

Is coming up in the new year, might be of interest. To get ready for it if you're currently green on web app (html/javascript) development, you can do its precursor course first whilst you wait for it:

Web Development (cs253): How to Build a Blog

Just some ideas - IMO these courses Udacity runs are an approachable and 'fun' way to learn things, but aren't dumbed down either, so I like to recommend them to anyone whose interest in the topic isn't yet cemented.


Edit: Thinking about it, if you're that green to app development in general, then you could even start one step before the above and do this one - it's not aimed at developing web client code, and uses/introduces python which you can use for development in a number of ways (like an interpreted runtime language, compiled to native executable, or as a web server page generation tool) whilst teaching computer science and programming concepts from the ground up:

Introduction to Computer Science (cs101): Building a Search Engine
 
Last edited:
For beginners I'd suggest learning Android development using Java first. Primarily because it'll teach you good coding practices and OO, but also because Objective-C is an horrid abortion of a POS language and I wouldn't want to inflict it on anyone.

There is a lot of hate for Objective-C out there and I must admit, when I first started with it I thought it was the worst language ever invented. I use it every day now and quite like it, yes it has it's quirks but so does every language. It's all about what you get used to and learning to use the tools available to you.

There will always be love and hate for various languages from different developers, but at the end of the day everyone has their own tastes & opinions.
 
Ive never understood the hate for Obj-c, Its a great language and its not that difficult for a beginner to use it as their first language, as long as you don't try and rush into the advanced topics.

If your serious about app development, you need to ask yourself a simple question.

What hardware do you currently have?
if you have an android phone then learn Java.
if you have an iOS device and an Intel Mac then learn Objective-C

Both of these option are free if you already have the correct hardware. iOS development will cost £59.99 a year if you wish to place it onto the app store or test it on an actual device.

The best way to get into developing software is to develop software that will help you. Don't start thinking about what software other people want or the next big thing.

take something your interested in and create small programs that help make that interest easier.
 
Back
Top Bottom