Need advice about which tool to choose?Ask the StackShare community!

C

5K
3.3K
+ 1
228
Java

74.7K
53.4K
+ 1
3.5K
Add tool

C vs Java: What are the differences?

Developers describe C as "One of the most widely used programming languages of all time". . On the other hand, Java is detailed as "A concurrent, class-based, object-oriented, language specifically designed to have as few implementation dependencies as possible". Java is a programming language and computing platform first released by Sun Microsystems in 1995. There are lots of applications and websites that will not work unless you have Java installed, and more are created every day. Java is fast, secure, and reliable. From laptops to datacenters, game consoles to scientific supercomputers, cell phones to the Internet, Java is everywhere!.

C and Java belong to "Languages" category of the tech stack.

"Performance" is the top reason why over 52 developers like C, while over 526 developers mention "Great libraries" as the leading cause for choosing Java.

According to the StackShare community, Java has a broader approval, being mentioned in 2399 company stacks & 2723 developers stacks; compared to C, which is listed in 64 company stacks and 251 developer stacks.

Decisions about C and Java

Python has become the most popular language for machine learning right now since almost all machine learning tools provide service for this language, and it is really to use since it has many build-in objects like Hashtable. In C, you need to implement everything by yourself.

C++ is one of the most popular programming languages in graphics. It has many fancy libraries like eigen to help us process matrix. I have many previous projects about graphics based on C++ and this time, we also need to deal with graphics since we need to analyze movements of the human body. C++ has much more advantages than Java. C++ uses only compiler, whereas Java uses compiler and interpreter in both. C++ supports both operator overloading and method overloading whereas Java only supports method overloading. C++ supports manual object management with the help of new and delete keywords whereas Java has built-in automatic garbage collection.

See more
Xi Huang
Developer at University of Toronto | 11 upvotes 路 72.5K views

We changed to Python instead of Java to have the back-end processing in the same language as our data analysis module. In addition, Python has a lot of libraries for data-processing. We intend to use Flask for our back-end web development. Flask is a simple, straight-forward framework for our purposes. Flask also has a large community which is beneficial to the development process.

See more
Noel Broda
Founder, CEO, CTO at NoFilter | 5 upvotes 路 61.9K views

1 code deploys for both: Android and iOS. There is a huge community behind React Native. And one of the best things is Expo. Expo uses React Native to make everything even more and more simple. Awesome technologies. Some other important thing is that while using React Native, you are reusing all JavaScript knowledge you have in your team. You easily can move a frontend dev to develop mobile applications.

See more
Pros of C
Pros of Java
  • 62
    Performance
  • 45
    Low-level
  • 33
    Portability
  • 28
    Hardware level
  • 18
    Embedded apps
  • 12
    Pure
  • 9
    Performance of assembler
  • 7
    Ubiquity
  • 4
    Old
  • 4
    Great for embedded
  • 2
    No garbage collection to slow it down
  • 2
    Compiles quickly
  • 2
    OpenMP
  • 572
    Great libraries
  • 433
    Widely used
  • 396
    Excellent tooling
  • 378
    Huge amount of documentation available
  • 328
    Large pool of developers available
  • 197
    Open source
  • 192
    Excellent performance
  • 150
    Great development
  • 143
    Used for android
  • 142
    Vast array of 3rd party libraries
  • 54
    Compiled Language
  • 46
    Used for Web
  • 42
    Managed memory
  • 42
    Native threads
  • 40
    High Performance
  • 35
    Statically typed
  • 31
    Easy to read
  • 29
    Great Community
  • 25
    Reliable platform
  • 23
    JVM compatibility
  • 22
    Sturdy garbage collection
  • 19
    Cross Platform Enterprise Integration
  • 18
    Universal platform
  • 16
    Great Support
  • 16
    Good amount of APIs
  • 11
    Lots of boilerplate
  • 10
    Great ecosystem
  • 10
    Backward compatible
  • 9
    Everywhere
  • 7
    Excellent SDK - JDK
  • 6
    Mature language thus stable systems
  • 5
    Better than Ruby
  • 5
    Portability
  • 5
    Cross-platform
  • 5
    Static typing
  • 5
    Clojure
  • 5
    It's Java
  • 4
    Old tech
  • 4
    Vast Collections Library
  • 3
    Most developers favorite
  • 3
    Stable platform, which many new languages depend on
  • 3
    Long term language
  • 3
    Great Structure
  • 3
    Best martial for design
  • 3
    Used for Android development
  • 2
    Testable
  • 1
    Javadoc

Sign up to add or upvote prosMake informed product decisions

Cons of C
Cons of Java
  • 5
    Low-level
  • 3
    No built in support for concurrency
  • 2
    Lack of type safety
  • 2
    No built in support for parallelism (e.g. map-reduce)
  • 29
    Verbosity
  • 23
    NullpointerException
  • 15
    Overcomplexity is praised in community culture
  • 13
    Nightmare to Write
  • 10
    Boiler plate code
  • 8
    Classpath hell prior to Java 9
  • 6
    No REPL
  • 4
    No property
  • 2
    Code are too long
  • 2
    There is not optional parameter
  • 2
    Floating-point errors
  • 1
    Terrbible compared to Python/Batch Perormence
  • 1
    Java's too statically, stronglly, and strictly typed
  • 1
    Non-intuitive generic implementation
  • 1
    Returning Wildcard Types

Sign up to add or upvote consMake informed product decisions

What is C?

What is Java?

Java is a programming language and computing platform first released by Sun Microsystems in 1995. There are lots of applications and websites that will not work unless you have Java installed, and more are created every day. Java is fast, secure, and reliable. From laptops to datacenters, game consoles to scientific supercomputers, cell phones to the Internet, Java is everywhere!

Need advice about which tool to choose?Ask the StackShare community!

What companies use C?
What companies use Java?

Sign up to get full access to all the companiesMake informed product decisions

What tools integrate with C?
What tools integrate with Java?

Sign up to get full access to all the tool integrationsMake informed product decisions

Blog Posts

Dec 22 2020 at 9:26PM
https://img.stackshare.io/company/260/c077fc04bb219001b7a1ab10f90ebcdb00c143a9.png logo

Pinterest

Amazon EC2MemcachedC+4
8
2025
Oct 24 2019 at 7:43PM
https://img.stackshare.io/stack/513891/default_86b138c409d64e353c3d509121b4ac1dd9cf31c4.png logo

AppSignal

JavaScriptNode.jsJava+8
5
662
Aug 28 2019 at 3:10AM
https://img.stackshare.io/stack/505487/default_e35b8bd5e615e01dc9b420dbd2a444fcbaeff755.png logo

Segment

PythonJavaAmazon S3+16
5
1896
Jul 16 2019 at 9:19PM
https://img.stackshare.io/stack/375837/default_c7e89deb2e33784df099a175e9a1da103b97a872.png logo

Bugsnag

JavaAndroid SDKBugsnag+3
3
223
GitHubPythonNode.js+47
43
67763
What are some alternatives to C and Java?
Python
Python is a general purpose programming language created by Guido Van Rossum. Python is most praised for its elegant syntax and readable code, if you are just beginning your programming career python suits you best.
C#
C# (pronounced "See Sharp") is a simple, modern, object-oriented, and type-safe programming language. C# has its roots in the C family of languages and will be immediately familiar to C, C++, Java, and JavaScript programmers.
Objective-C
Objective-C is a superset of the C programming language and provides object-oriented capabilities and a dynamic runtime. Objective-C inherits the syntax, primitive types, and flow control statements of C and adds syntax for defining classes and methods. It also adds language-level support for object graph management and object literals while providing dynamic typing and binding, deferring many responsibilities until runtime.
Rust
Rust is a systems programming language that combines strong compile-time correctness guarantees with fast performance. It improves upon the ideas of other systems languages like C++ by providing guaranteed memory safety (no crashes, no data races) and complete control over the lifecycle of memory.
JavaScript
JavaScript is most known as the scripting language for Web pages, but used in many non-browser environments as well such as node.js or Apache CouchDB. It is a prototype-based, multi-paradigm scripting language that is dynamic,and supports object-oriented, imperative, and functional programming styles.
See all alternatives
Interest over time
News about C
More news