programming languages

Rank

Java vs Python

  1. This language has a strong static type system

    92% 8%
    Java 722 out of 780 picked Java over Python Python
  2. Code written in this language tends to be verbose

    89% 11%
    Java 716 out of 798 picked Java over Python Python
  3. Writing code in this language is a lot of work

    86% 14%
    Java 690 out of 800 picked Java over Python Python
  4. There are many good commercial tools for this language

    85% 15%
    Java 619 out of 720 picked Java over Python Python
  5. This is a mainstream language

    84% 16%
    Java 459 out of 545 picked Java over Python Python
  6. This language is large

    81% 19%
    Java 558 out of 685 picked Java over Python Python
  7. The thought that I may still be using this language in twenty years time fills me with dread

    80% 20%
    Java 598 out of 742 picked Java over Python Python
  8. There is a lot of accidental complexity when writing code in this language

    80% 20%
    Java 585 out of 727 picked Java over Python Python
  9. This language is unusually bad for beginners

    80% 20%
    Java 650 out of 811 picked Java over Python Python
  10. This language has an annoying syntax

    79% 21%
    Java 424 out of 535 picked Java over Python Python
  11. This is a low level language

    77% 23%
    Java 614 out of 789 picked Java over Python Python
  12. I often get angry when writing code in this language

    77% 23%
    Java 388 out of 502 picked Java over Python Python
  13. If my code in this language successfully compiles, there is a good chance my code is correct.

    76% 24%
    Java 359 out of 467 picked Java over Python Python
  14. Developers who primarily use this language often burn out after a few years

    76% 24%
    Java 411 out of 536 picked Java over Python Python
  15. Programs written in this language will usually work in future versions of the language

    75% 25%
    Java 524 out of 691 picked Java over Python Python
  16. This language is suitable for real-time applications

    75% 25%
    Java 502 out of 665 picked Java over Python Python
  17. This language excels at concurrency

    74% 26%
    Java 535 out of 714 picked Java over Python Python
  18. I learned this language early in my career as a programmer

    73% 27%
    Java 412 out of 559 picked Java over Python Python
  19. This language is frequently used for applications it isn't suitable for

    73% 27%
    Java 483 out of 658 picked Java over Python Python
  20. There are many good tools for this language

    73% 27%
    Java 516 out of 704 picked Java over Python Python
  21. This language is best for very large projects

    72% 28%
    Java 531 out of 731 picked Java over Python Python
  22. I know many other people who use this language

    69% 31%
    Java 553 out of 798 picked Java over Python Python
  23. I am reluctant to admit to knowing this language

    69% 31%
    Java 403 out of 582 picked Java over Python Python
  24. I would use this language for mobile applications

    68% 32%
    Java 541 out of 790 picked Java over Python Python
  25. Programs written in this language tend to be efficient

    68% 32%
    Java 522 out of 767 picked Java over Python Python
  26. This language has many features which feel "tacked on"

    68% 32%
    Java 445 out of 654 picked Java over Python Python
  27. I would use this language for writing embedded programs

    67% 33%
    Java 71 out of 105 picked Java over Python Python
  28. I am sometimes embarrassed to admit to my peers that I know this language

    67% 33%
    Java 425 out of 630 picked Java over Python Python
  29. This language has a very rigid idea of how things should be done

    67% 33%
    Java 525 out of 779 picked Java over Python Python
  30. I would use this language for writing programs for an embedded hardware platform

    66% 34%
    Java 464 out of 702 picked Java over Python Python
  31. Code written in this language will usually run in all the major implementations if it runs in one of them.

    65% 35%
    Java 305 out of 463 picked Java over Python Python
  32. This language is good for distributed computing

    65% 35%
    Java 461 out of 700 picked Java over Python Python
  33. I use a lot of code written in this language which I really don't want to have to make changes to

    64% 36%
    Java 224 out of 346 picked Java over Python Python
  34. I usually use this language on projects with many other members

    63% 37%
    Java 468 out of 733 picked Java over Python Python
  35. This language is likely to be around for a very long time

    62% 38%
    Java 465 out of 744 picked Java over Python Python
  36. Third-party libraries are readily available, well-documented, and of high quality

    60% 40%
    Java 453 out of 750 picked Java over Python Python
  37. When I run into problems my colleagues can provide me with immediate help with this language

    59% 41%
    Java 416 out of 702 picked Java over Python Python
  38. This language is well documented

    58% 42%
    Java 438 out of 747 picked Java over Python Python
  39. I often feel like I am not smart enough to write this language

    58% 42%
    Java 231 out of 395 picked Java over Python Python
  40. It's unusual for me to discover unfamiliar features

    58% 42%
    Java 395 out of 681 picked Java over Python Python
  41. I use many applications written in this language

    57% 43%
    Java 452 out of 783 picked Java over Python Python
  42. Code written in this language tends to be very reliable

    57% 43%
    Java 430 out of 745 picked Java over Python Python
  43. Libraries in this language tend to be well documented.

    57% 43%
    Java 280 out of 486 picked Java over Python Python
  44. This language allows me to write programs where I know exactly what they are doing under the hood

    57% 43%
    Java 441 out of 768 picked Java over Python Python
  45. When I write code in this language I can be very sure it is correct

    56% 44%
    Java 432 out of 758 picked Java over Python Python
  46. It is easy to debug programs written in this language when it goes wrong

    56% 44%
    Java 417 out of 736 picked Java over Python Python
  47. This language has a high quality implementation

    55% 45%
    Java 275 out of 499 picked Java over Python Python
  48. This language has a niche outside of which I would not use it

    55% 45%
    Java 398 out of 723 picked Java over Python Python
  49. I find it easy to write efficient code in this language

    54% 46%
    Java 431 out of 784 picked Java over Python Python
  50. This language makes it easy to shoot yourself in the foot

    54% 46%
    Java 333 out of 611 picked Java over Python Python
  51. There are many good open-source tools for this language

    54% 46%
    Java 411 out of 756 picked Java over Python Python
  52. This language has a very dogmatic community

    54% 46%
    Java 350 out of 644 picked Java over Python Python
  53. I would list this language on my resume

    53% 47%
    Java 406 out of 754 picked Java over Python Python
  54. I know this language well

    53% 47%
    Java 3906 out of 7331 picked Java over Python Python
  55. I would use this language for writing server programs

    52% 48%
    Java 388 out of 739 picked Java over Python Python
  56. I would use this language for a desktop GUI project

    51% 49%
    Java 430 out of 832 picked Java over Python Python
  57. It is too easy to write code in this language that looks like it does one thing but actually does something else

    50% 50%
    Java 326 out of 642 picked Java over Python Python
  58. This language has well-organized libraries with consistent, carefully thought-out interfaces

    49% 51%
    Java 335 out of 659 picked Python over Java Python
  59. This language encourages writing reusable code.

    46% 54%
    Java 270 out of 503 picked Python over Java Python
  60. There is a wide variety of open source code written in this language

    46% 54%
    Java 409 out of 761 picked Python over Java Python
  61. The resources for learning this language are of high quality

    45% 55%
    Java 404 out of 744 picked Python over Java Python
  62. This language is likely to be a passing fad

    45% 55%
    Java 318 out of 580 picked Python over Java Python
  63. I can imagine using this language in my day job

    43% 57%
    Java 472 out of 838 picked Python over Java Python
  64. I enjoy playing with this language but would never use it for "real code"

    43% 57%
    Java 375 out of 658 picked Python over Java Python
  65. This language is good for numeric computing

    42% 58%
    Java 396 out of 691 picked Python over Java Python
  66. This language has a wide variety of agreed-upon conventions, which are generally adhered to reasonably well, and which increase my productivity

    41% 59%
    Java 412 out of 703 picked Python over Java Python
  67. I regularly use this language

    41% 59%
    Java 513 out of 872 picked Python over Java Python
  68. Programs written in this language tend to play well with others

    40% 60%
    Java 409 out of 682 picked Python over Java Python
  69. This language encourages writing code that is easy to maintain.

    37% 63%
    Java 303 out of 484 picked Python over Java Python
  70. This language has a very coherent design

    35% 65%
    Java 445 out of 695 picked Python over Java Python
  71. This language has a good library distribution mechanism.

    35% 65%
    Java 307 out of 477 picked Python over Java Python
  72. I rarely have difficulty abstracting patterns I find in my code

    35% 65%
    Java 456 out of 704 picked Python over Java Python
  73. This language is likely to have a strong influence on future languages

    35% 65%
    Java 465 out of 716 picked Python over Java Python
  74. Learning this language significantly changed how I use other languages.

    34% 66%
    Java 348 out of 535 picked Python over Java Python
  75. If this language didn't exist, I would have trouble finding a satisfactory replacement

    34% 66%
    Java 449 out of 685 picked Python over Java Python
  76. This language is easier to use for it's problem domain by removing unneeded expressiveness (such as not being Turing complete).

    33% 67%
    Java 156 out of 236 picked Python over Java Python
  77. Learning this language improved my ability as a programmer

    33% 67%
    Java 525 out of 789 picked Python over Java Python
  78. I can imagine this will be a popular language in twenty years time

    32% 68%
    Java 492 out of 725 picked Python over Java Python
  79. This language has a niche in which it is great

    31% 69%
    Java 487 out of 715 picked Python over Java Python
  80. This language is good for scientific computing

    31% 69%
    Java 512 out of 748 picked Python over Java Python
  81. This language matches it's problem domain particularly well.

    31% 69%
    Java 308 out of 449 picked Python over Java Python
  82. This language is built on a small core of orthogonal features

    30% 70%
    Java 401 out of 580 picked Python over Java Python
  83. This language has a good community

    30% 70%
    Java 517 out of 747 picked Python over Java Python
  84. I often write things in this language with the intent of rewriting them in something else later

    30% 70%
    Java 383 out of 552 picked Python over Java Python
  85. I usually use this language on solo projects

    29% 71%
    Java 537 out of 767 picked Python over Java Python
  86. I still discover new features of this language on a fairly regular basis

    27% 73%
    Java 470 out of 648 picked Python over Java Python
  87. The semantics of this language are much different than other languages I know.

    26% 74%
    Java 327 out of 447 picked Python over Java Python
  88. I use this language out of choice

    26% 74%
    Java 558 out of 756 picked Python over Java Python
  89. I would recommend most programmers learn this language, regardless of whether they have a specific need for it

    26% 74%
    Java 413 out of 559 picked Python over Java Python
  90. I would use this language for a web project

    25% 75%
    Java 610 out of 817 picked Python over Java Python
  91. It is easy to tell at a glance what code in this language does

    24% 76%
    Java 613 out of 815 picked Python over Java Python
  92. This language is minimal

    23% 77%
    Java 555 out of 722 picked Python over Java Python
  93. I enjoy using this language

    22% 78%
    Java 688 out of 889 picked Python over Java Python
  94. Code written in this language is very readable

    21% 79%
    Java 623 out of 795 picked Python over Java Python
  95. I would like to write more of this language than I currently do

    21% 79%
    Java 620 out of 787 picked Python over Java Python
  96. This is a high level language

    21% 79%
    Java 669 out of 849 picked Python over Java Python
  97. This language excels at symbolic manipulation

    21% 79%
    Java 501 out of 635 picked Python over Java Python
  98. This language is well suited for an agile development approach using short iterations.

    20% 80%
    Java 359 out of 454 picked Python over Java Python
  99. This language is good for beginners

    17% 83%
    Java 696 out of 847 picked Python over Java Python
  100. I would use this language to write a command-line app

    17% 83%
    Java 666 out of 804 picked Python over Java Python
  101. This language has unusual features that I often miss when using other languages

    17% 83%
    Java 619 out of 747 picked Python over Java Python
  102. This language is expressive

    17% 83%
    Java 658 out of 793 picked Python over Java Python
  103. This language is very flexible

    16% 84%
    Java 657 out of 785 picked Python over Java Python
  104. I find code written in this language very elegant

    16% 84%
    Java 702 out of 836 picked Python over Java Python
  105. I find this language easy to prototype in

    15% 85%
    Java 681 out of 808 picked Python over Java Python
  106. This language excels at text processing

    14% 86%
    Java 637 out of 749 picked Python over Java Python
  107. Code written in this language tends to be terse

    14% 86%
    Java 648 out of 759 picked Python over Java Python
  108. This language is best for very small projects

    11% 89%
    Java 649 out of 736 picked Python over Java Python
  109. This language would be good for teaching children to write software

    11% 89%
    Java 469 out of 531 picked Python over Java Python
  110. I would use this language as a scripting language embedded inside a larger application

    8% 92%
    Java 664 out of 725 picked Python over Java Python
  111. I would use this language for casual scripting

    8% 92%
    Java 737 out of 802 picked Python over Java Python

What's going on here?

The absolute rankings are interesting for large scale comparisons but when you want to know about two specific languages it's much more informative to look at how the two fare when they go directly head to head.

Here are all the statements which we've got enough comparisons between Java and Python to be meaningful and which of the two our users picked.

The order in which we're presenting them is a little arbitrary (sorry), but we've tried to put the things which they're both good at first so as to give you the most interesting picture of it.