Create an account

Very important

  • To access the important data of the forums, you must be active in each forum and especially in the leaks and database leaks section, send data and after sending the data and activity, data and important content will be opened and visible for you.
  • You will only see chat messages from people who are at or below your level.
  • More than 500,000 database leaks and millions of account leaks are waiting for you, so access and view with more activity.
  • Many important data are inactive and inaccessible for you, so open them with activity. (This will be done automatically)


Thread Rating:
  • 282 Vote(s) - 3.52 Average
  • 1
  • 2
  • 3
  • 4
  • 5
What Phone Do You Have?

#41
Quote:(07-12-2014, 08:37 PM)Oni Wrote:

[To see links please register here]

you keep bashing Java, as if it's an awful language for app development. It might be a concern if Android was entirely made in Java, but a large majority of Android was coded in C/C++.

I think there is a major misconception in how JAVA is used in android so here we go...

Java is a great language to code in. At a high level it is extremely quick to prototype and very easy to deploy across multiple platforms. The unfortunate cost of JAVA is that the VMs must translate the bytecode into machine code, usually at runtime.

In terms of processing, however, there is little reason to mention JAVA when debating android vs iphone. The vm that handles the code is not a JAVA vm nor is the bytecode JAVA bytecode. In fact the Dalvik VM (which is what android uses -- more on this later) has optimizations in it that allow it to run some apps FASTER than native apps. Yes you read that right, A VM can run SOME apps faster than native counterparts. How? Keep reading.

By running apps through a VM there is associated overhead no matter the approach. The Dalvik VM attempts to minimize that overhead by utilizing a very highly optimized JIT (just in time compiler). This JIT compiles bytecode down to machine code at runtime which means apps have a large performance cost only at the beginning of execution and otherwise behave equally to their native counterparts. The benefits of a JIT extend beyond the shift in overhead though. Use of a JIT allows the compilation of optimized machine code for the specific device you are using which may, in longer-running apps mean a performance gain over the native alternative which would most likely not be optimized in such a device-specific manner.

Now take all that together and we see a few startling truths:
1. Though JAVA packages and syntax are used in high-level coding of apps there is no actual JAVA on the low level
2. The Dalvik VM only sacrifices performance at the beginning of execution
3. The Dalvik VM may run apps faster than native apps during runtime
4. The JIT compiler must run at every execution so we'll always see a performance hit on runtime. -- Except we wont

Why? Well Google came up with a new VM and some of you might have noticed it on your developer options on your phones and tablets: it's called ART and it is art. The ART VM is an AOT -- an ahead of time compiler. So all of the compilation is done on install rather than execution. That is, points 2 and 4 no longer apply, with point 3 still being gloriously prevalent. With ART we see longer install times (aka no one gives a flying fuck because that's why we have 8 cores) and faster running apps with machine-specific optimizations. Seems to me here that using a VM is a pretty damned good choice... Good job Google.

Now back to JAVA
[/quote]briefly. You [phyrrus] keep mentioning JAVA as a bad point for android but I'm sure a quick strawpoll would show the vast majority of potential developers interested in coding in JAVA over Objective-C and since only the high-level language applies to the argument here, JAVA becomes a selling point.

Quote:(07-12-2014, 07:04 PM)phyrrus9 Wrote:

[To see links please register here]

and the operating system is less Java.

This makes no sense. JAVA is not even supported on Android you can't run JARs and you don't have a JAVA VM such as HotSpot. You are blowing smoke out of your ass on this argument. I must ask: do you even know what JAVA is at this point? Do you know what an operating system is? There is no JAVA in Android, give up that argument.

Not to kick you [phyrrus] while you are down but I am going to quote you here:

Quote:The day android ditches java and uses the real linux kernel is the day it will be perfect.

So we have seen that Android does not rely on JAVA and it is in fact a REAL linux kernel (if you want to argue that point you can turn to the Linux Foundation who recognize it as such). So in your words: Android is perfect.

GG
Reply



Forum Jump:


Users browsing this thread:
1 Guest(s)

©0Day  2016 - 2023 | All Rights Reserved.  Made with    for the community. Connected through