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

.NET

6K
4.8K
+ 1
1.8K
Java

106.3K
81.4K
+ 1
3.7K
Add tool

.NET vs Java: What are the differences?

Developers describe .NET as "A free, cross-platform, open source developer platform for building many different types of applications". .NET is a general purpose development platform. With .NET, you can use multiple languages, editors, and libraries to build native applications for web, mobile, desktop, gaming, and IoT for Windows, macOS, Linux, Android, and more. 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!.

.NET can be classified as a tool in the "Frameworks (Full Stack)" category, while Java is grouped under "Languages".

"Tight integration with visual studio", "Stable code" and "Great community" are the key factors why developers consider .NET; whereas "Great libraries", "Widely used" and "Excellent tooling" are the primary reasons why Java is favored.

.NET is an open source tool with 11K GitHub stars and 2.37K GitHub forks. Here's a link to .NET's open source repository on GitHub.

Slack, Lyft, and MIT are some of the popular companies that use Java, whereas .NET is used by Stack Exchange, Starbucks, and Docplanner. Java has a broader approval, being mentioned in 2378 company stacks & 2632 developers stacks; compared to .NET, which is listed in 1561 company stacks and 231 developer stacks.

Advice on .NET and Java
Kamal Makroum
Needs advice
on
JavaJavaPythonPython
and
ReactReact

Hi everyone.

I am willing to build a used car sales platform, which will have a lot of stock/photos and will rely a lot on the back end functions and data generating. Java seems to be a good choice, but what other options can I consider that can also be easily scalable as well as a little faster to write?

Thank you

See more
Replies (2)
Ruslan Rayanov
Recommends

Hi, Kamal! I don't know if your question is still relevant. But I would like to introduce you to our solution, perhaps it will be useful for future projects. We have developed a web application constructor that can be used to create almost any website or application https://falconspace.site/. The entire development stack is reduced to SQL only. The platform is easy to configure and make subsequent changes if necessary.

See more
Recommends

Firstly, you must know that java and python are both amazing languages. But I recommend python mainly because of the variety of modules and packages available to do almost anything. If you are planning on adding graphs, you can use the matplotlib library and to add photos, use the pillow module. And just note that both of these aren't available by default, so you need to install them through pip.

See more
Needs advice
on
JavaJavaLuaLua
and
PythonPython

I am trying to make Roblox game which requires Lua. I quite don't want to go with Lua just because other tools just might let me do more projects later on. I heard that Python is most similar to Lua, but I am still not sure which tool to use. Java, I think it will help me with many stuff later on for websites, projects, and more!

See more
Replies (2)
Rafey Iqbal Rahman
Recommends
LuaLua
at

Since you are trying to make a Roblox game, you have no other option than to use Lua, since Roblox only allows coding in Lua. Yes, you've heard right, Python is identical and as easy as Lua, although Lua is easier than Python. Beginning from Lua and then escalating to Python is recommended. Java is only helpful when you are creating a heavy, big-budget, enterprise-level product, otherwise, Python would suffice.

See more
Recommends
TypeScriptTypeScript

If you really hate lua check out roblox-ts, a tool that compiles typescript code into roblox lua. https://github.com/roblox-ts/roblox-ts

See more
Needs advice
on
JavaJavaPHPPHP
and
PythonPython

Hi everyone, I have just started to study web development, so I'm very new in this field. I would like to ask you which tools are most updated and good to use for getting a job in medium-big company. Front-end is basically not changing by time so much (as I understood by researching some info), so my question is about back-end tools. Which backend tools are most updated and requested by medium-big companies (I am searching for immediate job possibly)?

Thank you in advance Davit

See more
Replies (4)
Pierrick Martos
Engineering Manager at Akeneo · | 20 upvotes · 196.4K views
Recommends
PythonPython

Go with Python definetly. It's used everywhere by web developers for backend developments : API, website backend, workers... but also by data scientists (lot lot of resources, models and libraries in Python it's language #1). For the web parts, best web framework are in Python : https://stackshare.io/microframeworks (Flask #2 and Django #3). Java is good but trend is not great in terms of popularity amongs developers and tech leaders.

See more
Vijayakumar Rajagopal
Recommends
JavaJava

As per my experience java is most wanted for web development as of now. micro service is evolving . with frameworks like spring boot supports rapid development. Spring boot + Docker + kubernetes great combination.

See more
sharik zama
Software engineering Intern at EPAM Systems · | 5 upvotes · 195.6K views
Recommends
JavaScriptJavaScript

I would recommend learning HTML, CSS, and JavaScript (most important). JavaScript forms the backbone of web development. And, there are many popular and widely used frameworks like Angular and React that heavily rely on the knowledge of JavaScript. The number of job opportunities are much more when it comes to javascript.

See more
Chathuranga Bandara
Recommends
PythonPython

I would recommend Python as the programming language and as you are a new developer, Flask to start with. It gives you a solid understanding on the web patterns such as REST and will get you up and running in no time. However, I suggest you to read and study on front-end technologies like (React or Vue) and databases (SQL and NoSQL) and probably some NodeJS as well. First grasp the concepts (which Python is ideal for) then it does not really matter the language as such.

See more
Decisions about .NET and Java
Noel Broda
Founder, CEO, CTO at NoFilter · | 5 upvotes · 159.7K 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 can move easily a frontend dev to develop mobile applications.

A huge PRO of Expo, is that it includes a full building process. You run 1 line in the terminal, and 10 minutes after you have 2 builds done. Double check EAS Expo.

See more
Ing. Alvaro Rodríguez Scelza
Software Systems Engineer at Ripio · | 9 upvotes · 331.9K views

Decided to change all my stack to microsoft technologies for they behave just great together. It is very easy to set up and deploy projects using visual studio and azure. Visual studio is also an amazing IDE, if not the best, when used for C#, it allows you to work in every aspect of your software.

Visual studio templates for ASP.NET MVC are the best I've found compared to django, rails, laravel, and others.

See more
Erik Ralston
Chief Architect at LiveTiles · | 14 upvotes · 369.2K views

C# and .Net were obvious choices for us at LiveTiles given our investment in the Microsoft ecosystem. It enabled us to harness of the .Net framework to build ASP.Net MVC, WebAPI, and Serverless applications very easily. Coupled with the high productivity of Visual Studio, it's the native tongue of Microsoft technology.

See more
Brent Maxwell

Node.js has been growing in popularity, and the ability to access the global pool of Javascript developers is great. There is a decreased amount of effort for people to work across the frontend and backend, and the language itself is easy and works well for many common use cases.

Go was the other serious candidate, but it just hasn't been implemented in as many Production systems yet, and the best Go engineers I've known have been hackers, whereas we're building a robust analytics platform that requires more caution. Type safety is easily added with TypeScript, and NPM is awesomely handy.

See more
Chose
GolangGolang
over
JavaJava

When developing a new blockchain, we as a team chose Go lang over Java and other candidates, due to Go being (a) natively suited to concurrency - there are primitives in the language itself (goroutines, channels) that really help with reasoning about concurrency (b) super fast - build time, running, testing are all much faster that Java, this gives a far superior developer experience (c) shorter and stricter than Java - code is much shorter (less verbose), and there is usually one good way to do things, and even the code formatter that is bundled with Go is very opinionated - over a short time this makes reading other people's code far smoother than having to deal with different styles.

You should be aware that Go presently (v1.13) lacks Generics.

See more
Alaeddin Alzeybek
Head of Mobile & Data Science at Volt Lines · | 1 upvote · 143.8K views

From cross platform development point of view: Using kotlin multiplatform is more convenient than java for implementing cross platform code, since it can be converted to be used in iOS (swift) projects, and it can be easily learned if you already know swift. It still an experimental feature but it helped so far to unify a lot of the common code between our iOS and Android projects. And it is more future proof than java regarding support and maintain multiplatform converting.

See more

We needed to incorporate Big Data Framework for data stream analysis, specifically Apache Spark / Apache Storm. The three options of languages were most suitable for the job - Python, Java, Scala.

The winner was Python for the top of the class, high-performance data analysis libraries (NumPy, Pandas) written in C, quick learning curve, quick prototyping allowance, and a great connection with other future tools for machine learning as Tensorflow.

The whole code was shorter & more readable which made it easier to develop and maintain.

See more
Kyle Harrison
Web Application Developer at Fortinet · | 2 upvotes · 71.8K views

The decision behind choosing a server side technology is never an easy one. Every single language has it's pro's and con's around each.

For me, this decision came down to a couple simple points: 1. Node is a web tech first class citizen, designed around handling web events, in a web technology world 2. Asynchronous

The thing about Python and Java is that they TOO can handle these, and handle these very well. Java for instance powers most of Twitter and Netflix's architecture. Where Python is what's behind giants like Instagram and Patreon. Certainly, you can't go wrong. Heck, Ruby powered GitHub and GitLab, and those things see HUGE traffic.

But this project is a web technology first. And node feels right at home as it itself is a web technology. This decision was more about homogeneous synergy than most anything else. I need it to be screaming fast, asynchronous, and play extremely well with web standards.

Node fits the bill on every front.

See more
Nick Parsons
Building cool things on the internet 🛠️ at Stream · | 11 upvotes · 97.4K views

I work at Stream and I'm immensely proud of what our team is working on here at the company. Most recently, we announced our Android SDK accompanied by an extensive tutorial for Java and Kotlin. The tutorial covers just about everything you need to know when it comes to using our Android SDK for Stream Chat. The Android SDK touches many features offered by Stream Chat – more specifically, typing status, read state, file uploads, threads, reactions, editing messages, and commands. Head over to https://getstream.io/tutorials/android-chat/ and give it a whirl!

See more
Get Advice from developers at your company using StackShare Enterprise. Sign up for StackShare Enterprise.
Learn More
Pros of .NET
Pros of Java
  • 268
    Tight integration with visual studio
  • 257
    Stable code
  • 185
    Great community
  • 178
    Reliable and strongly typed server side language.
  • 139
    Microsoft
  • 116
    Fantastic documentation
  • 87
    Great 3rd party libraries
  • 77
    Speedy
  • 69
    Great azure integration
  • 61
    Great support
  • 31
    Linq
  • 30
    Highly productive
  • 30
    C#
  • 28
    High Performance
  • 26
    Great programming languages (C#, VB)
  • 23
    Open source
  • 18
    Powerful Web application framework (ASP.NET MVC)
  • 14
    Clean markup with razor
  • 14
    Fast
  • 14
    Powerful ORM (EntityFramework)
  • 11
    Dependency injection
  • 9
    Visual studio + Resharper = <3
  • 9
    Constantly improving to keep up with new trends
  • 7
    High-Performance
  • 7
    TFS
  • 7
    Security
  • 6
    Job opportunities
  • 6
    Huge ecosystem and communities
  • 6
    Integrated and Reliable
  • 5
    Lovely
  • 5
    Light-weight
  • 4
    Asynchrony
  • 4
    {get; set;}
  • 4
    Variations
  • 3
    Entity framework
  • 3
    Default Debuging tools
  • 3
    Scaffolding
  • 3
    Support and SImplicity
  • 3
    Concurrent
  • 3
    Useful IoC
  • 2
    Blazor
  • 1
    F♯
  • 1
    Nuget package manager
  • 1
    F#
  • 589
    Great libraries
  • 442
    Widely used
  • 400
    Excellent tooling
  • 388
    Huge amount of documentation available
  • 332
    Large pool of developers available
  • 204
    Open source
  • 200
    Excellent performance
  • 155
    Great development
  • 149
    Vast array of 3rd party libraries
  • 148
    Used for android
  • 60
    Compiled Language
  • 49
    Used for Web
  • 46
    Managed memory
  • 45
    High Performance
  • 44
    Native threads
  • 43
    Statically typed
  • 35
    Easy to read
  • 33
    Great Community
  • 29
    Reliable platform
  • 24
    Sturdy garbage collection
  • 24
    JVM compatibility
  • 21
    Cross Platform Enterprise Integration
  • 20
    Universal platform
  • 20
    Good amount of APIs
  • 18
    Great Support
  • 14
    Great ecosystem
  • 11
    Lots of boilerplate
  • 11
    Backward compatible
  • 10
    Everywhere
  • 9
    Excellent SDK - JDK
  • 7
    Static typing
  • 7
    It's Java
  • 6
    Better than Ruby
  • 6
    Portability
  • 6
    Mature language thus stable systems
  • 6
    Cross-platform
  • 6
    Long term language
  • 5
    Clojure
  • 5
    Used for Android development
  • 5
    Vast Collections Library
  • 4
    Most developers favorite
  • 4
    Old tech
  • 3
    Javadoc
  • 3
    History
  • 3
    Testable
  • 3
    Great Structure
  • 3
    Stable platform, which many new languages depend on
  • 3
    Best martial for design
  • 2
    Faster than python
  • 1
    Type Safe

Sign up to add or upvote prosMake informed product decisions

Cons of .NET
Cons of Java
  • 11
    C#
  • 11
    Too expensive to deploy and maintain
  • 7
    Microsoft dependable systems
  • 7
    Microsoft itself
  • 4
    Hard learning curve
  • 2
    Tight integration with visual studio
  • 1
    Not have a full fledged visual studio for linux
  • 32
    Verbosity
  • 27
    NullpointerException
  • 16
    Overcomplexity is praised in community culture
  • 14
    Nightmare to Write
  • 11
    Boiler plate code
  • 8
    Classpath hell prior to Java 9
  • 6
    No REPL
  • 4
    No property
  • 2
    Non-intuitive generic implementation
  • 2
    There is not optional parameter
  • 2
    Code are too long
  • 2
    Floating-point errors
  • 1
    Returning Wildcard Types
  • 1
    Java's too statically, stronglly, and strictly typed
  • 1
    Terrbible compared to Python/Batch Perormence

Sign up to add or upvote consMake informed product decisions

- No public GitHub repository available -

What is .NET?

.NET is a general purpose development platform. With .NET, you can use multiple languages, editors, and libraries to build native applications for web, mobile, desktop, gaming, and IoT for Windows, macOS, Linux, Android, and more.

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!

Jobs that mention .NET and Java as a desired skillset
CBRE
United States of America Texas Richardson
CBRE
United States of America Texas Richardson
CBRE
United Kingdom of Great Britain and Northern Ireland England London
CBRE
Poland Mazowieckie Warsaw
Pinterest
San Francisco, CA USA; Atlanta, GA USA; New York, NY USA; Seattle, WA USA
What companies use .NET?
What companies use Java?
See which teams inside your own company are using .NET or Java.
Sign up for StackShare EnterpriseLearn More

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

What tools integrate with .NET?
What tools integrate with Java?

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

Blog Posts

Git.NETCloudBees+3
6
970
Oct 24 2019 at 7:43PM

AppSignal

JavaScriptNode.jsJava+8
5
828
Aug 28 2019 at 3:10AM

Segment

PythonJavaAmazon S3+16
6
2308
What are some alternatives to .NET and Java?
ASP.NET
.NET is a developer platform made up of tools, programming languages, and libraries for building many different types of applications.
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.
PHP
Fast, flexible and pragmatic, PHP powers everything from your blog to the most popular websites in the world.
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.
Node.js
Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices.
See all alternatives