{"id":1995,"date":"2025-05-07T17:12:33","date_gmt":"2025-05-07T17:12:33","guid":{"rendered":"https:\/\/rssfeedtelegrambot.bnaya.co.il\/index.php\/2025\/05\/07\/why-we-built-our-startup-in-c\/"},"modified":"2025-05-07T17:12:33","modified_gmt":"2025-05-07T17:12:33","slug":"why-we-built-our-startup-in-c","status":"publish","type":"post","link":"https:\/\/rssfeedtelegrambot.bnaya.co.il\/index.php\/2025\/05\/07\/why-we-built-our-startup-in-c\/","title":{"rendered":"Why we built our startup in C#"},"content":{"rendered":"<p>This is a guest blog post by Sam Cox. Sam is the Co-Founder &amp; CTO of Tracebit.<\/p>\n<p>When we started building Tracebit \u2013 a B2B SaaS security product \u2013 one of my key early decisions was to pick a programming language. While many startups gravitate toward Python, TypeScript, Golang, or Rust, I went a different way: C#.<\/p>\n<p>I\u2019ve <a href=\"https:\/\/tracebit.com\/blog\/why-tracebit-is-written-in-c-sharp\">blogged<\/a> quite a bit about this decision before and I wanted to share a few highlights here.<\/p>\n<h2>Productivity First<\/h2>\n<p>I think a stack which lets you spend time on what actually matters is the core of a great developer experience. I wanted:<\/p>\n<p>an expressive, fully-featured language which would let us quickly test and refine ideas<br \/>\nthe assurance offered by static types when maintaining and refactoring code<br \/>\na stable platform that would still work well as our team and codebase grew<\/p>\n<p>C# has allowed us to be highly productive from the earliest days and it feels like a really solid foundation to build on.<\/p>\n<h2>Modern, Open &amp; Cross-Platform<\/h2>\n<p>I was pleasantly surprised to find that .NET is now fully open source and MIT-licensed. The cross-platform support lets us develop on MacBooks, and deploy to Linux containers on ARM cores. Microsoft\u2019s <a href=\"https:\/\/devblogs.microsoft.com\/dotnet\/announcing-dotnet-chiseled-containers\/\">\u201cchiseled\u201d container images<\/a> are a nice touch too, giving us a lean deployment option which minimizes CVE management.<\/p>\n<h2>Popularity<\/h2>\n<p>\n<em>Stack Overflow Developer Survey 2024<\/em><\/p>\n<p>C# consistently ranks as a highly popular programming language, though perhaps without generating the buzz that some other languages might \u2013 especially among startups! This established presence gives us real advantages:<\/p>\n<p>A great talent pool from which to hire<br \/>\nPlenty of world-class libraries at our fingertips<br \/>\nLots of documentation and examples when needed<br \/>\nWell-traveled paths with fewer unexpected roadblocks<\/p>\n<h2>Rich Standard Library<\/h2>\n<p>The .NET ecosystem comes with quality libraries for just about everything we\u2019ve needed. Along with the usual suspects (collections, JSON processing, etc), <a href=\"https:\/\/learn.microsoft.com\/ef\/\">Entity Framework<\/a> and <a href=\"https:\/\/dotnet.microsoft.com\/apps\/aspnet\">ASP.NET<\/a> stand out as excellent frameworks in which to build.<\/p>\n<p>This has been particularly valuable for us as a security product. We have high standards for dependencies, and having so many trusted and well-maintained components available has saved us a lot of time!<\/p>\n<h2>Expressive language features<\/h2>\n\n<p>C# as a language has many nice features, such as LINQ, pattern-matching, anonymous functions, primary constructors and null-coalescing operators that make it both expressive and succinct. I\u2019ve honestly found it a pleasure to read and write.<\/p>\n<p>When it comes to the type system, I think C# has found a really nice balance \u2013 it\u2019s powerful without feeling overly complex. I particularly like the support for generics, record types, and reflection.<\/p>\n<h2>Great Tooling<\/h2>\n<p>The development ecosystem offers some excellent tools:<\/p>\n<p>Powerful IDEs with great debugging and refactoring support<br \/>\nGreat static analyzers that will often suggest fixes automatically<br \/>\nSophisticated tooling for memory profiling and runtime diagnostics<\/p>\n<p>These make it a joy to work with the language, and help avoid nasty surprises in production.<\/p>\n<h2>It\u2019s Fast<\/h2>\n\n<p>While performance wasn\u2019t our main reason for choosing C#, it\u2019s certainly a nice advantage. It\u2019s clearly a priority for the .NET team and each release brings <a href=\"https:\/\/devblogs.microsoft.com\/dotnet\/performance-improvements-in-net-9\">meaningful performance improvements<\/a>. We process a lot of data on behalf of our customers and I\u2019ve been very impressed by the throughput we\u2019ve been able to achieve with simple and idiomatic C# \u2013 while still offering many options to optimize hot code paths if necessary.<\/p>\n<h2>How It\u2019s Going<\/h2>\n<p>After thousands of commits and over 100,000 lines of code, I\u2019m very happy with our choice. We\u2019ve brought on team members who had never used C# before, and everyone\u2019s become productive surprisingly quickly \u2013 shipping code to production on their first day.<\/p>\n<p>No programming language is perfect for every situation, and what works for us might not work for everyone. But C# has been a key part of Tracebit\u2019s success so far. If you\u2019ve overlooked C# based on outdated perceptions (like I almost did), I\u2019d definitely recommend taking a closer look!<\/p>\n<p>The post <a href=\"https:\/\/devblogs.microsoft.com\/dotnet\/why-we-built-our-startup-in-csharp\/\">Why we built our startup in C#<\/a> appeared first on <a href=\"https:\/\/devblogs.microsoft.com\/dotnet\">.NET Blog<\/a>.<\/p>","protected":false},"excerpt":{"rendered":"<p>This is a guest blog post by Sam Cox. Sam is the Co-Founder &amp; CTO of Tracebit. When we started [&hellip;]<\/p>\n","protected":false},"author":0,"featured_media":0,"comment_status":"","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[7],"tags":[],"class_list":["post-1995","post","type-post","status-publish","format-standard","hentry","category-dotnet"],"_links":{"self":[{"href":"https:\/\/rssfeedtelegrambot.bnaya.co.il\/index.php\/wp-json\/wp\/v2\/posts\/1995","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/rssfeedtelegrambot.bnaya.co.il\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/rssfeedtelegrambot.bnaya.co.il\/index.php\/wp-json\/wp\/v2\/types\/post"}],"replies":[{"embeddable":true,"href":"https:\/\/rssfeedtelegrambot.bnaya.co.il\/index.php\/wp-json\/wp\/v2\/comments?post=1995"}],"version-history":[{"count":0,"href":"https:\/\/rssfeedtelegrambot.bnaya.co.il\/index.php\/wp-json\/wp\/v2\/posts\/1995\/revisions"}],"wp:attachment":[{"href":"https:\/\/rssfeedtelegrambot.bnaya.co.il\/index.php\/wp-json\/wp\/v2\/media?parent=1995"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rssfeedtelegrambot.bnaya.co.il\/index.php\/wp-json\/wp\/v2\/categories?post=1995"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rssfeedtelegrambot.bnaya.co.il\/index.php\/wp-json\/wp\/v2\/tags?post=1995"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}