Android Studio 2.0 is the fastest way to build high quality, performant apps for the Android platform, including phones and tablets, Android Auto, Android Wear, and Android TV. As the official IDE from Google, Android Studio includes everything you need to build an app, including a code editor, code analysis tools, emulators and more. This new and stable version of Android Studio has fast build speeds and a fast emulator with support for the latest Android version and Google Play Services.
The IDE really did need improving. This would have been good 10 years ago!
Anyway – the best thing that Google could do for developers is make Python a first class Android language.
The massive popularity, ease of entry, ease of coding multi paradigm, huge amounts of extensions and libraries … would be a boost for Android. Just look at all the new generation brought up on Raspberries Pi and Python.
And a chance for Google scrap the Oracle infected Java. Horrible language anyway.
Edited 2016-04-11 18:46 UTC
As slow as Android already is, you want a memory-heavy language like Python becoming the primary means of development? Ouch.
Sure Python isn’t C.
But you can run it fine on a Raspberry Pi Zero – the one that costs £4 or $5.
Here you’ve got a proper Linux OS with desktop and IPython (much more than basic python) and crunching through 60,000 images to train a neural network …
http://makeyourownneuralnetwork.blogspot.co.uk/2016/03/ipython-neur…
By the way – Python and Java are as bad as each other … this is a really thorough and detailed comparison of languages for things like memory efficiency, scalability, conciseness, failure rate, etc etc
http://arxiv.org/pdf/1409.0252v2.pdf
Qt/QML!
Python is a lot more performant than Java.
And when compared to Java, Python is very memory light.
So yes, please make Python first class.
LOL WHAT!
I love python and I write most of my web services in it, but performance it isn’t mate.
Compared to C? C++? Correct – it’s not *as* performant.
Compared to Java? Incorrect – it’s a lot better in performance.
And yes, I do a lot of Python too – from scripts to WSGI applications. I’ve also done Python->C bindings for C libraries.
Most benchmarks I have looked at disagree.
I love python. It’s a great prototyping language, and great for scripting or small projects. But its “raw” performance is shit. Subbing java for python would be like jumping off the frying pan only to fall into the fire.
I think nobody lobbies for python to become the only language on Android. And while it’s definitely true that python’s performance can be a bottleneck and I wouldn’t recommend it for CPU intensive tasks, not even on the desktop, it performs sufficiently for mundane tasks such as simple GUIs or even simple games. One language shouldn’t be supported to the exclusion of others, ultimately it is about giving developers and users more choices and the best programs will prevail.
I’m not disagreeing with the sentiment that the more the merrier. I’m just pointing out that if Java is a performance hog, Python is not that much better.
Don’t forget developer performance and productivity.
That’s why Python is popular and still growing in popularity. And not a
Java.
Again, I love Python, but many people seriously underestimate how “popular” Java still is:
http://www.infoworld.com/article/2909894/application-development/ja…
It’s the lingua franca of a big chunk of mobile (Android) and enterprise.
Kivy?
Erlang FTW : distributed from the beginning, fault tolerant, … hot code loading, no more excuse for upgrades lagging behind.
Elixir
Elixir is such a nice language.
Erlang would be awesome if it was a bit more performant though.
It is rather good, the string handling has really improved. And just like Android with the NDK, you can build native foreign functions linked through a port or NIF. Matter of choice.
But the IDE sucks ass.
Well, I’m not concerned in string handling for my area of application. Our group tested some heavily threaded number crunching algos we have, and the performance was atrocious.
Well, using Android for number crunching is dubious, as well as using Java or Erlang for that purpose as programming language. Are you sure you wanted to succeed ?
Where do most people do photo editing, image recognition, voice recognition, music synthesis, 3D data manipulation? Probably most of the number crunching is done in Android or iOS.
Sure sure, but again, either you code that performance critical part in asm/c/shader or you use a dsp. For business logic and ipc erlang/elixir/lfe are just far enough to fit them all.
I repeat, only 3 languages worth to cover all layers : asm, c and erlang. The rest is syntax sugar.
Yeah, but Erlang is geared towards concurrent and distributed systems, and some of our codes were supposed to be a perfect fit. It’s just that as long as you don’t expect performance, Erlang seems to be a great system. I know a few people who swear by it, thus why we tried it.
Also, to be fair, you can do some number crunching with Java. It seems a lot of people still associate Java’s performance with the JVM from the 90s.
BTW, at the end of the day, most code running on a computer is a form or another of “number crunching.”
Edited 2016-04-13 17:41 UTC
Indeed you are right, but on the other hand I never used Erlang for number crunching, I used it for logic glue without having to deal with thread, mutexes and semaphores anymore.
Python? There are better choices out there. I’m not a big fan of Java, but if I had to pick between the two I would actually go with Java. I find that statically typed languages scale better as a project grows.
Kotlin is a pretty good, modern alternative to Java on Android. And it’s here today.
It looks like Rust is making its way.
https://github.com/google/pulldown-cmark
Just use Kivy if you really want to do this.