programming languages

Rank

C vs Java

  1. This is a low level language

    94% 6%
    C 906 out of 963 picked C over Java Java
  2. This language makes it easy to shoot yourself in the foot

    89% 11%
    C 610 out of 684 picked C over Java Java
  3. This language is minimal

    87% 13%
    C 726 out of 830 picked C over Java Java
  4. I would use this language for writing programs for an embedded hardware platform

    86% 14%
    C 714 out of 821 picked C over Java Java
  5. This language is suitable for real-time applications

    85% 15%
    C 673 out of 784 picked C over Java Java
  6. Programs written in this language tend to be efficient

    84% 16%
    C 761 out of 898 picked C over Java Java
  7. This language allows me to write programs where I know exactly what they are doing under the hood

    84% 16%
    C 758 out of 900 picked C over Java Java
  8. I would use this language for writing embedded programs

    81% 19%
    C 122 out of 150 picked C over Java Java
  9. This language is built on a small core of orthogonal features

    76% 24%
    C 537 out of 702 picked C over Java Java
  10. I use many applications written in this language

    75% 25%
    C 692 out of 911 picked C over Java Java
  11. This language is likely to be around for a very long time

    74% 26%
    C 624 out of 838 picked C over Java Java
  12. This language is good for numeric computing

    74% 26%
    C 588 out of 791 picked C over Java Java
  13. It is too easy to write code in this language that looks like it does one thing but actually does something else

    72% 28%
    C 542 out of 749 picked C over Java Java
  14. I learned this language early in my career as a programmer

    71% 29%
    C 381 out of 534 picked C over Java Java
  15. If this language didn't exist, I would have trouble finding a satisfactory replacement

    70% 30%
    C 552 out of 778 picked C over Java Java
  16. I often feel like I am not smart enough to write this language

    69% 31%
    C 266 out of 384 picked C over Java Java
  17. I would recommend most programmers learn this language, regardless of whether they have a specific need for it

    68% 32%
    C 339 out of 496 picked C over Java Java
  18. This language is good for scientific computing

    68% 32%
    C 580 out of 849 picked C over Java Java
  19. I would use this language to write a command-line app

    68% 32%
    C 654 out of 960 picked C over Java Java
  20. Code written in this language tends to be terse

    67% 33%
    C 595 out of 879 picked C over Java Java
  21. Learning this language improved my ability as a programmer

    67% 33%
    C 621 out of 923 picked C over Java Java
  22. I find it easy to write efficient code in this language

    66% 34%
    C 618 out of 933 picked C over Java Java
  23. This language is unusually bad for beginners

    65% 35%
    C 622 out of 947 picked C over Java Java
  24. This language has a niche in which it is great

    64% 36%
    C 542 out of 844 picked C over Java Java
  25. There is a wide variety of open source code written in this language

    63% 37%
    C 581 out of 908 picked C over Java Java
  26. Programs written in this language tend to play well with others

    63% 37%
    C 520 out of 822 picked C over Java Java
  27. Writing code in this language is a lot of work

    63% 37%
    C 615 out of 974 picked C over Java Java
  28. This language matches it's problem domain particularly well.

    60% 40%
    C 255 out of 422 picked C over Java Java
  29. It's unusual for me to discover unfamiliar features

    58% 42%
    C 472 out of 809 picked C over Java Java
  30. This language has a niche outside of which I would not use it

    58% 42%
    C 493 out of 849 picked C over Java Java
  31. I use a lot of code written in this language which I really don't want to have to make changes to

    57% 43%
    C 176 out of 305 picked C over Java Java
  32. This language is best for very small projects

    57% 43%
    C 483 out of 843 picked C over Java Java
  33. Learning this language significantly changed how I use other languages.

    56% 44%
    C 273 out of 482 picked C over Java Java
  34. This language has a high quality implementation

    56% 44%
    C 255 out of 452 picked C over Java Java
  35. This language has a very coherent design

    55% 45%
    C 447 out of 811 picked C over Java Java
  36. I would like to write more of this language than I currently do

    54% 46%
    C 504 out of 925 picked C over Java Java
  37. There is a lot of accidental complexity when writing code in this language

    52% 48%
    C 472 out of 900 picked C over Java Java
  38. I enjoy playing with this language but would never use it for "real code"

    52% 48%
    C 397 out of 760 picked C over Java Java
  39. Programs written in this language will usually work in future versions of the language

    51% 49%
    C 430 out of 827 picked C over Java Java
  40. I can imagine this will be a popular language in twenty years time

    51% 49%
    C 411 out of 805 picked C over Java Java
  41. This language is very flexible

    50% 50%
    C 462 out of 913 picked C over Java Java
  42. I enjoy using this language

    50% 50%
    C 484 out of 965 picked C over Java Java
  43. The semantics of this language are much different than other languages I know.

    50% 50%
    C 220 out of 439 picked C over Java Java
  44. I find code written in this language very elegant

    49% 51%
    C 470 out of 938 picked Java over C Java
  45. I use this language out of choice

    48% 52%
    C 420 out of 821 picked Java over C Java
  46. Developers who primarily use this language often burn out after a few years

    47% 53%
    C 337 out of 643 picked Java over C Java
  47. I usually use this language on solo projects

    47% 53%
    C 482 out of 911 picked Java over C Java
  48. This language is likely to have a strong influence on future languages

    46% 54%
    C 437 out of 822 picked Java over C Java
  49. I know this language well

    45% 55%
    C 4087 out of 7552 picked Java over C Java
  50. This language is frequently used for applications it isn't suitable for

    44% 56%
    C 416 out of 746 picked Java over C Java
  51. This language is easier to use for it's problem domain by removing unneeded expressiveness (such as not being Turing complete).

    44% 56%
    C 143 out of 256 picked Java over C Java
  52. This language has unusual features that I often miss when using other languages

    44% 56%
    C 462 out of 827 picked Java over C Java
  53. There are many good open-source tools for this language

    44% 56%
    C 481 out of 859 picked Java over C Java
  54. I would list this language on my resume

    43% 57%
    C 469 out of 831 picked Java over C Java
  55. I often get angry when writing code in this language

    43% 57%
    C 225 out of 398 picked Java over C Java
  56. I regularly use this language

    41% 59%
    C 590 out of 1009 picked Java over C Java
  57. The thought that I may still be using this language in twenty years time fills me with dread

    41% 59%
    C 487 out of 829 picked Java over C Java
  58. This language has an annoying syntax

    39% 61%
    C 285 out of 471 picked Java over C Java
  59. The resources for learning this language are of high quality

    38% 62%
    C 523 out of 854 picked Java over C Java
  60. I would use this language for casual scripting

    38% 62%
    C 552 out of 898 picked Java over C Java
  61. I can imagine using this language in my day job

    37% 63%
    C 608 out of 975 picked Java over C Java
  62. When I run into problems my colleagues can provide me with immediate help with this language

    37% 63%
    C 501 out of 803 picked Java over C Java
  63. I am reluctant to admit to knowing this language

    37% 63%
    C 431 out of 687 picked Java over C Java
  64. I am sometimes embarrassed to admit to my peers that I know this language

    36% 64%
    C 447 out of 702 picked Java over C Java
  65. This language has a good community

    35% 65%
    C 545 out of 840 picked Java over C Java
  66. Third-party libraries are readily available, well-documented, and of high quality

    34% 66%
    C 569 out of 872 picked Java over C Java
  67. This language has a very dogmatic community

    34% 66%
    C 504 out of 771 picked Java over C Java
  68. I often write things in this language with the intent of rewriting them in something else later

    34% 66%
    C 419 out of 640 picked Java over C Java
  69. This language would be good for teaching children to write software

    34% 66%
    C 313 out of 477 picked Java over C Java
  70. I would use this language for mobile applications

    33% 67%
    C 602 out of 910 picked Java over C Java
  71. This language is well documented

    33% 67%
    C 570 out of 860 picked Java over C Java
  72. This language has a wide variety of agreed-upon conventions, which are generally adhered to reasonably well, and which increase my productivity

    32% 68%
    C 548 out of 812 picked Java over C Java
  73. I still discover new features of this language on a fairly regular basis

    32% 68%
    C 513 out of 759 picked Java over C Java
  74. This is a mainstream language

    32% 68%
    C 330 out of 486 picked Java over C Java
  75. This language is expressive

    31% 69%
    C 626 out of 918 picked Java over C Java
  76. I rarely have difficulty abstracting patterns I find in my code

    31% 69%
    C 568 out of 830 picked Java over C Java
  77. I would use this language for writing server programs

    31% 69%
    C 605 out of 883 picked Java over C Java
  78. I would use this language as a scripting language embedded inside a larger application

    31% 69%
    C 566 out of 826 picked Java over C Java
  79. This language is good for beginners

    30% 70%
    C 644 out of 933 picked Java over C Java
  80. Code written in this language tends to be very reliable

    30% 70%
    C 595 out of 861 picked Java over C Java
  81. It is easy to tell at a glance what code in this language does

    30% 70%
    C 644 out of 925 picked Java over C Java
  82. I usually use this language on projects with many other members

    30% 70%
    C 590 out of 847 picked Java over C Java
  83. This language excels at symbolic manipulation

    30% 70%
    C 534 out of 766 picked Java over C Java
  84. I find this language easy to prototype in

    30% 70%
    C 633 out of 906 picked Java over C Java
  85. I know many other people who use this language

    29% 71%
    C 641 out of 903 picked Java over C Java
  86. This language has a very rigid idea of how things should be done

    28% 72%
    C 639 out of 896 picked Java over C Java
  87. This language is good for distributed computing

    28% 72%
    C 573 out of 802 picked Java over C Java
  88. Code written in this language is very readable

    28% 72%
    C 628 out of 876 picked Java over C Java
  89. This language excels at text processing

    28% 72%
    C 607 out of 844 picked Java over C Java
  90. This language has a strong static type system

    27% 73%
    C 668 out of 927 picked Java over C Java
  91. There are many good tools for this language

    27% 73%
    C 614 out of 851 picked Java over C Java
  92. There are many good commercial tools for this language

    27% 73%
    C 605 out of 836 picked Java over C Java
  93. Code written in this language tends to be verbose

    25% 75%
    C 703 out of 943 picked Java over C Java
  94. This language has well-organized libraries with consistent, carefully thought-out interfaces

    24% 76%
    C 580 out of 771 picked Java over C Java
  95. Code written in this language will usually run in all the major implementations if it runs in one of them.

    24% 76%
    C 325 out of 429 picked Java over C Java
  96. This language is likely to be a passing fad

    23% 77%
    C 523 out of 688 picked Java over C Java
  97. This language encourages writing code that is easy to maintain.

    23% 77%
    C 363 out of 476 picked Java over C Java
  98. When I write code in this language I can be very sure it is correct

    23% 77%
    C 665 out of 872 picked Java over C Java
  99. It is easy to debug programs written in this language when it goes wrong

    23% 77%
    C 662 out of 867 picked Java over C Java
  100. This language excels at concurrency

    23% 77%
    C 642 out of 837 picked Java over C Java
  101. Libraries in this language tend to be well documented.

    22% 78%
    C 345 out of 447 picked Java over C Java
  102. I would use this language for a desktop GUI project

    21% 79%
    C 738 out of 944 picked Java over C Java
  103. This language has many features which feel "tacked on"

    21% 79%
    C 601 out of 766 picked Java over C Java
  104. This language is well suited for an agile development approach using short iterations.

    21% 79%
    C 360 out of 458 picked Java over C Java
  105. This language has a good library distribution mechanism.

    21% 79%
    C 318 out of 403 picked Java over C Java
  106. If my code in this language successfully compiles, there is a good chance my code is correct.

    21% 79%
    C 353 out of 447 picked Java over C Java
  107. This language is best for very large projects

    21% 79%
    C 680 out of 861 picked Java over C Java
  108. This language encourages writing reusable code.

    18% 82%
    C 383 out of 471 picked Java over C Java
  109. I would use this language for a web project

    14% 86%
    C 803 out of 938 picked Java over C Java
  110. This language is large

    13% 87%
    C 691 out of 798 picked Java over C Java
  111. This is a high level language

    7% 93%
    C 899 out of 969 picked Java over C Java

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 C and Java 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.