Live data from Hacker News

Android: The Land That Python Forgot

speakerdeck.com

121–127 of 127 posts

Re: Android: The Land That Python Forgot

#121
post #93

Earlier quoted context omitted.

I used to be like this before I realized I used class inheritance way too much and shifted to using composition in the majority of cases.

And .NET framework tend to overuse subclassing/overriding pattern where delegation is more appropriate. That frequently leads users also overuse subclassing/overriding.

++ this, I moved from C# to Typescript and see that pattern change as being the biggest difference as to the code style i write.

I started Typescript by subclassing but as I work more and more with it, I subclass less and less, and delegate more and more.

Re: Android: The Land That Python Forgot

#122
post #106
post #100

Earlier quoted context omitted.

This is the best logic I ever heard in this thread. Guido is working in Google, and Google doesn't support Python on Android. Python is just secondary scripting language even in Google, can't take a strategic support. Their primary product/platform language was always languages with forced type (an)notation - Java/C++. Same thing happen on C#. Anders Hejlsberg couldn't convince any other MS product teams to use C#, s…

Well MS fucked that one up, didn't they? They should have ignored C++11, and got Hejlsberg to design a new one ;) Regarding C# and/or .NET's abandonment - is this really the case? It certainly doesn't seem like it, with new revisions of the CLR coming out somewhat regularly, seemingly with new bits in each time. There's been LINQ, this new async thing, Rx, and that XML UI thing. And I know Silverlight is dead, but no…

I am not sure that we're talking on same context… but anyway.

I invested much time on C# 1.0 to 3.0 for XNA, and MS never give a shit on XNA for years and finally fucked me up. XNA doesn't exist anymore. Happy time with MS was the biggest reason made me to learn C/C++. Ironically, now Unity3D is working well with that C#.

Anyway now I am on C++11 on Xcode(You should know what I mean!) and happy because I don't need to worry about any abandonment. C/C++ is core language for any practical platforms (including browsers!), and I don't need to `IDispose` all my source codes by vendor's decision.

XNA stuff was my personal experience, but at least for me, MS surely abandoned the platform, and will do it again at any time. And this was possible because their core teams are not using XNA. In other words, strategic support.

Maybe not yet on other fields, but I feel the time is close. The proof is, of course, the TypeScript. If you haven't checked it, google it right now. MS decided to make a new language instead of porting CLR on Javascript. I am sure that stuff is post .NET/C# (I mean post buzzword) of MS. If you don't believe MS will abandon .NET, think about how MS themselves will be damaged if .NET abandoned. Virtually none. None of their product core is based on .NET. Anyway even after they abandon .NET, it will keep taking periodic update like they did on ActiveX for last decades.

Re: Android: The Land That Python Forgot

#123
post #10

Just point out, this talk mentions: kivy -- A python kit for a portable, touch-focused UI that works on Android as well. I used to follow it initially but noticed the project seems to have slowed down. There haven't been as many releases lately. Anyone have more info on why that might be?

Kivy itself is still under very active development. Also, there is a lot of work in auxiliary projects - like python-for-android, pyjnius, kivy-ios, pyobjus, and buildozer - from the Kivy team. https://github.com/kivy

Re: Android: The Land That Python Forgot

#124

Earlier quoted context omitted.

If you're familiar with C#, Real World Functional Programming: With Examples in F# and C# [1] is an excellent resource for learning how and when to use composition over inheritance. [1]: http://www.amazon.com/Real-World-Functional-Programming-With...

Yeesh, $40 for the ePub directly from Manning, or $33 from Amazon for the print edition with a free ePub.

There are a few chapters of the book online for free at MSDN, and if you're going to buy the book, they also have a coupon code: http://msdn.microsoft.com/en-us/library/vstudio/hh314518%28v...

Re: Android: The Land That Python Forgot

#125
post #99

Earlier quoted context omitted.

What about javascript?

Javascript is, 1. Dynamically strongly typed, but typing is limited to primitive types. 2. So actually it's untyped for objects which is really needs type information. 3. As it lacks class/interface concept at all, type (an)notation is fundamentally impossible, type tracking is also impossible. 4. So lacks ability to offer type information to toolset. You don't have automated tooling support on Javascript about type,…

Javascript is typically described as weakly typed; e.g., "2" + 2 is valid Javascript.

Re: Android: The Land That Python Forgot

#126

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…

> at some point developers start asking why they aren't just using Java in the first place...

Hasn't held anyone back on non-mobile systems, right?

Re: Android: The Land That Python Forgot

#127
post #116

Earlier quoted context omitted.

ART is an install-time compiler from Dalvik bytecode to native code. It improves CPU, RAM, and battery usage, but still requires whatever code is run through it to be converted to Dalvik bytecode. If we don't currently have a way to run Python on a Dalvik JIT, then we don't currently have a away to run Python on ART.

Why did they go to an install-time optimizer instead of inventing something better than Dalvik?

Well, continuing to run legacy apps efficiently is almost certainly a requirement. Presumably it's also a requirement for them that the Java semantics easily and efficiently map to their program representation.

An AoT compiler instantly makes everyone's favorite Android apps start faster, and many of them run faster, without having to wait for (sometimes defunct) publishers to re-compile the apps.

A static single assignment representation that matches the Java semantics, such as Michael Franz's SafeTSA, would be better than Dalvik bytecode if they're going to do install-time generation of native code.

In any case, I hope they continue to promote architecture-independent distribution formats for apps and libraries. I've said for a while that I think compiling directly to native code is going to eventually be treated like we now treat hand-written assembly... a last resort for small pieces of code that need speed and have been found to not be efficiently served by more abstract tools.

Post reply on HN