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

.NET

6.3K
5.3K
+ 1
1.8K
Scala

9.7K
7.3K
+ 1
1.5K
Add tool

.NET vs Scala: What are the differences?

What is .NET? 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.

What is Scala? A pure-bred object-oriented language that runs on the JVM. Scala is an acronym for “Scalable Language”. This means that Scala grows with you. You can play with it by typing one-line expressions and observing the results. But you can also rely on it for large mission critical systems, as many companies, including Twitter, LinkedIn, or Intel do. To some, Scala feels like a scripting language. Its syntax is concise and low ceremony; its types get out of the way because the compiler can infer them.

.NET belongs to "Frameworks (Full Stack)" category of the tech stack, while Scala can be primarily classified under "Languages".

"Tight integration with visual studio", "Stable code" and "Great community" are the key factors why developers consider .NET; whereas "Static typing", "Jvm" and "Pattern-matching" are the primary reasons why Scala is favored.

.NET and Scala are both open source tools. Scala with 11.8K GitHub stars and 2.75K forks on GitHub appears to be more popular than .NET with 11.2K GitHub stars and 2.41K GitHub forks.

According to the StackShare community, .NET has a broader approval, being mentioned in 1566 company stacks & 239 developers stacks; compared to Scala, which is listed in 437 company stacks and 324 developer stacks.

Advice on .NET and Scala
Needs advice
on
C#C#.NET.NET
and
.NET Core.NET Core

I have to write an application for a Windows Server that either runs on a scheduled task or can run on a Windows server and triggered by a webhook. What other .NET project types or methods within a project can I do this with?

I know I could probably host an API on IIS on the Windows server and do it that way, but all my APIs are in Azure App service, and this has to integrate with the Windows desktop application.

See more
Replies (2)
Recommends
on
Azure FunctionsAzure Functions

What you mean integrate on "all my APIs are in Azure App service and this has to integrate with Windows desktop application.". Try to explain a little bit what's your requirements.

If you want to Read/Write a SQL DB on premises, you can use a Azure Gateway without deploy anything in your server, another choice with SQL Server is to move the DB to Azure (if supported). You can use the triggers on Azure Functions to write/read something on Azure Storage, from your Server you can read the storage and perform some tasks. As you can see there are multiple choice without writing much code on premises, try to clarify your requirements.

See more
Recommends
on
C#C#.NET Core.NET Core

It all depends on your use case. You mentioning "scheduled task" appears you want to use a Worker Service

If you want to trigger your actions you can host a webapi, too.

Bottomline: Both use cases suffice your needs so your course depends on where you want to "control" your app ( set delay, maybe sometimes start the action manually ). WorkerService -> Config file on the host Api -> Configure from client

See more
Needs advice
on
GolangGolangNode.jsNode.js
and
ScalaScala

Finding the best server-side tool for building a personal information organizer that focuses on performance, simplicity, and scalability.

performance and scalability get a prototype going fast by keeping codebase simple find hosting that is affordable and scales well (Java/Scala-based ones might not be affordable)

See more
Replies (1)
David Annez
Head of Engineering at loveholidays · | 4 upvotes · 254.4K views
Recommends
on
Node.jsNode.js
at

I've picked Node.js here but honestly it's a toss up between that and Go around this. It really depends on your background and skillset around "get something going fast" for one of these languages. Based on not knowing that I've suggested Node because it can be easier to prototype quickly and built right is performant enough. The scaffolding provided around Node.js services (Koa, Restify, NestJS) means you can get up and running pretty easily. It's important to note that the tooling surrounding this is good also, such as tracing, metrics et al (important when you're building production ready services).

You'll get more scalability and perf from go, but balancing them out I would say that you'll get pretty far with a well built Node.JS service (our entire site with over 1.5k requests/m scales easily and holds it's own with 4 pods in production.

Without knowing the scale you are building for and the systems you are using around it it's hard to say for certain this is the right route.

See more
Decisions about .NET and Scala
Ing. Alvaro Rodríguez Scelza
Software Systems Engineer at Ripio · | 12 upvotes · 305.8K views

I was considering focusing on learning RoR and looking for a work that uses those techs.

After some investigation, I decided to stay with C# .NET:

  • It is more requested on job positions (7 to 1 in my personal searches average).

  • It's been around for longer.

  • it has better documentation and community.

  • One of Ruby advantages (its amazing community gems, that allows to quickly build parts of your systems by merely putting together third party components) gets quite complicated to use and maintain in huge applications, where building and reusing your own components may become a better approach.

  • Rail's front end support is starting to waver.

  • C# .NET code is far easier to understand, debug and maintain. Although certainly not easier to learn from scratch.

  • Though Rails has an excellent programming speed, C# tends to get the upper hand in long term projects.

I would avise to stick to rails when building small projects, and switching to C# for more long term ones.

Opinions are welcome!

See more
Ing. Alvaro Rodríguez Scelza
Software Systems Engineer at Ripio · | 9 upvotes · 424.5K 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

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
Get Advice from developers at your company using StackShare Enterprise. Sign up for StackShare Enterprise.
Learn More
Pros of .NET
Pros of Scala
  • 271
    Tight integration with visual studio
  • 261
    Stable code
  • 188
    Great community
  • 181
    Reliable and strongly typed server side language.
  • 140
    Microsoft
  • 119
    Fantastic documentation
  • 89
    Great 3rd party libraries
  • 79
    Speedy
  • 71
    Great azure integration
  • 63
    Great support
  • 33
    Highly productive
  • 33
    C#
  • 33
    Linq
  • 30
    High Performance
  • 28
    Great programming languages (C#, VB)
  • 24
    Open source
  • 19
    Powerful Web application framework (ASP.NET MVC)
  • 16
    Clean markup with razor
  • 16
    Fast
  • 15
    Powerful ORM (EntityFramework)
  • 13
    Dependency injection
  • 10
    Constantly improving to keep up with new trends
  • 10
    Visual studio + Resharper = <3
  • 9
    High-Performance
  • 8
    TFS
  • 8
    Security
  • 7
    Job opportunities
  • 7
    Integrated and Reliable
  • 7
    Huge ecosystem and communities
  • 6
    Lovely
  • 6
    Light-weight
  • 5
    Asynchrony
  • 5
    Variations
  • 5
    {get; set;}
  • 4
    Scaffolding
  • 4
    Useful IoC
  • 4
    Concurrent
  • 4
    Entity framework
  • 4
    Support and SImplicity
  • 4
    Default Debuging tools
  • 3
    Blazor
  • 2
    F♯
  • 2
    F#
  • 2
    Nuget package manager
  • 186
    Static typing
  • 179
    Pattern-matching
  • 177
    Jvm
  • 172
    Scala is fun
  • 138
    Types
  • 95
    Concurrency
  • 88
    Actor library
  • 86
    Solve functional problems
  • 83
    Open source
  • 80
    Solve concurrency in a safer way
  • 44
    Functional
  • 24
    Fast
  • 23
    Generics
  • 18
    It makes me a better engineer
  • 17
    Syntactic sugar
  • 13
    Scalable
  • 10
    First-class functions
  • 10
    Type safety
  • 9
    Interactive REPL
  • 8
    Expressive
  • 7
    SBT
  • 6
    Implicit parameters
  • 6
    Case classes
  • 4
    Used by Twitter
  • 4
    JVM, OOP and Functional programming, and static typing
  • 4
    Rapid and Safe Development using Functional Programming
  • 4
    Object-oriented
  • 3
    Functional Proframming
  • 2
    Spark
  • 2
    Beautiful Code
  • 2
    Safety
  • 2
    Growing Community
  • 1
    DSL
  • 1
    Rich Static Types System and great Concurrency support
  • 1
    Naturally enforce high code quality
  • 1
    Akka Streams
  • 1
    Akka
  • 1
    Reactive Streams
  • 1
    Easy embedded DSLs
  • 1
    Mill build tool
  • 0
    Freedom to choose the right tools for a job

Sign up to add or upvote prosMake informed product decisions

Cons of .NET
Cons of Scala
  • 13
    C#
  • 11
    Too expensive to deploy and maintain
  • 7
    Microsoft dependable systems
  • 7
    Microsoft itself
  • 5
    Hard learning curve
  • 3
    Tight integration with visual studio
  • 2
    Not have a full fledged visual studio for linux
  • 11
    Slow compilation time
  • 7
    Multiple ropes and styles to hang your self
  • 6
    Too few developers available
  • 4
    Complicated subtyping
  • 2
    My coworkers using scala are racist against other stuff

Sign up to add or upvote consMake informed product decisions

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 Scala?

Scala is an acronym for “Scalable Language”. This means that Scala grows with you. You can play with it by typing one-line expressions and observing the results. But you can also rely on it for large mission critical systems, as many companies, including Twitter, LinkedIn, or Intel do. To some, Scala feels like a scripting language. Its syntax is concise and low ceremony; its types get out of the way because the compiler can infer them.

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

What companies use .NET?
What companies use Scala?
See which teams inside your own company are using .NET or Scala.
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 Scala?

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

Blog Posts

Git.NETCloudBees+3
6
1013
Aug 28 2019 at 3:10AM

Segment

PythonJavaAmazon S3+16
7
2432
DockerAmazon EC2Scala+8
6
2622
What are some alternatives to .NET and Scala?
ASP.NET
.NET is a developer platform made up of tools, programming languages, and libraries for building many different types of applications.
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!
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.
See all alternatives