PDA

View Full Version : Which language for mobile devices (IOS, Android, W8)?




GD0X
Jul 26, 2012, 11:28 PM
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?



dmelgar
Jul 26, 2012, 11:36 PM
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?

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 :)

GD0X
Jul 26, 2012, 11:54 PM
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 :)

I understand there will be differences between choices, but you recommend going cross platform or stay on a single platform... then expand later?

chown33
Jul 27, 2012, 12:07 AM
Future proof noob language? How about HTML5, CSS, JavaScript.

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.