C# vs. Go



Hacker News, Reddit, Stack Overflow Stats

  • -
  • 4.61K
  • 1
  • 10.3K
  • 8.54K
  • 36K

GitHub Stats

No public GitHub repository stats available

Description

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.

Want advice about which of these to choose?Ask the StackShare community!

Pros

Why do developers choose C#?
Why do you like C#?

Why do developers choose Go?
Why do you like Go?

Cons

What are the cons of using C#?
Downsides of C#?

What are the cons of using Go?
Downsides of Go?

Companies

What companies use C#?
854 companies on StackShare use C#
What companies use Go?
995 companies on StackShare use Go

Integrations

What tools integrate with C#?
14 tools on StackShare integrate with C#
What tools integrate with Go?
53 tools on StackShare integrate with Go

What are some alternatives to C# and Go?

  • JavaScript - Lightweight, interpreted, object-oriented language with first-class functions
  • PHP - A popular general-purpose scripting language that is especially suited to web development
  • HTML5 - 5th major revision of the core language of the World Wide Web
  • Python - Python is a clear and powerful object-oriented programming language, comparable to Perl, Ruby, Scheme, or Java.

See all alternatives to C#

Latest News

Go Modules in 2019
Go 2, here we come!
Nine years of Go
Related Stack Decisions
Thierry Schellenbach
Thierry Schellenbach
CEO at Stream | 19 upvotes 3416 views
atStream
Go
Cassandra
Python
#DataStores
#Databases

After years of optimizing our existing feed technology, we decided to make a larger leap with 2.0 of Stream. While the first iteration of Stream was powered by Python and Cassandra, for Stream 2.0 of our infrastructure we switched to Go.

The main reason why we switched from Python to Go is performance. Certain features of Stream such as aggregation, ranking and serialization were very difficult to speed up using Python.

We鈥檝e been using Go since March 2017 and it鈥檚 been a great experience so far. Go has greatly increased the productivity of our development team. Not only has it improved the speed at which we develop, it鈥檚 also 30x faster for many components of Stream. Initially we struggled a bit with package management for Go. However, using Dep together with the VG package contributed to creating a great workflow.

Go as a language is heavily focused on performance. The built-in PPROF tool is amazing for finding performance issues. Uber鈥檚 Go-Torch library is great for visualizing data from PPROF and will be bundled in PPROF in Go 1.10.

The performance of Go greatly influenced our architecture in a positive way. With Python we often found ourselves delegating logic to the database layer purely for performance reasons. The high performance of Go gave us more flexibility in terms of architecture. This led to a huge simplification of our infrastructure and a dramatic improvement of latency. For instance, we saw a 10 to 1 reduction in web-server count thanks to the lower memory and CPU usage for the same number of requests.

#DataStores #Databases

See more
Jake Stein
Jake Stein
CEO at Stitch | 13 upvotes 4387 views
atStitch
Go
Clojure
JavaScript
Python
Kubernetes
AWS OpsWorks
Amazon EC2
Amazon Redshift
Amazon S3
Amazon RDS

Stitch is run entirely on AWS. All of our transactional databases are run with Amazon RDS, and we rely on Amazon S3 for data persistence in various stages of our pipeline. Our product integrates with Amazon Redshift as a data destination, and we also use Redshift as an internal data warehouse (powered by Stitch, of course).

The majority of our services run on stateless Amazon EC2 instances that are managed by AWS OpsWorks. We recently introduced Kubernetes into our infrastructure to run the scheduled jobs that execute Singer code to extract data from various sources. Although we tend to be wary of shiny new toys, Kubernetes has proven to be a good fit for this problem, and its stability, strong community and helpful tooling have made it easy for us to incorporate into our operations.

While we continue to be happy with Clojure for our internal services, we felt that its relatively narrow adoption could impede Singer's growth. We chose Python both because it is well suited to the task, and it seems to have reached critical mass among data engineers. All that being said, the Singer spec is language agnostic, and integrations and libraries have been developed in JavaScript, Go, and Clojure.

See more
Abdullah Diaa
Abdullah Diaa
CTO at PushBots | 2 upvotes 3627 views
atPushBots
ES6
Go
Node.js
#Golang
#Node.js

We鈥檝e recently migrated our core service from Node.js to Golang. Despite recent major updates for #Node.js v10.x with ES6 and async/await, performance gain with golang still remains enormous. Also in terms of concurrency and scalability, golang excels.

See more


Interest Over Time