[ZenFone 2 General] sorg:
1) Tools to build apps for Android are cross-platformed. Using Eclipse IDE under Windows i compile every my app and don't see any restrictions making me want to migrate to Linux.

2) VirtualBox + Ubuntu solve this problem completely.

3) Not more secure and definitely not more stable. You can setup Linux to be less secure and setup Windows to be more secure. And if you compare how many side (i mean apps not included in distro) apps you use in Windows and in Linux, you will find the answer about security. Even light usage of Linux (mostly for kernel compilation and some AOSP code) produces different services/apps crash. So, if i would use Linux as i'm using Windows, there will be even more crashes.

What i really hate in Linux is how much time it requires to be prepared for some non-generic environment. If somehow happen distro doesn't provide required package (even from dedicated support server), or more worse if package version is different from required, then be prepared for "sex" with Linux. You can spend a lot of time to compile and most likely to fix incompatibilities in source code. Sometimes such preparation takes several days. And then when you are prepared, you can compile that code in 5 minutes. Nope.. Such productivity isn't for me. In most cases i even don't expect compilation because i simply want to use some utility. And then i find that pre-compiled version doesn't work. Because there is very low compatibility between different versions of Linux. Even binary compiled for Linux release couple years ago may not work in more modern Linux (unless it statically linked, but even in this case there is no warranty). And if it doesn't work, see my description about preparation to compile it ;)

Btw, both VirtualBox and VMWare require special drivers for guest Linux to properly support folder sharing and VM window handling. And these drivers have to be recompiled with every minor kernel version update. This is IMHO very lame for Linux. Even after some kernel update (through standard distro package manager, so it's very minor update) VMWare stop to compile its drivers. So i have to find why and then patch the source code. And i often ask myself "Why i have to do this crap again and again?"

In Windows, i can take binary compiled for Windows XP, and use it in Windows 10. Interoperability of binaries between versions of Linux is a big red sign for me.

I was trying to migrate to Linux several times already in the past 10 years. And every time i find my self spending most of time for side tasks than my main projects.

Another thing i don't like in Linux is GUI. Not the design. It's OK for me to adapt to new interface. KDE or XFCE are fine. What i don't like in Linux GUI is how it works. Sometimes it lives its own life. Some windows appear when i don't expect, or i forgot about it already. It looks like GUI threads are running not in sync (or in very weak sync) with main code. I prefer MS Windows behavior when app tries to open the window, i cannot do anything. So, i know, something will happen soon. On Linux it's always a guess game "will some new window appear or app simply ignores my input."

4) From other side, you can see standardization of APIs and stable for many years SDK in Windows. As a software developer i care about it very much. There is no restriction for Open Source projects.

Absence (or nearly absence) binary compatibility between Linux versions, very flexible and often changing APIs can be considered as an additional security mechanism, but I'm against such methods.

---------- Post added at 06:01 AM ---------- Previous post was at 05:36 AM ----------

P.S: About "Android is a Linux": it's completely wrong.

Android is an OS with high level of abstraction when it comes to devices.

To make this abstraction, Linux kernel is used. Nothing to do with Desktop Linux here.

Generally speaking, any kernel could be used to make this abstraction. It could be OpenBSD and even Windows kernel. Android wouldn't be different. Google choose Linux kernel to be free from other software developers - that's the only reason.