programming languages

Rank

Java vs Python

  1. This language has a strong static type system

    91% 9%
    Java 593 out of 647 picked Java over Python Python
  2. Code written in this language tends to be verbose

    88% 12%
    Java 582 out of 657 picked Java over Python Python
  3. This is a mainstream language

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

    85% 15%
    Java 510 out of 596 picked Java over Python Python
  5. Writing code in this language is a lot of work

    85% 15%
    Java 583 out of 684 picked Java over Python Python
  6. This language is large

    80% 20%
    Java 451 out of 559 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 489 out of 608 picked Java over Python Python
  8. There is a lot of accidental complexity when writing code in this language

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

    79% 21%
    Java 551 out of 690 picked Java over Python Python
  10. This language has an annoying syntax

    78% 22%
    Java 294 out of 374 picked Java over Python Python
  11. I often get angry when writing code in this language

    77% 23%
    Java 264 out of 340 picked Java over Python Python
  12. Developers who primarily use this language often burn out after a few years

    77% 23%
    Java 335 out of 435 picked Java over Python Python
  13. This is a low level language

    76% 24%
    Java 511 out of 665 picked Java over Python Python
  14. There are many good tools for this language

    75% 25%
    Java 445 out of 593 picked Java over Python Python
  15. This language excels at concurrency

    74% 26%
    Java 444 out of 593 picked Java over Python Python
  16. Programs written in this language will usually work in future versions of the language

    74% 26%
    Java 438 out of 585 picked Java over Python Python
  17. This language is suitable for real-time applications

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

    74% 26%
    Java 304 out of 409 picked Java over Python Python
  19. If my code in this language successfully compiles, there is a good chance my code is correct.

    73% 27%
    Java 244 out of 330 picked Java over Python Python
  20. This language is best for very large projects

    72% 28%
    Java 438 out of 601 picked Java over Python Python
  21. This language is frequently used for applications it isn't suitable for

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

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

    68% 32%
    Java 322 out of 470 picked Java over Python Python
  24. Programs written in this language tend to be efficient

    67% 33%
    Java 433 out of 638 picked Java over Python Python
  25. I would use this language for mobile applications

    67% 33%
    Java 452 out of 666 picked Java over Python Python
  26. I am sometimes embarrassed to admit to my peers that I know this language

    67% 33%
    Java 363 out of 535 picked Java over Python Python
  27. This language has many features which feel "tacked on"

    67% 33%
    Java 363 out of 535 picked Java over Python Python
  28. I would use this language for writing embedded programs

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

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

    66% 34%
    Java 384 out of 579 picked Java over Python Python
  31. I use a lot of code written in this language which I really don't want to have to make changes to

    65% 35%
    Java 160 out of 244 picked Java over Python Python
  32. Code written in this language will usually run in all the major implementations if it runs in one of them.

    65% 35%
    Java 214 out of 328 picked Java over Python Python
  33. This language is likely to be around for a very long time

    64% 36%
    Java 387 out of 600 picked Java over Python Python
  34. This language is good for distributed computing

    64% 36%
    Java 373 out of 579 picked Java over Python Python
  35. I usually use this language on projects with many other members

    63% 37%
    Java 391 out of 611 picked Java over Python Python
  36. When I run into problems my colleagues can provide me with immediate help with this language

    61% 39%
    Java 363 out of 593 picked Java over Python Python
  37. Third-party libraries are readily available, well-documented, and of high quality

    60% 40%
    Java 385 out of 638 picked Java over Python Python
  38. Libraries in this language tend to be well documented.

    59% 41%
    Java 207 out of 347 picked Java over Python Python
  39. Code written in this language tends to be very reliable

    58% 42%
    Java 358 out of 612 picked Java over Python Python
  40. This language has a high quality implementation

    58% 42%
    Java 210 out of 362 picked Java over Python Python
  41. It is easy to debug programs written in this language when it goes wrong

    57% 43%
    Java 349 out of 603 picked Java over Python Python
  42. I use many applications written in this language

    57% 43%
    Java 375 out of 648 picked Java over Python Python
  43. It's unusual for me to discover unfamiliar features

    57% 43%
    Java 336 out of 581 picked Java over Python Python
  44. This language is well documented

    57% 43%
    Java 359 out of 623 picked Java over Python Python
  45. I often feel like I am not smart enough to write this language

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

    56% 44%
    Java 354 out of 626 picked Java over Python Python
  47. There are many good open-source tools for this language

    56% 44%
    Java 350 out of 623 picked Java over Python Python
  48. This language has a very dogmatic community

    56% 44%
    Java 298 out of 531 picked Java over Python Python
  49. This language allows me to write programs where I know exactly what they are doing under the hood

    55% 45%
    Java 364 out of 653 picked Java over Python Python
  50. I find it easy to write efficient code in this language

    54% 46%
    Java 363 out of 664 picked Java over Python Python
  51. I would list this language on my resume

    54% 46%
    Java 331 out of 606 picked Java over Python Python
  52. I know this language well

    54% 46%
    Java 3131 out of 5741 picked Java over Python Python
  53. This language makes it easy to shoot yourself in the foot

    54% 46%
    Java 261 out of 479 picked Java over Python Python
  54. This language has a niche outside of which I would not use it

    54% 46%
    Java 325 out of 598 picked Java over Python Python
  55. I would use this language for writing server programs

    53% 47%
    Java 323 out of 604 picked Java over Python Python
  56. I would use this language for a desktop GUI project

    52% 48%
    Java 363 out of 697 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

    51% 49%
    Java 273 out of 532 picked Java over Python Python
  58. This language has well-organized libraries with consistent, carefully thought-out interfaces

    48% 52%
    Java 283 out of 549 picked Python over Java Python
  59. There is a wide variety of open source code written in this language

    47% 53%
    Java 330 out of 628 picked Python over Java Python
  60. The resources for learning this language are of high quality

    47% 53%
    Java 330 out of 625 picked Python over Java Python
  61. This language encourages writing reusable code.

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

    44% 56%
    Java 262 out of 473 picked Python over Java Python
  63. I enjoy playing with this language but would never use it for "real code"

    44% 56%
    Java 308 out of 556 picked Python over Java Python
  64. This language is good for numeric computing

    43% 57%
    Java 316 out of 563 picked Python over Java Python
  65. I can imagine using this language in my day job

    43% 57%
    Java 400 out of 707 picked Python over Java Python
  66. I regularly use this language

    42% 58%
    Java 421 out of 729 picked Python over Java Python
  67. Programs written in this language tend to play well with others

    40% 60%
    Java 340 out of 576 picked Python over Java Python
  68. This language has a wide variety of agreed-upon conventions, which are generally adhered to reasonably well, and which increase my productivity

    40% 60%
    Java 356 out of 601 picked Python over Java Python
  69. This language has a good library distribution mechanism.

    38% 62%
    Java 200 out of 326 picked Python over Java Python
  70. This language encourages writing code that is easy to maintain.

    37% 63%
    Java 218 out of 351 picked Python over Java Python
  71. I rarely have difficulty abstracting patterns I find in my code

    36% 64%
    Java 373 out of 591 picked Python over Java Python
  72. Learning this language significantly changed how I use other languages.

    36% 64%
    Java 244 out of 382 picked Python over Java Python
  73. This language has a very coherent design

    35% 65%
    Java 370 out of 578 picked Python over Java Python
  74. If this language didn't exist, I would have trouble finding a satisfactory replacement

    35% 65%
    Java 349 out of 542 picked Python over Java Python
  75. This language is likely to have a strong influence on future languages

    35% 65%
    Java 368 out of 570 picked Python over Java Python
  76. This language is good for scientific computing

    33% 67%
    Java 410 out of 619 picked Python over Java Python
  77. This language is easier to use for it's problem domain by removing unneeded expressiveness (such as not being Turing complete).

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

    33% 67%
    Java 395 out of 590 picked Python over Java Python
  79. This language has a good community

    32% 68%
    Java 419 out of 622 picked Python over Java Python
  80. This language has a niche in which it is great

    32% 68%
    Java 410 out of 607 picked Python over Java Python
  81. This language matches it's problem domain particularly well.

    32% 68%
    Java 216 out of 319 picked Python over Java Python
  82. Learning this language improved my ability as a programmer

    32% 68%
    Java 442 out of 652 picked Python over Java Python
  83. I often write things in this language with the intent of rewriting them in something else later

    31% 69%
    Java 315 out of 462 picked Python over Java Python
  84. This language is built on a small core of orthogonal features

    31% 69%
    Java 331 out of 480 picked Python over Java Python
  85. I usually use this language on solo projects

    29% 71%
    Java 455 out of 647 picked Python over Java Python
  86. I use this language out of choice

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

    27% 73%
    Java 229 out of 315 picked Python over Java Python
  88. I would recommend most programmers learn this language, regardless of whether they have a specific need for it

    26% 74%
    Java 283 out of 387 picked Python over Java Python
  89. I still discover new features of this language on a fairly regular basis

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

    26% 74%
    Java 504 out of 684 picked Python over Java Python
  91. It is easy to tell at a glance what code in this language does

    26% 74%
    Java 510 out of 691 picked Python over Java Python
  92. This language is minimal

    24% 76%
    Java 453 out of 599 picked Python over Java Python
  93. I enjoy using this language

    23% 77%
    Java 580 out of 755 picked Python over Java Python
  94. This language excels at symbolic manipulation

    22% 78%
    Java 423 out of 546 picked Python over Java Python
  95. This is a high level language

    22% 78%
    Java 558 out of 718 picked Python over Java Python
  96. This language is well suited for an agile development approach using short iterations.

    22% 78%
    Java 262 out of 336 picked Python over Java Python
  97. Code written in this language is very readable

    21% 79%
    Java 515 out of 656 picked Python over Java Python
  98. I would like to write more of this language than I currently do

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

    18% 82%
    Java 553 out of 680 picked Python over Java Python
  100. This language is very flexible

    17% 83%
    Java 540 out of 657 picked Python over Java Python
  101. I would use this language to write a command-line app

    17% 83%
    Java 550 out of 668 picked Python over Java Python
  102. This language is expressive

    17% 83%
    Java 556 out of 674 picked Python over Java Python
  103. This language has unusual features that I often miss when using other languages

    17% 83%
    Java 505 out of 609 picked Python over Java Python
  104. I find code written in this language very elegant

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

    16% 84%
    Java 567 out of 676 picked Python over Java Python
  106. Code written in this language tends to be terse

    15% 85%
    Java 546 out of 644 picked Python over Java Python
  107. This language excels at text processing

    13% 87%
    Java 546 out of 632 picked Python over Java Python
  108. This language is best for very small projects

    12% 88%
    Java 532 out of 610 picked Python over Java Python
  109. This language would be good for teaching children to write software

    12% 88%
    Java 332 out of 379 picked Python over Java Python
  110. I would use this language as a scripting language embedded inside a larger application

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

    8% 92%
    Java 606 out of 660 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.