The problem isn't in the upstream, it's in the downstream. Specifically their L3 interconnects.
(That's the forecast anyway)
Problem: browsers only run JS, which has it's virtues and warts.
Solution: have a plug-in scripting engine where you can use any language, and let the developers choose their set of virtues and warts.
There is no reason why we can't develop a plugin interface, and have other languages up and working in short order. Python would be great. Just include
The Android SDK/platform sucks big donkey dongles. I won't get into why here. But I'm an android developer and out of everything I've learned it is the worst.
At least with Qt you can write apps for every major platform, desktop or mobile. What I've done with it (successfully) is develop apps using my desktop, then add the tool chain for mobile compiler, and compile for that platform. That way, the toolkit becomes the simulator and you don't need to run your app though an emulator or simulator, which saves a surprising amount of time!
For example, using Qt, I've successfully used the camera API transparently on Linux and Android and Windows. What I mean by that is I developed a camera-using app on Linux, ran it on the phone, then ran it on windows 7, without changing the source code at all.
As far as I am concerned, no one should actually be using the Android SDK except those trivially simple apps. At best they are inferior (Activity and fragment lifecycle management is horrible), the SDKs themselves are not written using best Java practices, they lock you in to that platform (Can't run the same app on iOS and Android... or desktop).
Google is barking up the wrong tree. It's not that the web or the languages are flawed, it's that the serialization to HTML and JS and CSS is flawed.
There is no [big] reason why we can't drop the data serialization and program directly against webkit objects. Once you can manipulate webkit directly, you can do so from any language. It's only because we've locked ourselves in to the textual serialization of varying interpretations that we have the clusterfuck of today. Rather than interacting through a DOM, we could jsut provide the objects themsleves. Think if it this way, really just does: ti = new TextInput(); ti.setName("name")... The structure of these objects is organized in the DOM, which gives a parent-child relationship. We can get rid of the DOM as a serialized format and just link the objects together accordingly.
Think of it like this, when a web client talks to a web server they just have a textual interface open to various interpretations. With the object interface I describe, the client provides access to objects which are directly manipulated by the server. There is no ambiguity, aside from how the object is implemented in the client. In this way, someone can code for any implementation in perfect specificity, with only the assumption that the instantiated object behaves in accordance to the behavior spec. There is no reason the program code on the server cannot be stored on the client, however this is just user-interface client code.
While in HS, the school's rock band, QP (Quater Pound) wanted special effects for their performances. With some of us AV geeks, we got an early data projector (LCD screen that went on a overlay projector) and me and another guy wrote a program in QBASIC to rotate and scale a pot leaf (1bpp bitmap, converted to a list a vertices - by software we also wrote) using a ASM library based on the values of the SoundBlaster 16 card. Some of the programming was done while drunk, of course.
Why the down-mod?
The first question. The question that must never be answered. Hidden in plain sight! The question you've been running from all your life!
I an a FIOS customer, and they have 3 plans of issue here: Select HD, Prime HD, and ExtremeHD. Select has every channel I want. Prime adds some channels, but takes away others, namely BBCA. Extreme then is Select+Prime+more. I'd be happy on Prime if it had BBCA, but as a result, I pay a price difference of $340 a year for one channel. I could deal with dropping it and going Amazon and getting the BBC shows that way, but there are severals hows on there that I watch. (And I'm not referring to St:TNG reruns)
I stress over my mortgage and car loan, though they are manageable because I can manage the payments. If someone had a potential liability of even just 0.1% of $250 billion, I could work the rest of my life and never make up 1/100th that kind of liability. How does it not affect your heath?
If you read my later replies, you see I factor that in too.
1. only bit was on FLAC files. Some programs like to set the ID3 meta tags. Once you have read-only flac files, it's not so important to lock fown the mp3s.
2. Disc blocks go bad. I'd copy my FLAC files around every so often to make sure they don't get corrupted because of hard disk block rot.
10 years ago I ripped my collection to FLAC, set the read-only bit and never looked back.
Now when my MP3s get fucked*, I just resample from the FLAC version.
* Technical term. There was a ulitility called "unfuck" that would repair the MP3
I've always over-performed at my jobs. I have letters of recommendation to prove it. And fantastic references.
The problem isn't me, it's that the industry is fickle. "Oh, you do java, but you haven't done Struts? We will find someone who has." It's not like struts would be that hard to learn. "Oh, you only have node.js, but not Angular.js sorry". I could learn angular in an afternoon, but I still couldn't put it on my resume. Maybe I am a fool for not padding it more?
After months of searching, I found one guy desperate enough to hire me as an Android developer, just because I indicated an interest in mobile. I'm a 1-man team and the iOS team is a 2-man team. It's been a few months, and I'm about 3/4 as far into a a project as they are, a project that we started at the same time, and I'm learning Android while I do it.
But how do you put that on a resume?