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

C#

29.4K
22.1K
+ 1
1.7K
Go

11.4K
9.6K
+ 1
3K
Add tool

C# vs Go: What are the differences?

C#: Simple, general-purpose, object-oriented programming language for the .NET platform. 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; Go: An open source programming language that makes it easy to build simple, reliable, and efficient software. Go is expressive, concise, clean, and efficient. Its concurrency mechanisms make it easy to write programs that get the most out of multicore and networked machines, while its novel type system enables flexible and modular program construction. Go compiles quickly to machine code yet has the convenience of garbage collection and the power of run-time reflection. It's a fast, statically typed, compiled language that feels like a dynamically typed, interpreted language.

C# and Go can be primarily classified as "Languages" tools.

"Cool syntax", "Great lambda support" and "Great generics support" are the key factors why developers consider C#; whereas "High-performance", "Simple, minimal syntax" and "Fun to write" are the primary reasons why Go is favored.

Go is an open source tool with 60.4K GitHub stars and 8.36K GitHub forks. Here's a link to Go's open source repository on GitHub.

According to the StackShare community, C# has a broader approval, being mentioned in 697 company stacks & 1163 developers stacks; compared to Go, which is listed in 901 company stacks and 606 developer stacks.

Decisions about C# and Go
Kirill Mikhailov

Go is a way faster than both Python and PHP, which is pretty understandable, but we were amazed at how good we adapted to use it. Go was a blessing for a team , since strict typing is making it very easy to develop and control everything inside team, so the quality was really good. We made huge leap forward in dev speed because of it.

See more
Chose
GoGo
over
RustRustPythonPython

Context: Writing an open source CLI tool.

Go and Rust over Python: Simple distribution.

With Go and Rust, just build statically compiled binaries and hand them out.

With Python, have people install with "pip install --user" and not finding the binaries :(.

Go and Rust over Python: Startup and runtime performance

Go and Rust over Python: No need to worry about which Python interpreter version is installed on the users' machines.

Go over Rust: Simplicity; Rust's memory management comes at a development / maintenance cost.

Go over Rust: Easier cross compiles from macOS to Linux.

See more
Ing. Alvaro Rodr铆guez Scelza
Software Systems Engineer at Ripio | 11 upvotes 路 47.6K 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
Pros of C#
Pros of Go
  • 319
    Cool syntax
  • 268
    Great lambda support
  • 243
    Great generics support
  • 187
    Language integrated query (linq)
  • 161
    Extension methods
  • 76
    Properties with get/set methods
  • 75
    Automatic garbage collection
  • 69
    Backed by microsoft
  • 57
    Automatic memory management
  • 53
    Amaizing Crossplatform Support
  • 28
    High performance
  • 27
    Beautiful
  • 24
    LINQ
  • 21
    Great ecosystem of community packages with Nuget
  • 18
    Vibrant developer community
  • 13
    Dead-simple asynchronous programming with async/await
  • 12
    Great readability
  • 9
    Strongly typed by default, dynamic typing when needed
  • 8
    Productive
  • 7
    Easy separation of config/application code
  • 7
    Visual Studio - Great IDE
  • 6
    Open source
  • 6
    Object oriented programming paradigm
  • 5
    Events management using delegates
  • 5
    OOPS simplified with great syntax
  • 5
    Operator overloading
  • 4
    Conditional compilation
  • 3
    Organized and clean
  • 3
    High-performance
  • 3
    Coherent language backed by an extensive CLR
  • 3
    Cool
  • 3
    Comprehensive platform libraries
  • 3
    Great community
  • 3
    Good language to teach OO concepts
  • 2
    Linq expressions
  • 2
    Top level code
  • 2
    Concise syntax, productivity designed
  • 2
    Unity
  • 1
    Lovely
  • 1
    Interfaces
  • 0
    Interfaces
  • 511
    High-performance
  • 375
    Simple, minimal syntax
  • 343
    Fun to write
  • 289
    Easy concurrency support via goroutines
  • 261
    Fast compilation times
  • 183
    Goroutines
  • 173
    Statically linked binaries that are simple to deploy
  • 144
    Simple compile build/run procedures
  • 129
    Backed by google
  • 125
    Great community
  • 46
    Garbage collection built-in
  • 40
    Built-in Testing
  • 36
    Excellent tools - gofmt, godoc etc
  • 33
    Elegant and concise like Python, fast like C
  • 28
    Awesome to Develop
  • 22
    Flexible interface system
  • 21
    Used for Docker
  • 21
    Great concurrency pattern
  • 18
    Deploy as executable
  • 17
    Open-source Integration
  • 14
    Fun to write and so many feature out of the box
  • 11
    Its Simple and Heavy duty
  • 11
    Easy to read
  • 10
    Powerful and simple
  • 9
    Go is God
  • 9
    Safe GOTOs
  • 9
    Easy to deploy
  • 7
    Hassle free deployment
  • 7
    Rich standard library
  • 7
    Concurrency
  • 7
    Best language for concurrency
  • 7
    Easy setup
  • 6
    Used by Giants of the industry
  • 6
    Simplicity, Concurrency, Performance
  • 6
    Clean code, high performance
  • 6
    High performance
  • 6
    Single binary avoids library dependency issues
  • 5
    Simple, powerful, and great performance
  • 5
    Cross compiling
  • 4
    Garbage Collection
  • 4
    Excellent tooling
  • 4
    Very sophisticated syntax
  • 4
    Gofmt
  • 4
    WYSIWYG
  • 3
    Kubernetes written on Go
  • 2
    Keep it simple and stupid
  • 1
    Widely used
  • 0
    No generics
  • 0
    Operator goto

Sign up to add or upvote prosMake informed product decisions

Cons of C#
Cons of Go
  • 11
    Poor x-platform GUI support
  • 6
    Closed source
  • 6
    Requires DllImportAttribute for getting stuff from unma
  • 5
    Fast and secure
  • 38
    You waste time in plumbing code catching errors
  • 23
    Verbose
  • 22
    Packages and their path dependencies are braindead
  • 15
    Dependency management when working on multiple projects
  • 12
    Google's documentations aren't beginer friendly
  • 10
    Automatic garbage collection overheads
  • 7
    Uncommon syntax
  • 6
    Type system is lacking (no generics, etc)
  • 2
    Collection framework is lacking (list, set, map)

Sign up to add or upvote consMake informed product decisions

- No public GitHub repository available -

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

What is Go?

Go is expressive, concise, clean, and efficient. Its concurrency mechanisms make it easy to write programs that get the most out of multicore and networked machines, while its novel type system enables flexible and modular program construction. Go compiles quickly to machine code yet has the convenience of garbage collection and the power of run-time reflection. It's a fast, statically typed, compiled language that feels like a dynamically typed, interpreted language.

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

What companies use C#?
What companies use Go?

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

What tools integrate with C#?
What tools integrate with Go?

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

Blog Posts

Dec 8 2020 at 5:50PM
https://img.stackshare.io/company/93/8a444d2b7ec5dd7a4f3fc1819136e05178b964c8.png logo

DigitalOcean

GitHubMySQLMongoDB+11
2
1475
Nov 20 2019 at 3:38AM
https://img.stackshare.io/stack/517248/default_4bf5f3d2d3ef627f563fd3b2e94dee6cc37a38d6.jpg logo

OneSignal

PostgreSQLRedisRuby+8
7
3615
Oct 3 2019 at 7:13PM
https://img.stackshare.io/stack/511159/default_5f04358e03a27bf2607a39dd9b409dd7830ce4d3.png logo

Ably Realtime

JavaScriptPythonNode.js+8
4
3122
Jun 26 2018 at 3:26AM
https://img.stackshare.io/stack/325466/default_06cecdd7cb3f11903cc5a8af0677b9b393889e67.png logo

Twilio SendGrid

GitHubDockerKafka+10
11
8965
GitHubPythonReact+42
46
38535
What are some alternatives to C# and Go?
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.
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.
PHP
Fast, flexible and pragmatic, PHP powers everything from your blog to the most popular websites in the world.
HTML5
HTML5 is a core technology markup language of the Internet used for structuring and presenting content for the World Wide Web. As of October 2014 this is the final and complete fifth revision of the HTML standard of the World Wide Web Consortium (W3C). The previous version, HTML 4, was standardised in 1997.
See all alternatives
Interest over time