Live data from Hacker News

Android: The Land That Python Forgot

speakerdeck.com

31–40 of 127 posts

Re: Android: The Land That Python Forgot

#31
post #22

I'd point out that Python was the preferred high-level language at pre-MS Nokia. There was Python for S60 for a long time, even before either iOS or Android existed. More recently Nokia made new Python bindings for Qt, PySide, to be used on Maemo.

While Maemo is irrelevant, Python can be perfectly used with Mer and Sailfish.

Re: Android: The Land That Python Forgot

#32
post #22

I'd point out that Python was the preferred high-level language at pre-MS Nokia. There was Python for S60 for a long time, even before either iOS or Android existed. More recently Nokia made new Python bindings for Qt, PySide, to be used on Maemo.

PySide is pretty neat, though I am not very good with Python

Re: Android: The Land That Python Forgot

#33
post #11

Earlier quoted context omitted.

If you think Python is a worse Java then there is something important you have missed.

If you think that programming languages are strictly worse or better than others on a linear scale, then there is something important you have missed.

Always use the correct tools for the Job. Pragmatism wins

Re: Android: The Land That Python Forgot

#34

You can replace Python in Ruby or Lua for the most part and also Android with iOS. Dynamic languages aren't yet a big deal and I think it's because they don't bind well or give you a significantly better developer experience than Objective-C or Java on these platforms do. RubyMotion is probably the closest I've seen to making a language like Ruby or Python a very compelling mobile developer experience while maintaini…

Lua can easily be compiled and used on both Android and iOS.

Or Lisp, which compiles and has optional type declarations

https://wukix.com/mocl

Re: Android: The Land That Python Forgot

#35
post #29

You can replace Python in Ruby or Lua for the most part and also Android with iOS. Dynamic languages aren't yet a big deal and I think it's because they don't bind well or give you a significantly better developer experience than Objective-C or Java on these platforms do. RubyMotion is probably the closest I've seen to making a language like Ruby or Python a very compelling mobile developer experience while maintaini…

I like to add some more. That's correct that the type system is the crucial attribute as a platform language. But that's not the only reason. It's also for correctness, safety, productivity and manageability. That's because a platform is huge and complex monster. So all those properties are archive-able only by automated tools, and those tools need rich metadata for each word of code. Type information is crucial meta…

Exactly. I've never understood why someone would prefer a untyped language. It's just a bad developing experience, code needs more debugging, it is harder to maintain and overall productivity is lower. Untyped languages are fine only for small scripting languages.

Re: Android: The Land That Python Forgot

#36
post #35
post #29

Earlier quoted context omitted.

I like to add some more. That's correct that the type system is the crucial attribute as a platform language. But that's not the only reason. It's also for correctness, safety, productivity and manageability. That's because a platform is huge and complex monster. So all those properties are archive-able only by automated tools, and those tools need rich metadata for each word of code. Type information is crucial meta…

Exactly. I've never understood why someone would prefer a untyped language. It's just a bad developing experience, code needs more debugging, it is harder to maintain and overall productivity is lower. Untyped languages are fine only for small scripting languages.

I doubt you really mean untyped languages. Untyped languages includes many assembly languages, BCPL and some Forths. It does not include typical scripting languages like Perl, Ruby or Python - all of which are strongly typed.

Re: Android: The Land That Python Forgot

#37
post #35
post #29

Earlier quoted context omitted.

I like to add some more. That's correct that the type system is the crucial attribute as a platform language. But that's not the only reason. It's also for correctness, safety, productivity and manageability. That's because a platform is huge and complex monster. So all those properties are archive-able only by automated tools, and those tools need rich metadata for each word of code. Type information is crucial meta…

Exactly. I've never understood why someone would prefer a untyped language. It's just a bad developing experience, code needs more debugging, it is harder to maintain and overall productivity is lower. Untyped languages are fine only for small scripting languages.

There's a difference between typed and statically typed. Python is a strongly typed language, but it is dynamic.

> bad developing experience, code needs more debugging, it is harder to maintain and overall productivity is lower

All of these observations are highly subjective.

> Developing experience:

I much prefer developing in python than java. If IDEs factor in, there are a number available for python, none of which I use, because I find a simple editor is usually enough.

> code needs more debugging

That's a function of the problem and the developer. The run, check, edit cycle in python is a lot quicker than using your IDE to run, check, edit, compile. There are debuggers available for nearly every language that allow you to step and inspect.

> harder to maintain

Disagree. When you have code 1/5th (number pulled from my ass) the size codebase, maintainability can be much better. Unit testing helps, regardless of the language.

> productivity

A developer proficient in language [X] should be just as productive as a different developer proficient in language [Y]. Creating a massive type hierarchy of classes and interfaces is a tonne of overhead when you are trying to express a simple idea. In a language like python, you might write a simple class (or two), and use dynamic typing appropriately. A java developer may use code generation and IDE shortcuts to lessen the amount of total code they have to write though.

The advantages and disadvantages of dynamic and statically typed languages are fairly well known. Neither is perfect all the time and for each person. Just because you don't like dynamic languages, it does not mean they don't have their virtues.

Re: Android: The Land That Python Forgot

#38
post #6

Earlier quoted context omitted.

That's pretty much exactly what python-on-android does; the problem is that you don't get access to any of the Java/Dalvik-based libraries, which includes all of the UI programming libraries.

Couldn't a language-bridge library use Java reflection to accomplish a lot of what's needed?

That is already done with pyjnius. The missing part is providing more pythonic and more productive ways of using it. Currently it is extremely awkward...

My guess is that someone will write a pythonic UI framework based on the Android API...

Re: Android: The Land That Python Forgot

#39
post #12

It isn't that Python forgot Android, or Python developers don't care about mobile. It's that Google decided to base Android on the JVM and make Java the primary language for developing on the platform. There's nothing Python could have done about that.

One very prominent point in those slides is that Android is not based on the JVM, which complicates things for plenty of things that expect Java on JVM instead of Java on Dalvik (e.g. Jython).

Re: Android: The Land That Python Forgot

#40
post #27
post #4

Ohai! I wrote the talk, and just want to let you know that you can watch it over at https://www.youtube.com/watch?v=p77BR6e1uoo --Chris

Thanks for transcribing the talk onto the slides. Most people don't, and just post their mostly-useless slides.

Yes. Actually, when I saw it was just slides I simply closed the tab because they're most often useless, not adapted to presenting something on the web.

After seeing your comment I went back to it, and indeed, the talk is there, which was unexpected and great.

Post reply on HN