programming languages

Rank

C vs Java

  1. This is a low level language

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

    89% 11%
    C 803 out of 901 picked C over Java Java
  3. This language is minimal

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

    87% 13%
    C 899 out of 1027 picked C over Java Java
  5. This language is suitable for real-time applications

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

    85% 15%
    C 937 out of 1102 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 932 out of 1101 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 likely to be around for a very long time

    75% 25%
    C 807 out of 1065 picked C over Java Java
  10. I use many applications written in this language

    75% 25%
    C 850 out of 1126 picked C over Java Java
  11. This language is built on a small core of orthogonal features

    75% 25%
    C 661 out of 876 picked C over Java Java
  12. This language is good for numeric computing

    74% 26%
    C 736 out of 993 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 681 out of 934 picked C over Java Java
  14. If this language didn't exist, I would have trouble finding a satisfactory replacement

    72% 28%
    C 718 out of 996 picked C over Java Java
  15. I often feel like I am not smart enough to write this language

    71% 29%
    C 419 out of 585 picked C over Java Java
  16. I learned this language early in my career as a programmer

    70% 30%
    C 547 out of 779 picked C over Java Java
  17. I would use this language to write a command-line app

    68% 32%
    C 803 out of 1169 picked C over Java Java
  18. I would recommend most programmers learn this language, regardless of whether they have a specific need for it

    68% 32%
    C 510 out of 743 picked C over Java Java
  19. Learning this language improved my ability as a programmer

    67% 33%
    C 781 out of 1150 picked C over Java Java
  20. This language is good for scientific computing

    67% 33%
    C 709 out of 1047 picked C over Java Java
  21. Code written in this language tends to be terse

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

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

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

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

    64% 36%
    C 713 out of 1104 picked C over Java Java
  26. Programs written in this language tend to play well with others

    64% 36%
    C 642 out of 1000 picked C over Java Java
  27. Writing code in this language is a lot of work

    62% 38%
    C 727 out of 1163 picked C over Java Java
  28. This language matches it's problem domain particularly well.

    61% 39%
    C 390 out of 633 picked C over Java Java
  29. This language is best for very small projects

    58% 42%
    C 601 out of 1024 picked C over Java Java
  30. This language has a high quality implementation

    57% 43%
    C 381 out of 659 picked C over Java Java
  31. It's unusual for me to discover unfamiliar features

    57% 43%
    C 563 out of 974 picked C over Java Java
  32. 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 280 out of 485 picked C over Java Java
  33. Learning this language significantly changed how I use other languages.

    57% 43%
    C 407 out of 709 picked C over Java Java
  34. This language has a niche outside of which I would not use it

    56% 44%
    C 586 out of 1030 picked C over Java Java
  35. I would like to write more of this language than I currently do

    56% 44%
    C 649 out of 1152 picked C over Java Java
  36. This language has a very coherent design

    54% 46%
    C 548 out of 1008 picked C over Java Java
  37. Programs written in this language will usually work in future versions of the language

    53% 47%
    C 541 out of 1007 picked C over Java Java
  38. I enjoy playing with this language but would never use it for "real code"

    52% 48%
    C 483 out of 926 picked C over Java Java
  39. There is a lot of accidental complexity when writing code in this language

    51% 49%
    C 566 out of 1091 picked C over Java Java
  40. This language is very flexible

    51% 49%
    C 573 out of 1111 picked C over Java Java
  41. I can imagine this will be a popular language in twenty years time

    51% 49%
    C 535 out of 1040 picked C over Java Java
  42. I find code written in this language very elegant

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

    50% 50%
    C 325 out of 643 picked C over Java Java
  44. I enjoy using this language

    50% 50%
    C 597 out of 1185 picked C over Java Java
  45. I use this language out of choice

    49% 51%
    C 530 out of 1049 picked Java over C Java
  46. This language is likely to have a strong influence on future languages

    48% 52%
    C 531 out of 1040 picked Java over C Java
  47. I usually use this language on solo projects

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

    47% 53%
    C 419 out of 797 picked Java over C Java
  49. This language is easier to use for it's problem domain by removing unneeded expressiveness (such as not being Turing complete).

    46% 54%
    C 188 out of 350 picked Java over C Java
  50. I know this language well

    46% 54%
    C 5343 out of 9933 picked Java over C Java
  51. I often get angry when writing code in this language

    46% 54%
    C 337 out of 626 picked Java over C Java
  52. This language has unusual features that I often miss when using other languages

    45% 55%
    C 569 out of 1042 picked Java over C Java
  53. There are many good open-source tools for this language

    45% 55%
    C 578 out of 1057 picked Java over C Java
  54. I would list this language on my resume

    44% 56%
    C 590 out of 1054 picked Java over C Java
  55. This language is frequently used for applications it isn't suitable for

    42% 58%
    C 544 out of 952 picked Java over C Java
  56. I regularly use this language

    41% 59%
    C 719 out of 1237 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 624 out of 1059 picked Java over C Java
  58. I would use this language for casual scripting

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

    39% 61%
    C 640 out of 1053 picked Java over C Java
  60. This language has an annoying syntax

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

    38% 62%
    C 730 out of 1186 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 616 out of 981 picked Java over C Java
  63. I am reluctant to admit to knowing this language

    35% 65%
    C 552 out of 860 picked Java over C Java
  64. This language has a good community

    35% 65%
    C 663 out of 1032 picked Java over C Java
  65. I am sometimes embarrassed to admit to my peers that I know this language

    35% 65%
    C 560 out of 866 picked Java over C Java
  66. This language has a very dogmatic community

    35% 65%
    C 611 out of 942 picked Java over C Java
  67. This language would be good for teaching children to write software

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

    33% 67%
    C 526 out of 795 picked Java over C Java
  69. Third-party libraries are readily available, well-documented, and of high quality

    33% 67%
    C 700 out of 1053 picked Java over C Java
  70. I still discover new features of this language on a fairly regular basis

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

    32% 68%
    C 716 out of 1063 picked Java over C Java
  72. I would use this language as a scripting language embedded inside a larger application

    32% 68%
    C 682 out of 1011 picked Java over C Java
  73. This language is expressive

    32% 68%
    C 756 out of 1117 picked Java over C Java
  74. This language is good for beginners

    32% 68%
    C 793 out of 1171 picked Java over C Java
  75. This is a mainstream language

    32% 68%
    C 498 out of 735 picked Java over C Java
  76. It is easy to tell at a glance what code in this language does

    32% 68%
    C 772 out of 1138 picked Java over C Java
  77. Code written in this language tends to be very reliable

    32% 68%
    C 720 out of 1059 picked Java over C Java
  78. This language has a wide variety of agreed-upon conventions, which are generally adhered to reasonably well, and which increase my productivity

    31% 69%
    C 664 out of 975 picked Java over C Java
  79. I would use this language for writing server programs

    31% 69%
    C 747 out of 1095 picked Java over C Java
  80. I would use this language for mobile applications

    31% 69%
    C 759 out of 1108 picked Java over C Java
  81. This language excels at symbolic manipulation

    31% 69%
    C 635 out of 922 picked Java over C Java
  82. I rarely have difficulty abstracting patterns I find in my code

    31% 69%
    C 703 out of 1019 picked Java over C Java
  83. I find this language easy to prototype in

    30% 70%
    C 771 out of 1110 picked Java over C Java
  84. I usually use this language on projects with many other members

    30% 70%
    C 725 out of 1038 picked Java over C Java
  85. This language is good for distributed computing

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

    29% 71%
    C 779 out of 1099 picked Java over C Java
  87. Code written in this language is very readable

    28% 72%
    C 771 out of 1082 picked Java over C Java
  88. There are many good tools for this language

    28% 72%
    C 742 out of 1038 picked Java over C Java
  89. This language has a strong static type system

    28% 72%
    C 815 out of 1139 picked Java over C Java
  90. I know many other people who use this language

    28% 72%
    C 790 out of 1101 picked Java over C Java
  91. This language excels at text processing

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

    27% 73%
    C 738 out of 1019 picked Java over C Java
  93. This language has well-organized libraries with consistent, carefully thought-out interfaces

    25% 75%
    C 715 out of 957 picked Java over C Java
  94. Code written in this language tends to be verbose

    25% 75%
    C 867 out of 1159 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.

    25% 75%
    C 468 out of 625 picked Java over C Java
  96. This language excels at concurrency

    24% 76%
    C 774 out of 1022 picked Java over C Java
  97. It is easy to debug programs written in this language when it goes wrong

    23% 77%
    C 820 out of 1076 picked Java over C Java
  98. This language is likely to be a passing fad

    23% 77%
    C 651 out of 852 picked Java over C Java
  99. This language is well suited for an agile development approach using short iterations.

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

    23% 77%
    C 830 out of 1082 picked Java over C Java
  101. This language encourages writing code that is easy to maintain.

    22% 78%
    C 536 out of 695 picked Java over C Java
  102. Libraries in this language tend to be well documented.

    22% 78%
    C 515 out of 661 picked Java over C Java
  103. I would use this language for a desktop GUI project

    21% 79%
    C 917 out of 1169 picked Java over C Java
  104. This language has many features which feel "tacked on"

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

    21% 79%
    C 494 out of 626 picked Java over C Java
  106. This language is best for very large projects

    20% 80%
    C 858 out of 1082 picked Java over C Java
  107. If my code in this language successfully compiles, there is a good chance my code is correct.

    20% 80%
    C 523 out of 658 picked Java over C Java
  108. This language encourages writing reusable code.

    20% 80%
    C 560 out of 701 picked Java over C Java
  109. I would use this language for a web project

    14% 86%
    C 980 out of 1150 picked Java over C Java
  110. This language is large

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

    6% 94%
    C 1101 out of 1182 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.