title: Why shouldn't an Android app be written in C/C++ because you "simply prefer to program in C/C++"?
body: <p><strong>Updated</strong>(for clarity and to reduce ambiguity):</p>
  
  <p>I'm going to start tinkering around with android apps.  I was planning on writing the in C++ using the NDK (since I have more experience in C++ and prefer it to Java) but came across the following on the <a href="http://developer.android.com/tools/sdk/ndk/index.html#Installing" rel="noreferrer">Android NDK page</a>:</p>
  
  <blockquote>
    <p>you should only use the NDK if it is essential to your
    app—<strong>never because you simply prefer to program in C/C++.</strong></p>
  </blockquote>
  
  <p>I was under the impression that you should use the language that you prefer, as long as it fits the job.  Could somebody explain why it is so heavily advised not to use C/C++ for android development?</p>
  
  <hr>
  
  <p><strong>Original:</strong></p>
  
  <p>I'm going to start tinkering around with mobile apps, specifically android which is the OS of my current phone, and I was wondering if writing the app in C++ (or at least the core, then wrapping in Java) was an acceptable option.  </p>
  
  <p>Some background, I'm a computer science major who has taken 3 C++ courses(intro, intermediate, OOP, and am taking an STL course in the spring) and only 1 Java course(intermediate).  Because of this, I am more comfortable with C++ and prefer it to Java.  I came across the following on the <a href="http://developer.android.com/tools/sdk/ndk/index.html#Installing" rel="noreferrer">Android NDK page</a>:</p>
  
  <blockquote>
    <p>Using native code on Android generally does not result in a noticeable
    performance improvement, but it always increases your app complexity.
    In general, you should only use the NDK if it is essential to your
    app—<strong>never because you simply prefer to program in C/C++.</strong></p>
  </blockquote>
  
  <ul>
  <li>I was under the impression that you should use the language the fits
  the job as well as one you're familiar with</li>
  <li>I may want to port the application to another mobile platform, such
  as iOS, that supports C++ but not java</li>
  <li>While Java is a high level language and thus should make development
  faster, I feel like development would be slower because I would have
  to relearn almost everything (since I have only taken one class on
  the language)</li>
  </ul>
  
  <p>Any advice would be much appreciate.</p>
  
  <p>ps: many of the answers on this subject are from years ago and there are very few follow up answers that mention the NDK allowing the development of full native apps on android 2.3 and newer.</p>