Which language for mobile devices (IOS, Android, W8)?

Discussion in 'Mac Programming' started by GD0X, Jul 26, 2012.

  1. GD0X Guest

    Mar 20, 2011
    I understand that programming concepts can be applied to all platforms, but which will prove most future-prood/educational?

    I'll be starting as a noob with any language... so input?
  2. dmelgar macrumors 68000

    Apr 29, 2005
    Future proof noob language? How about HTML5, CSS, JavaScript.

    On the other hand, if you want a capable, fast, language that only runs on one platform, I'd suggest iOS and objective c. If you're new to OO programming, I personally prefer Java ie Android just for OO concepts. Objective C is somewhat more complex and messy, but can be much faster.

    How's that for narrowing is down :)
  3. GD0X thread starter Guest

    Mar 20, 2011
    I understand there will be differences between choices, but you recommend going cross platform or stay on a single platform... then expand later?
  4. chown33 macrumors 604

    Aug 9, 2009
    Sailing beyond the sunset
    As if HTML, CSS, and JavaScript haven't changed over time.

    The mere fact that you wrote HTML5 strongly suggests at least 4 previous major revisions.

    To the OP, nothing is future-proof. Nothing. There are also changes, revisions, etc. Maybe the language itself evolves (e.g. Objective-C today is quite different from its early days: see properties). Maybe the language doesn't evolve, just becomes less prevalent (e.g. Fortran and COBOL, or even Basic).

    The only way to interpet "future-proof" is by giving a time frame. That's because even programming paradigms change: the latest thing (by which I mean the last 20 years or so) is Object-Oriented. Before that it was Structured Programming.

    One thing that doesn't change is fundamental principles. There will always be variables, constants, strings, numbers. There will always be basic logic: conditionals, loops, factoring (procedures, functions, methods). Learn the fundamentals, learn the paradigm, and you'll be able to evolve along with the technology.

    The only way to learn fundamentals is to focus. That means a single language, a single platform, a single goal. After learning one thing adequately (simple test: can you write a BlackJack program in it? advanced test: can you write a BlackJack player program in it?), you can diversify. Without fundamentals, diversification is pointless; you won't understand basic principles, so the foundation to build on isn't there.

Share This Page