Application and Data / Languages & Frameworks / Languages

Decision at Soluto about Docker Swarm, Kubernetes, Visual Studio Code, Go, TypeScript, JavaScript, C#, F#, .NET

Avatar of Yshayy
Software Engineer ·

Our first experience with .NET core was when we developed our OSS feature management platform - Tweek (https://github.com/soluto/tweek). We wanted to create a solution that is able to run anywhere (super important for OSS), has excellent performance characteristics and can fit in a multi-container architecture. We decided to implement our rule engine processor in F# , our main service was implemented in C# and other components were built using JavaScript / TypeScript and Go.

Visual Studio Code worked really well for us as well, it worked well with all our polyglot services and the .Net core integration had great cross-platform developer experience (to be fair, F# was a bit trickier) - actually, each of our team members used a different OS (Ubuntu, macos, windows). Our production deployment ran for a time on Docker Swarm until we've decided to adopt Kubernetes with almost seamless migration process.

After our positive experience of running .Net core workloads in containers and developing Tweek's .Net services on non-windows machines, C# had gained back some of its popularity (originally lost to Node.js), and other teams have been using it for developing microservices, k8s sidecars (like https://github.com/Soluto/airbag), cli tools, serverless functions and other projects...

25 upvotes·2 comments·74.6K views

Decision at Config Cat about .NET, MySQL, Visual Studio Code, Angular 2, C#, TypeScript, Linode, Frontend, Backend, Configcat

Avatar of ConfigCat
ConfigCat ·

When designing the architecture for #Configcat , we were dreaming of a system that runs on a small scale on low-cost infrastructure at the beginning and scales well later on when the requirements change. Should be platform independent, high performing and robust at the same time. Since most of our team were born and raised using Microsoft's enterprise-grade technologies in the last decade, we wanted to build on that experience. Finding the best solution was quite challenging. Finally, we came up with the idea of a .NET Core backend because it runs on all platforms highly scalable and we could start up with 5$ Linode Linux server. As a #frontend framework, we have chosen Angular mostly because of TypeScript which felt familiar and was easy to get used to after strongly typed languages like C# and the community support behind Angular 2 is awesome. Visual Studio Code makes the coding sessions with Live Share great fun and very productive. MySQL as a database is again is very affordable in the beginning, performs great a scales well and integrates with .NET Core's Entity Framework super easy.

11 upvotes·11.2K views

Decision at Uber Technologies about Apache Spark, C#, OpenShift, JavaScript, Kubernetes, C++, Go, Node.js, Java, Python, Jaeger

Avatar of conor
Tech Brand Mgr, Office of CTO at Uber ·

How Uber developed the open source, end-to-end distributed tracing Jaeger , now a CNCF project:

Distributed tracing is quickly becoming a must-have component in the tools that organizations use to monitor their complex, microservice-based architectures. At Uber, our open source distributed tracing system Jaeger saw large-scale internal adoption throughout 2016, integrated into hundreds of microservices and now recording thousands of traces every second.

Here is the story of how we got here, from investigating off-the-shelf solutions like Zipkin, to why we switched from pull to push architecture, and how distributed tracing will continue to evolve:


(GitHub Pages : https://www.jaegertracing.io/, GitHub: https://github.com/jaegertracing/jaeger)

Bindings/Operator: Python Java Node.js Go C++ Kubernetes JavaScript OpenShift C# Apache Spark

10 upvotes·1 comment·163.7K views

Decision about C#, Java, JavaScript, ClojureScript, Clojure

Avatar of green-coder

I adopted Clojure and ClojureScript because:

  • it's 1 language, multiple platforms.
  • Simple syntax.
  • Designed to avoid unwanted side effects and bugs.
  • Immutable data-structures.
  • Compact code, very expressive.
  • Source code is data.
  • It has super-flexible macro.
  • Has metadata.
  • Interoperability with JavaScript, Java and C#.
6 upvotes·4.4K views

Decision about Visual Studio, Java, C#

Avatar of MarkusReynolds1989

I use C# because it is incredibly clear and easy to use. The documentation is second to none, being a Microsoft product, and if you just want something that works without exploring a million frameworks and libraries you can pretty much start a C# website and have it running in an hour. C# is basically, in my opinion, a cleaner and easier to use Java. My experience is limited to web design, however. It might come down to personal opinion but I wouldn't even know where to start writing a java back end website but visual studio makes it very easy to write it in C#. If you are new to full stack development I can't recommend Visual Studio enough. It does, however, hide away a lot of abstraction that programmers much more clever than me use to make really interesting websites and server setups. C# will do everything you need to create any website you can imagine, though.

Before I end my rant about how much I love this language I'd like to reiterate how easy it is to figure out problems you encounter. I was stuck on how to store a path string in a database and found the solution by browsing the documentation for 2 minutes, which included examples. Every ASP element is clearly and wonderfully documented.

5 upvotes·4.5K views

Decision about C#

Avatar of MarkusReynolds1989
I use C# because it's an elegant and easy to use server language. Visual studio has a lot of built in functionality that you don't have to think about. If you compare it to something like Java they are very similar and it might come down to preference, but I find that C# is a much more user friendly, and more pleasing to look at, language.
5 upvotes·2.2K views

Decision about Kubernetes, Docker, C#, F#, .NET

Avatar of dustinmoris

I've used .NET for many years, but only in recent years, after Microsoft introduced .NET Core, I've found a new love and excitement for the technology again. The main driver for us using .NET Core is not that it is cross platform compatible, open source or blazingly fast (which it is!), but the fact that we can use (what we consider) the best programming languages (mainly F# and C#) to carry out our jobs without sacrificing the other benefits.

Today we run most of our web infrastructure on .NET Core in Docker containers, deployed into a Kubernetes cluster which spans across multiple time zones in the Google Cloud and we couldn't be happier. Due to the portability of the .NET Core platform we are even able to develop many new services as serverless functions with F# which has become an absolute game changer.

4 upvotes·16.2K views

Decision about C#

Avatar of kant2002
Sr. Software developer ·

I use C# because it has enterprise loving ecosystem, which allows write code and not think too much about updating it. As language itself, I start using it when it comes out, and it was easier for me to use as beginner, instead of C++. After that it slowly moving to the C++ direction, but I already know it, and it has Visual Studio which significantly favor in C# selection. I'm big fan of IDE-supported refactoring across whole software systems, and only VS and Idea gives me that tooling.

4 upvotes·990 views

Decision about C#

Avatar of athanasiosem
Team Lead, Web / Software Developer at Grekodom Development ·

I use C# because it simple, elegant, easy to read, easy to understand and easy to learn. It is a compiled language which makes it a lot faster than interpreted languages. There is a big community around C# which means a developer can find whatever information he wants. Moreover, tools like Visual Studio makes you work with C# very easily. Last but not least, it is backed up by Microsoft.

4 upvotes·889 views

Decision at Plastic SCM about Intercom, Segment, Amplitude, C#, .NET, Plastic SCM, VersionControlSystem

Avatar of MordodeMaru
PM at Códice Software ·

I use Plastic SCM because I can handle, via Gluon, non-text or non-code assets in the same repo as the programmers I work with, regardless of the size, if I have to lock those or files or anything. It is a point and click interface that keeps version control for me in the background will keeping me away from all its complexities. It's the perfect #VersionControlSystem to do distributed or centralized version control when you don't like any of those.

Plastic SCM is built using .NET, C# and Mono. In Product we decided to go for Amplitude and Segment to track usage and monitor activation as well as Intercom to communicate news, updates and tips. The reasons to pick all of those are pretty similar: scalability and ease of use.

2 upvotes·5.6K views