I am also really skeptical of C or C++ as a first language. Ideally, with a first language, you're learning to program - to think in exact terms, to use the structures present in programming languages, with only the abstractions that you build. C and C++ make you do a lot of other stuff by hand, with primitives that are hard to use, and, in C++'s case, with syntax that's a goddamned mess; that complicates learning those basic skills. I'd agree that Java, or C#, or my beloved Python are much better as first programming languages.
Practically, iOS development may not be an option, unless you're willing to spend money. You can't use an actual iphone with the dev tools unless you buy a developer key for the phone. And like nif said, the Android tools are available for free on every platform, and you can use (most) android phones with them for free without too much hassle. (I assume the iOS dev tools come with an emulator that you can use, but if it's anything like the one in ADT, it's probably horribly slow and deeply unpleasant to work with, and thus not a very good option in practice.)
If you just want to work directly toward your goal, your best bet is probably something like what Zekka said. Pick the language and system you want to work with, which might still be iOS, download the development tools, and start working through tutorials. That might be pretty rough, because you'll be learning a lot of different things over the course of your project.
Although lemon's Cordova suggestion is definitely interesting and worth considering seriously. Cordova is free, you could download the iOS dev tools, and whatever Cordova uses, and work through a "getting started" tutorial for each, and see which one you like better.
inb4 gleech recommends a 4 year degree in CS :D
jack chick, August 16, 2016, 10:45:55 am
Hah, gotcha, because the actual thing that I was predictably going to do is - wait, let me put this behind a spoiler tag, so Runic has a chance to win a bet.
I'm going to recommend python. Python is probably the easiest language to learn that I have ever seen. It also has a good libraries for fetching urls and parsing JSON and XML built right in, which make it particularly good for exactly the kind of thing you're trying to do. It also has Tk built in for GUI work; Tk isn't great, but it works, and the Python binding is easy enough to use.
The only problem is, there is no good way (that I know of) to get Python code onto a mobile phone as an app. So, if you're really sold on winding up with an iOS app as quick as possible, python won't help you.
In a perfect world, if you were willing to turn this into a very-long-term project in which you learned programming in a deep way, I'd absolutely tell you to start with python first. But if not, then yeah, go straight to the tools for yor platform.
p.s. may of the tools we've mentioned in this thread are free, so in principle you can just try all of them and see which ones you like.
- Android Studio, the free IDE for Android.
- Visual Studio, the development environment for Microsoft's platforms, which includes C#. (Visual Studio Community is free and includes all the compilers and stuff as well as the IDE.)
- If you're on OS X and you want to do iphone development, you'll need xcode, but fucked if I know how mac dev works. I think you install it through their app store?
- Developing with Java is a little confusing, because you need the Java Development Kit (JDK), which is not the thing you get if you just "install Java" from their site. You'll probably also find an Integrated Development Environment (IDE) useful; I don't know much about Java IDEs, but people seem to like Eclipse.
- And of course, Python. Although if you're on Windows, you might want to use winpython instead, for technical reasons that I can explain if you care.